<?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>227061</bug_id>
          
          <creation_ts>2021-06-16 02:42:26 -0700</creation_ts>
          <short_desc>Negative CSS outline-offset appears beneath scroll controls when async overflow scrolling is enabled</short_desc>
          <delta_ts>2023-06-09 10:12:54 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>http://wpt.live/css/css-ui/outline-negative-offset-composited-scroll.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar, WPTImpact</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>224596</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Lord">clord</reporter>
          <assigned_to name="Chris Lord">clord</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>bfulgham</cc>
    
    <cc>CatronRay1980</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1770128</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-16 02:42:26 -0700</bug_when>
    <thetext>As in the title, this is causing imported/w3c/web-platform-tests/css/css-ui/outline-negative-offset-composited-scroll.html to fail on WPE. Outlines should appear above the controls (and this is the case without async overflow scrolling, and in Chrome and Firefox).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770215</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-06-16 09:17:09 -0700</bug_when>
    <thetext>Ugh, this is going to require yet another GraphicsLayer above the scrollers. I&apos;m not sure it&apos;s worth paying the memory cost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770248</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-16 10:23:32 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #1)
&gt; Ugh, this is going to require yet another GraphicsLayer above the scrollers.
&gt; I&apos;m not sure it&apos;s worth paying the memory cost.

So I was thinking that in the case of a negative outline offset, in only that case we can require a foreground layer and draw it there?

If we wanted to get smart, I suppose we could check if the outline is opaque and use a clipping rect, but I think that&apos;s getting too smart...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770249</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-06-16 10:25:15 -0700</bug_when>
    <thetext>We can&apos;t use the existing m_foregroundLayer. We&apos;d need another layer that sits above the overflow container which in turn sits above any position:relative positive z-order descendants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770609</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 06:21:00 -0700</bug_when>
    <thetext>I have a patch for this that at least fixes the test, I&apos;m just trying to figure out how best to reparent the outline layer when necessary.

I&apos;m thinking that adding a clip layer to the overflow controls layer, placing scrollbars in that layer and placing the outline layer as a sibling after the clip layer would be the simplest solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770616</commentid>
    <comment_count>5</comment_count>
      <attachid>431659</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 06:55:58 -0700</bug_when>
    <thetext>Created attachment 431659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770617</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 06:57:47 -0700</bug_when>
    <thetext>This patch does as discussed, but may not be there yet - uploading it to see what EWS says. compositor tests will need rebaselining and I need to add a test specifically for this (though it is already tested in WPE via WPT).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770629</commentid>
    <comment_count>7</comment_count>
      <attachid>431663</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 07:53:17 -0700</bug_when>
    <thetext>Created attachment 431663
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770657</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 08:58:30 -0700</bug_when>
    <thetext>Starting to think that although it would add some small amount of complication, perhaps it&apos;s worth making this change in a way that the layer layout is only changed when an outline layer is required, to avoid the huge rebaselining of tests that will otherwise be required...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770670</commentid>
    <comment_count>9</comment_count>
      <attachid>431678</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 09:14:50 -0700</bug_when>
    <thetext>Created attachment 431678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770700</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-06-17 09:56:01 -0700</bug_when>
    <thetext>To be honest I&apos;m not sure this is worth fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770703</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 10:03:03 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #10)
&gt; To be honest I&apos;m not sure this is worth fixing.

I don&apos;t have very strong feelings about it, but given it&apos;s explicitly tested in WPT and the fix isn&apos;t hugely complicated, it seems worthwhile to me.

I (perhaps wrongly) assume the reason that other platforms don&apos;t test with async overflow always enabled is because of failures like this? It seems worthwhile to make async overflow scrolling have no effect on test outcomes, with the hope of eventually removing the option to disable it. A decent amount of sites are pretty poor experiences without it already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770708</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-06-17 10:09:35 -0700</bug_when>
    <thetext>What if the outline has outline-offset: -2px, outline-width: 4px?

This code really needs to follow RenderLayerCompositor::adjustOverflowScrollbarContainerLayers() and put yet another layer in the hierarchy z-ordered above the overflow controls layer. That code is already stupid complex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770711</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-17 10:14:13 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #12)
&gt; What if the outline has outline-offset: -2px, outline-width: 4px?
&gt; 
&gt; This code really needs to follow
&gt; RenderLayerCompositor::adjustOverflowScrollbarContainerLayers() and put yet
&gt; another layer in the hierarchy z-ordered above the overflow controls layer.
&gt; That code is already stupid complex.

That works with this patch, as far as I can see - in the case of outline with negative offset, this puts the overflow controls in a clipping layer inside the overflow control container and puts the outline as a sibling to that clipping layer inside the overflow control container. Do you have a specific test-case you&apos;re thinking of that might not work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770713</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-06-17 10:17:40 -0700</bug_when>
    <thetext>(In reply to Chris Lord from comment #13)
&gt; (In reply to Simon Fraser (smfr) from comment #12)
&gt; &gt; What if the outline has outline-offset: -2px, outline-width: 4px?
&gt; &gt; 
&gt; &gt; This code really needs to follow
&gt; &gt; RenderLayerCompositor::adjustOverflowScrollbarContainerLayers() and put yet
&gt; &gt; another layer in the hierarchy z-ordered above the overflow controls layer.
&gt; &gt; That code is already stupid complex.
&gt; 
&gt; That works with this patch, as far as I can see - in the case of outline
&gt; with negative offset, this puts the overflow controls in a clipping layer
&gt; inside the overflow control container and puts the outline as a sibling to
&gt; that clipping layer inside the overflow control container. Do you have a
&gt; specific test-case you&apos;re thinking of that might not work?

Oh I see, I thought your overflow controls layer was still clipping.

If we do this we should rename overflowContainerLayer, and figure out if there&apos;s any other content that needs to paint above scrollbars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771242</commentid>
    <comment_count>15</comment_count>
      <attachid>431841</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-21 02:45:03 -0700</bug_when>
    <thetext>Created attachment 431841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771257</commentid>
    <comment_count>16</comment_count>
      <attachid>431846</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-21 04:40:26 -0700</bug_when>
    <thetext>Created attachment 431846
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771634</commentid>
    <comment_count>17</comment_count>
      <attachid>431953</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-22 03:21:54 -0700</bug_when>
    <thetext>Created attachment 431953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771889</commentid>
    <comment_count>18</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-23 02:43:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/79657458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773379</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-29 04:22:07 -0700</bug_when>
    <thetext>The downside of rendering correctly here is that memory use will be increased when this situation is encountered. After some discussion, we want to get an idea of the possible impact of this patch, so I&apos;m going to manually audit some top sites.

I expect that this situation will rarely, if ever, be hit, but the web is a frequently surprising place... I&apos;ll update this bug with my findings once I&apos;m done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773412</commentid>
    <comment_count>20</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2021-06-29 08:48:22 -0700</bug_when>
    <thetext>I manually visited and browsed every safe-for-work site listed in this top-100 list of visited sites: https://www.rankranger.com/top-websites

By &apos;browsed&apos;, I mean if it was a search site, I did a search or two and scrolled around the results page, if it was a news site, I navigated to an article, etc. For social media sites where I had an account, I logged in and did a few random things.

Not a single site in this list ever activated this code-path. I also visited a crafted test page to make sure that my &apos;instrumentation&apos; (WTFLogAlways on overlay layer creation and size setting) worked, and indeed it did (note that it&apos;s outputting layout units, so the layer size it lists is actually 100x100 pixels).

You can see the log output here: https://paste.me/paste/c2f898e0-a8ea-4c30-6f14-fa76bdfebb57#61484298b65bfe74e7feb7dc0302034b5aa5bcd4f152f8973e6a178280c84aeb - search for &apos;XXX&apos; to see logging for overlay layers.

I believe that this patch will be pretty benign when it comes to real-world use.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431659</attachid>
            <date>2021-06-17 06:55:58 -0700</date>
            <delta_ts>2021-06-17 08:42:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227061-20210617145557.patch</filename>
            <type>text/plain</type>
            <size>24846</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZkNzFlZDQ3ZDQzOGUw
NzM0MmNhNGViMjk5NWQwM2Q3YWY5N2FkZC4uOGRjYWE0ZGNjOThhYjFjNzFkYzExODQ4ZDkwMWRk
YzkzNzkyYmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA2LTE3ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBOZWdhdGl2ZSBDU1Mgb3V0bGlu
ZS1vZmZzZXQgYXBwZWFycyBiZW5lYXRoIHNjcm9sbCBjb250cm9scyB3aGVuIGFzeW5jIG92ZXJm
bG93IHNjcm9sbGluZyBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjcwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGNvbXBvc2l0ZWQgc2Nyb2xsZWQgY29udGVudCBoYXMgYW4g
b3V0bGluZSB3aXRoIGEgbmVnYXRpdmUKKyAgICAgICAgb2Zmc2V0LCBkcmF3IHRoZSBvdXRsaW5l
IG9uIGEgc2VwYXJhdGUgbGF5ZXIgc28gdGhhdCBpdCBhcHBlYXJzIG92ZXIKKyAgICAgICAgb3Zl
cmZsb3cgY29udHJvbHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6On5SZW5kZXJMYXllckJh
Y2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVEZWJ1
Z0luZGljYXRvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0
cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxh
dGl2ZVRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVPdXRsaW5lTGF5ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJ
bnRvTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEZs
YWdzRm9yTGF5ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaDoKKwogMjAyMS0wNi0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gY2xhbmcgYW5hbHlzaXM6
IFVubG9ja2VkIGFjY2VzcyBpbiBJbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGM1
ZDFlMDhmZjg4NmI0MjFiMTgxMjViNjkzMzNjYjFjMDNmNjEwMzYuLjdkYjljMmM2ZjI4MWIyOGU3
ZDQwNzc4M2I2Njg1MzlkYjI3MWI2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMDM2LDYgKzEwMzYsNyBAQCBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQ
aGFzZSBwaGFzZSkKICAgICBzd2l0Y2ggKHBoYXNlKSB7CiAgICAgY2FzZSBHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZDogdHMgPDwgImJhY2tncm91bmQiOyBicmVhazsKICAg
ICBjYXNlIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kOiB0cyA8PCAiZm9y
ZWdyb3VuZCI7IGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91
dGxpbmU6IHRzIDw8ICJvdXRsaW5lIjsgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6TWFzazogdHMgPDwgIm1hc2siOyBicmVhazsKICAgICBjYXNlIEdyYXBoaWNz
TGF5ZXJQYWludGluZ1BoYXNlOjpDbGlwUGF0aDogdHMgPDwgImNsaXAtcGF0aCI7IGJyZWFrOwog
ICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHM6IHRz
IDw8ICJvdmVyZmxvdy1jb250ZW50cyI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDdjN2Q0ZmNjOWVkMjIzMGQ4NzA5
NWU2NzRlNTljMmQxNzU4NWQwNmEuLjUwZWQxMmI4ZGE3YjliNjJiMGE3ZDAzZDU3NzI0YTYzNTRh
MDgxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmgKQEAgLTcyMiw3ICs3MjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBjb25zdCBUeXBl
IG1fdHlwZTsKICAgICBDdXN0b21BcHBlYXJhbmNlIG1fY3VzdG9tQXBwZWFyYW5jZSB7IEN1c3Rv
bUFwcGVhcmFuY2U6Ok5vbmUgfTsKLSAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+IG1fcGFpbnRpbmdQaGFzZSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3Jl
Z3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCB9OworICAgIE9w
dGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gbV9wYWludGluZ1BoYXNlIHsgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlOjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSB9
OwogICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBtX2NvbnRlbnRzT3JpZW50
YXRpb24geyBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb246OlRvcERvd24gfTsgLy8g
YWZmZWN0cyBvcmllbnRhdGlvbiBvZiBsYXllciBjb250ZW50cwogCiAgICAgYm9vbCBtX2JlaW5n
RGVzdHJveWVkIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAppbmRleCAyYTQyMmVmM2ZhOTYxZjQxYmVkYzZiZmI3
YzBhYTUzYTZmOTU1ZjY5Li40NjNiZWZhY2U1ZWM3NmU3ZWFhYmNlNDY4YTI4MDZhNDk3OGE3Yjk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllckNsaWVudC5oCkBAIC00Nyw2ICs0Nyw3IEBAIGVudW0gY2xhc3MgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2UgewogICAgIE92ZXJmbG93Q29udGVudHMgICAgICA9IDEgPDwgNCwKICAg
ICBDb21wb3NpdGVkU2Nyb2xsICAgICAgPSAxIDw8IDUsCiAgICAgQ2hpbGRDbGlwcGluZ01hc2sg
ICAgID0gMSA8PCA2LAorICAgIE91dGxpbmUgICAgICAgICAgICAgICA9IDEgPDwgNwogfTsKIAog
ZW51bSBBbmltYXRlZFByb3BlcnR5SUQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggMWYxMWE5NzhlMzE1YmFkZDdhY2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4u
YTBmZDYwNzk2NTQyNzE3ZjhkNzM2ZjIwODgzOThkODllMTk0NDMyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zMjM3LDIxICszMjM3LDI0IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQs
IGNvbnN0IExheWVyUGFpbnRpCiAgICAgYm9vbCBpc1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCA9
IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3Np
dGluZ1Njcm9sbGluZ1BoYXNlKTsKICAgICBib29sIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdy
b3VuZCA9IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdD
b21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nQ29tcG9zaXRl
ZEJhY2tncm91bmQgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBh
aW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOworICAgIGJvb2wgaXNQYWludGluZ091
dGxpbmUgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5n
T3V0bGluZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA9IGxvY2FsUGFp
bnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRz
KTsKICAgICBib29sIGlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uID0gbG9jYWxQYWludEZsYWdzLmNv
bnRhaW5zKFBhaW50TGF5ZXJGbGFnOjpDb2xsZWN0aW5nRXZlbnRSZWdpb24pOwogCiAgICAgYm9v
bCBpc1NlbGZQYWludGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwogCiAg
ICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMgdG8gYmUgcGFpbnRlZCBldmVuIGlmIHdlIGhhdmUg
bm8gdmlzaWJsZSBjb250ZW50LiBBbHNvLAotICAgIC8vIHRoZSBvdXRsaW5lIGlzIHBhaW50ZWQg
aW4gdGhlIGJhY2tncm91bmQgcGhhc2UgZHVyaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgorICAg
IC8vIHRoZSBvdXRsaW5lIG1heSBiZSBwYWludGVkIGluIHRoZSBiYWNrZ3JvdW5kIHBoYXNlIGR1
cmluZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KICAgICAvLyBJZiBpdCB3ZXJlIHBhaW50ZWQgaW4g
dGhlIGZvcmVncm91bmQgcGhhc2UsIGl0IHdvdWxkIG1vdmUgd2l0aCB0aGUgc2Nyb2xsZWQKLSAg
ICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNjcm9sbGluZywgdGhlIG91dGxpbmUg
aXMgcGFpbnRlZCBpbiB0aGUKKyAgICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNj
cm9sbGluZywgdGhlIG91dGxpbmUgbWF5IGJlIHBhaW50ZWQgaW4gdGhlCiAgICAgLy8gZm9yZWdy
b3VuZCBwaGFzZS4gU2luY2Ugc2Nyb2xsZWQgY29udGVudHMgYXJlIG1vdmVkIGJ5IHJlcGFpbnRp
bmcgaW4gdGhpcwogICAgIC8vIGNhc2UsIHRoZSBvdXRsaW5lIHdvbid0IGdldCAnZHJhZ2dlZCBh
bG9uZycuCi0gICAgYm9vbCBzaG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVy
ICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVn
aW9uCisgICAgLy8gSW4gdGhlIGNhc2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxlZCBjb250ZW50IHdp
dGggb3ZlcmZsb3cgY29udHJvbHMsIGlmIHRoZQorICAgIC8vIG91dGxpbmUgaGFzIGEgbmVnYXRp
dmUgb2Zmc2V0LCBpdCBpcyBwYWludGVkIG9uIGEgc2VwYXJhdGUgbGF5ZXIuCisgICAgYm9vbCBz
aG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVyICYmIGlzUGFpbnRpbmdPdXRs
aW5lICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50
UmVnaW9uCiAgICAgICAgICYmIChyZW5kZXJlcigpLnZpZXcoKS5wcmludGluZygpIHx8IHJlbmRl
cmVyKCkudmlldygpLmhhc1JlbmRlcmVyc1dpdGhPdXRsaW5lKCkpCiAgICAgICAgICYmICgoaXNQ
YWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5k
KQotICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFpbnRpbmdD
b21wb3NpdGVkRm9yZWdyb3VuZCkpOworICAgICAgICB8fCAhaXNQYWludGluZ1Njcm9sbGluZ0Nv
bnRlbnQpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50ID0gbV9oYXNWaXNpYmxlQ29udGVu
dCAmJiBpc1NlbGZQYWludGluZ0xheWVyICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMg
JiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uOwogCiAgICAgaWYgKGxvY2FsUGFpbnRGbGFncy5j
b250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHkpICYmICFy
ZW5kZXJlcigpLmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlcigpLmlzRG9jdW1lbnRFbGVtZW50
UmVuZGVyZXIoKSkgewpAQCAtNTI0MCw2ICs1MjQzLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXI6Omhh
c1Zpc2libGVCb3hEZWNvcmF0aW9ucygpIGNvbnN0CiAgICAgcmV0dXJuIGhhc1Zpc2libGVCb3hE
ZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIHx8IChtX3Njcm9sbGFibGVBcmVhICYmIG1fc2Nyb2xs
YWJsZUFyZWEtPmhhc092ZXJmbG93Q29udHJvbHMoKSk7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXI6
Omhhc0luc2V0T3V0bGluZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHJlbmRlcmVyKCkuc3R5bGUo
KS5vdXRsaW5lT2Zmc2V0KCkgPCAwOworfQorCiBib29sIFJlbmRlckxheWVyOjppc1Zpc3VhbGx5
Tm9uRW1wdHkoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KiByZXF1ZXN0KSBjb25zdAogewogICAgIEFT
U0VSVCghbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDA1NmNmNTAzODE3MTBkYzRhMDMyOGU1MTBkYjAyZTkz
YTcyNjE2YS4uMTMwZjljZGMwYjgyOTRiOGI4ZGY3NTQ0MzAyNDMxZGYyMTEwNTAwZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTUzMSw3ICs1MzEsOCBAQCBwdWJs
aWM6CiAKICAgICBib29sIGhhc1Zpc2libGVCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIGNv
bnN0OwogICAgIGJvb2wgaGFzVmlzaWJsZUJveERlY29yYXRpb25zKCkgY29uc3Q7Ci0gICAgCisg
ICAgYm9vbCBoYXNJbnNldE91dGxpbmUoKSBjb25zdDsKKwogICAgIGJvb2wgYmVoYXZlc0FzRml4
ZWQoKSBjb25zdCB7IHJldHVybiBtX2JlaGF2ZXNBc0ZpeGVkOyB9CiAKICAgICBzdHJ1Y3QgUGFp
bnRlZENvbnRlbnRSZXF1ZXN0IHsKQEAgLTYyNCw3ICs2MjUsOCBAQCBwdWJsaWM6CiAgICAgICAg
IFBhaW50aW5nUm9vdEJhY2tncm91bmRPbmx5ICAgICAgICAgICAgPSAxIDw8IDExLAogICAgICAg
ICBQYWludGluZ1NraXBSb290QmFja2dyb3VuZCAgICAgICAgICAgID0gMSA8PCAxMiwKICAgICAg
ICAgUGFpbnRpbmdDaGlsZENsaXBwaW5nTWFza1BoYXNlICAgICAgICA9IDEgPDwgMTMsCi0gICAg
ICAgIENvbGxlY3RpbmdFdmVudFJlZ2lvbiAgICAgICAgICAgICAgICAgPSAxIDw8IDE0LAorICAg
ICAgICBQYWludGluZ091dGxpbmUgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAxNCwKKyAg
ICAgICAgQ29sbGVjdGluZ0V2ZW50UmVnaW9uICAgICAgICAgICAgICAgICA9IDEgPDwgMTUsCiAg
ICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxQYWludExheWVyRmxhZz4gcGFp
bnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdBbGxQaGFzZXNGbGFncygpIHsgcmV0dXJuIHsgUGFp
bnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UsIFBhaW50TGF5
ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlIH07IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBkZWE1
YzE1MzE3OTlhMzUxYjE4NGE0ZjFmY2NmZDRlYzVmMGIzMGU5Li40YmQ5MDhiMmUzNzEwNjY2NGQ1
NGY1YWJkN2JlZThkZWI5ODBkYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMjQ5LDYgKzI0OSw3IEBAIFJlbmRlckxheWVyQmFj
a2luZzo6flJlbmRlckxheWVyQmFja2luZygpCiAgICAgdXBkYXRlQ2hpbGRDbGlwcGluZ1N0cmF0
ZWd5KGZhbHNlKTsKICAgICB1cGRhdGVEZXNjZW5kYW50Q2xpcHBpbmdMYXllcihmYWxzZSk7CiAg
ICAgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAg
ICB1cGRhdGVPdXRsaW5lTGF5ZXIoZmFsc2UpOwogICAgIHVwZGF0ZUZvcmVncm91bmRMYXllcihm
YWxzZSk7CiAgICAgdXBkYXRlQmFja2dyb3VuZExheWVyKGZhbHNlKTsKICAgICB1cGRhdGVNYXNr
aW5nTGF5ZXIoZmFsc2UsIGZhbHNlKTsKQEAgLTQ2OCw2ICs0NjksMTEgQEAgdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZURlYnVnSW5kaWNhdG9ycyhib29sIHNob3dCb3JkZXIsIGJvb2wg
c2hvd1JlcGFpbnQKICAgICAgICAgICAgIGVudHJ5LmNsaXBwaW5nTGF5ZXItPnNldFNob3dEZWJ1
Z0JvcmRlcihzaG93Qm9yZGVyKTsKICAgICB9CiAKKyAgICBpZiAobV9vdXRsaW5lTGF5ZXIpIHsK
KyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dEZWJ1Z0JvcmRlcihzaG93Qm9yZGVyKTsK
KyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dSZXBhaW50Q291bnRlcihzaG93UmVwYWlu
dENvdW50ZXIpOworICAgIH0KKwogICAgIGlmIChtX2ZvcmVncm91bmRMYXllcikgewogICAgICAg
ICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd0RlYnVnQm9yZGVyKHNob3dCb3JkZXIpOwogICAg
ICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd1JlcGFpbnRDb3VudGVyKHNob3dSZXBhaW50
Q291bnRlcik7CkBAIC01OTMsNiArNTk5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRl
c3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgICAgIHJlbW92ZUNsaXBwaW5nU3RhY2tMYXllcnMo
Km1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllckFuY2VzdG9yQ2xpcHBpbmdTdGFjayk7CiAKICAg
ICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY29udGVudHNDb250YWlubWVudExh
eWVyKTsKKyAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fb3V0bGluZUxheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fZm9yZWdyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fYmFja2dyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY2hpbGRDb250YWlubWVu
dExheWVyKTsKQEAgLTg3MSw2ICs4NzgsOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlQWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKGNvbnN0IExheW91dFJlY3QmIGFicwogewog
ICAgIGF1dG8gc2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nID0gWyZdKGJvb2wgYWxsb3dE
ZXRhY2hpbmcpIHsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRBbGxvd3NCYWNraW5nU3Rv
cmVEZXRhY2hpbmcoYWxsb3dEZXRhY2hpbmcpOworICAgICAgICBpZiAobV9vdXRsaW5lTGF5ZXIp
CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNo
aW5nKGFsbG93RGV0YWNoaW5nKTsKICAgICAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKQogICAg
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldEFsbG93c0JhY2tpbmdTdG9yZURldGFjaGlu
ZyhhbGxvd0RldGFjaGluZyk7CiAgICAgICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKQEAgLTEw
MDEsNiArMTAxMCwxMCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQ29uZmlndXJh
dGlvbihjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdBbmNlcwogICAgIGlmICh1cGRhdGVP
dmVyZmxvd0NvbnRyb2xzTGF5ZXJzKHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCks
IHJlcXVpcmVzVmVydGljYWxTY3JvbGxiYXJMYXllcigpLCByZXF1aXJlc1Njcm9sbENvcm5lckxh
eWVyKCkpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwogCisgICAgLy8gT3V0
bGluZXMgd2l0aCBuZWdhdGl2ZSBvZmZzZXRzIG5lZWQgdG8gYXBwZWFyIGFib3ZlIHNjcm9sbCBV
SS4KKyAgICBpZiAodXBkYXRlT3V0bGluZUxheWVyKG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5l
ciAmJiBtX293bmluZ0xheWVyLmhhc0luc2V0T3V0bGluZSgpKSkKKyAgICAgICAgbGF5ZXJDb25m
aWdDaGFuZ2VkID0gdHJ1ZTsKKwogICAgIGlmIChsYXllckNvbmZpZ0NoYW5nZWQpCiAgICAgICAg
IHVwZGF0ZUludGVybmFsSGllcmFyY2h5KCk7CiAKQEAgLTE0MjcsOCArMTQ0MCwxMyBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoY29uc3QgUmVuZGVyTGF5ZXIqIGNv
bXBvc2l0ZWRBbmNlc3RvcikKICAgICAgICAgU25hcHBlZFJlY3RJbmZvIHNuYXBwZWRCb3hJbmZv
ID0gc25hcHBlZEdyYXBoaWNzTGF5ZXIoYm94T2Zmc2V0RnJvbUdyYXBoaWNzTGF5ZXIsIG92ZXJm
bG93Q29udHJvbHNCb3guc2l6ZSgpLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAKICAgICAgICAgbV9v
dmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5zZXRQb3NpdGlvbihzbmFwcGVkQm94SW5mby5tX3Nu
YXBwZWRSZWN0LmxvY2F0aW9uKCkpOwotICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWlu
ZXItPnNldFNpemUoc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5zaXplKCkpOwotICAgICAg
ICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPnNldE1hc2tzVG9Cb3VuZHModHJ1ZSk7Cisg
ICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRTaXplKHNuYXBw
ZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsKKworICAgICAgICBpZiAobV9vdXRsaW5l
TGF5ZXIpIHsKKyAgICAgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRQb3NpdGlvbigtc25hcHBl
ZEJveEluZm8ubV9zbmFwcGVkUmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgICAgIG1fb3V0bGlu
ZUxheWVyLT5zZXRTaXplKHByaW1hcnlHcmFwaGljc0xheWVyUmVjdC5zaXplKCkpOworICAgICAg
ICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihtX2dyYXBoaWNzTGF5
ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmICht
X2ZvcmVncm91bmRMYXllcikgewpAQCAtMTUwOCw3ICsxNTI2LDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OmFkanVzdE92ZXJmbG93Q29udHJvbHNQb3NpdGlvblJlbGF0aXZlVG9BbmNlc3Rv
cihjb25zdAogICAgIFNuYXBwZWRSZWN0SW5mbyBzbmFwcGVkQm94SW5mbyA9IHNuYXBwZWRHcmFw
aGljc0xheWVyKGJveE9mZnNldEZyb21HcmFwaGljc0xheWVyLCBvdmVyZmxvd0NvbnRyb2xzUmVj
dC5zaXplKCksIGRldmljZVNjYWxlRmFjdG9yKCkpOwogCiAgICAgbV9vdmVyZmxvd0NvbnRyb2xz
Q29udGFpbmVyLT5zZXRQb3NpdGlvbihzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LmxvY2F0
aW9uKCkpOwotICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+c2V0U2l6ZShzbmFwcGVk
Qm94SW5mby5tX3NuYXBwZWRSZWN0LnNpemUoKSk7CisgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ2xp
cHBpbmdNYXNrTGF5ZXItPnNldFNpemUoc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5zaXpl
KCkpOwogfQogCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0TG9jYXRpb25PZlNjcm9sbGVk
Q29udGVudHMoU2Nyb2xsT2Zmc2V0IHNjcm9sbE9mZnNldCwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlv
bkFjdGlvbiBzZXRPclN5bmMpCkBAIC0xNjUzLDE3ICsxNjcxLDIzIEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSgpCiAgICAgLy8gc2libGluZ3Mgb2Yg
dGhlIGNsaXBwaW5nIGxheWVyIGlmIHdlIGhhdmUgb25lLiBOb3JtYWwgY2hpbGRyZW4gb2YgdGhp
cyBsYXllciBhcmUgc2V0IGFzCiAgICAgLy8gY2hpbGRyZW4gb2YgdGhlIGNsaXBwaW5nIGxheWVy
LgogICAgIGlmIChtX292ZXJmbG93Q29udHJvbHNDb250YWluZXIpIHsKKyAgICAgICAgQVNTRVJU
KG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyKTsKKyAgICAgICAgbV9vdmVyZmxv
d0NvbnRyb2xzQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdN
YXNrTGF5ZXIpOworCiAgICAgICAgIGlmIChtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcikK
LSAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+YWRkQ2hpbGQoKm1fbGF5
ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9s
c0NsaXBwaW5nTWFza0xheWVyLT5hZGRDaGlsZCgqbV9sYXllckZvckhvcml6b250YWxTY3JvbGxi
YXIpOwogCiAgICAgICAgIGlmIChtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIpCi0gICAgICAg
ICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPmFkZENoaWxkKCptX2xheWVyRm9yVmVy
dGljYWxTY3JvbGxiYXIpOworICAgICAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdN
YXNrTGF5ZXItPmFkZENoaWxkKCptX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIpOwogCiAgICAg
ICAgIGlmIChtX2xheWVyRm9yU2Nyb2xsQ29ybmVyKQotICAgICAgICAgICAgbV9vdmVyZmxvd0Nv
bnRyb2xzQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXllckZvclNjcm9sbENvcm5lcik7CisgICAg
ICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllci0+YWRkQ2hpbGQoKm1f
bGF5ZXJGb3JTY3JvbGxDb3JuZXIpOwogCiAgICAgICAgIC8vIG1fb3ZlcmZsb3dDb250cm9sc0Nv
bnRhaW5lciBtYXkgZ2V0IHJlcGFyZW50ZWQgbGF0ZXIuCiAgICAgICAgIG1fZ3JhcGhpY3NMYXll
ci0+YWRkQ2hpbGQoKm1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lcik7CisKKyAgICAgICAgaWYg
KG1fb3V0bGluZUxheWVyKQorICAgICAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVy
LT5hZGRDaGlsZCgqbV9vdXRsaW5lTGF5ZXIpOwogICAgIH0KIH0KIApAQCAtMTcyMyw2ICsxNzQ3
LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudChQYWludGVk
Q29udGVudHNJbmZvJiBjb250ZW50c0luZm8pCiAgICAgfSBlbHNlCiAgICAgICAgIG1fZ3JhcGhp
Y3NMYXllci0+c2V0U3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dChtX3BhaW50c1N1YnBp
eGVsQW50aWFsaWFzZWRUZXh0KTsKIAorICAgIGlmIChtX291dGxpbmVMYXllcikKKyAgICAgICAg
bV9vdXRsaW5lTGF5ZXItPnNldERyYXdzQ29udGVudChoYXNQYWludGVkQ29udGVudCk7CisKICAg
ICBpZiAobV9iYWNrZ3JvdW5kTGF5ZXIpCiAgICAgICAgIG1fYmFja2dyb3VuZExheWVyLT5zZXRE
cmF3c0NvbnRlbnQobV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3JvdW5kID8g
aGFzUGFpbnRlZENvbnRlbnQgOiBjb250ZW50c0luZm8ucGFpbnRzQm94RGVjb3JhdGlvbnMoKSk7
CiB9CkBAIC0yMDk5LDYgKzIxMjYsMTYgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZU92ZXJmbG93Q29udHJvbHNMYXllcnMoYm9vbCBuZWVkc0hvcml6b250YWxTY3JvbGwKICAgICB9
OwogCiAgICAgYm9vbCBsYXllcnNDaGFuZ2VkID0gY3JlYXRlT3JEZXN0cm95TGF5ZXIobV9vdmVy
Zmxvd0NvbnRyb2xzQ29udGFpbmVyLCBuZWVkc0hvcml6b250YWxTY3JvbGxiYXJMYXllciB8fCBu
ZWVkc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIgfHwgbmVlZHNTY3JvbGxDb3JuZXJMYXllciwgZmFs
c2UsICJvdmVyZmxvdyBjb250cm9scyBjb250YWluZXIiKTsKKyAgICBpZiAobV9vdmVyZmxvd0Nv
bnRyb2xzQ29udGFpbmVyICYmICFtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcikg
eworICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA9IGNyZWF0ZUdy
YXBoaWNzTGF5ZXIoIm92ZXJmbG93IGNvbnRyb2xzIGNsaXBwaW5nIGxheWVyIik7CisgICAgICAg
IG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRNYXNrc1RvQm91bmRzKHRy
dWUpOworICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllci0+c2V0UGFp
bnRpbmdQaGFzZSh7IH0pOworICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tM
YXllci0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsKKyAgICB9CisgICAgaWYgKCFtX292ZXJmbG93
Q29udHJvbHNDb250YWluZXIgJiYgbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIp
IHsKKyAgICAgICAgd2lsbERlc3Ryb3lMYXllcihtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01h
c2tMYXllci5nZXQoKSk7CisgICAgICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIo
bV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIpOworICAgIH0KIAogICAgIGJvb2wg
aG9yaXpvbnRhbFNjcm9sbGJhckxheWVyQ2hhbmdlZCA9IGNyZWF0ZU9yRGVzdHJveUxheWVyKG1f
bGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyLCBuZWVkc0hvcml6b250YWxTY3JvbGxiYXJMYXll
ciwgdHJ1ZSwgImhvcml6b250YWwgc2Nyb2xsYmFyIik7CiAgICAgbGF5ZXJzQ2hhbmdlZCB8PSBo
b3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXJDaGFuZ2VkOwpAQCAtMjE2Myw2ICsyMjAwLDI3IEBAIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwb3NpdGlvbk92ZXJmbG93Q29udHJvbHNMYXllcnMoKQog
ICAgIH0KIH0KIAorYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU91dGxpbmVMYXllcihi
b29sIG5lZWRzT3V0bGluZUxheWVyKQoreworICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7
CisgICAgaWYgKG5lZWRzT3V0bGluZUxheWVyKSB7CisgICAgICAgIGlmICghbV9vdXRsaW5lTGF5
ZXIpIHsKKyAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiQ3JlYXRpbmcgb3V0bGluZSBsYXllciIp
OworICAgICAgICAgICAgU3RyaW5nIGxheWVyTmFtZSA9IG1fb3duaW5nTGF5ZXIubmFtZSgpICsg
IiAob3V0bGluZSkiOworICAgICAgICAgICAgbV9vdXRsaW5lTGF5ZXIgPSBjcmVhdGVHcmFwaGlj
c0xheWVyKGxheWVyTmFtZSk7CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0RHJhd3ND
b250ZW50KHRydWUpOworICAgICAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAg
fQorICAgIH0gZWxzZSBpZiAobV9vdXRsaW5lTGF5ZXIpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlz
KCJEZXN0cm95aW5nIG91dGxpbmUgbGF5ZXIiKTsKKyAgICAgICAgd2lsbERlc3Ryb3lMYXllciht
X291dGxpbmVMYXllci5nZXQoKSk7CisgICAgICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5k
Q2xlYXIobV9vdXRsaW5lTGF5ZXIpOworICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAg
IH0KKworICAgIHJldHVybiBsYXllckNoYW5nZWQ7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoYm9vbCBuZWVkc0ZvcmVncm91bmRMYXllcikKIHsK
ICAgICBib29sIGxheWVyQ2hhbmdlZCA9IGZhbHNlOwpAQCAtMjU5MiwxNiArMjY1MCwyNCBAQCB2
b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlUm9vdExheWVyQ29uZmlndXJhdGlvbigpCiB2
b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlUGFpbnRpbmdQaGFzZXMoKQogewogICAgIC8v
IFBoYXNlcyBmb3IgbV9jaGlsZENsaXBwaW5nTWFza0xheWVyIGFuZCBtX21hc2tMYXllciBhcmUg
c2V0IGVsc2V3aGVyZS4KLSAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+
IHByaW1hcnlMYXllclBoYXNlcyA9IHsgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkJhY2tn
cm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kIH07Ci0gICAgCisg
ICAgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiBwcmltYXJ5TGF5ZXJQaGFz
ZXMgPSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xh
eWVyUGFpbnRpbmdQaGFzZTo6Rm9yZWdyb3VuZCwgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6
Ok91dGxpbmUgfTsKKworICAgIGlmIChtX291dGxpbmVMYXllcikgeworICAgICAgICBtX291dGxp
bmVMYXllci0+c2V0UGFpbnRpbmdQaGFzZShHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0
bGluZSk7CisgICAgICAgIHByaW1hcnlMYXllclBoYXNlcy5yZW1vdmUoR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2U6Ok91dGxpbmUpOworICAgIH0KKwogICAgIGlmIChtX2ZvcmVncm91bmRMYXll
cikgewogICAgICAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+IGZvcmVn
cm91bmRMYXllclBoYXNlcyB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5k
IH07CiAgICAgICAgIAogICAgICAgICBpZiAobV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIpCiAgICAg
ICAgICAgICBmb3JlZ3JvdW5kTGF5ZXJQaGFzZXMuYWRkKEdyYXBoaWNzTGF5ZXJQYWludGluZ1Bo
YXNlOjpPdmVyZmxvd0NvbnRlbnRzKTsKKyAgICAgICAgaWYgKCFtX291dGxpbmVMYXllcikKKyAg
ICAgICAgICAgIGZvcmVncm91bmRMYXllclBoYXNlcy5hZGQoR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U6Ok91dGxpbmUpOwogCiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRQYWludGlu
Z1BoYXNlKGZvcmVncm91bmRMYXllclBoYXNlcyk7CiAgICAgICAgIHByaW1hcnlMYXllclBoYXNl
cy5yZW1vdmUoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQpOworICAgICAg
ICBwcmltYXJ5TGF5ZXJQaGFzZXMucmVtb3ZlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpP
dXRsaW5lKTsKICAgICB9CiAKICAgICBpZiAobV9iYWNrZ3JvdW5kTGF5ZXIpIHsKQEAgLTMwNzMs
NiArMzEzOSw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5KEdyYXBoaWNzTGF5ZXI6OlNob3VsZENsaXBUb0xheWVyCiAgICAgICAgIG1fZ3JhcGhpY3NM
YXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3RUb1JlcGFpbnQsIHNob3VsZENsaXApOwog
ICAgIH0KIAorICAgIGlmIChtX291dGxpbmVMYXllciAmJiBtX291dGxpbmVMYXllci0+ZHJhd3ND
b250ZW50KCkpCisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKKwog
ICAgIGlmIChtX2ZvcmVncm91bmRMYXllciAmJiBtX2ZvcmVncm91bmRMYXllci0+ZHJhd3NDb250
ZW50KCkpCiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKIApA
QCAtMzExMSw2ICszMTgwLDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50
c05lZWREaXNwbGF5SW5SZWN0KGNvbnN0IExheW91dFJlY3QmIHIsIEdyYXBoCiAgICAgICAgIG1f
Z3JhcGhpY3NMYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KGxheWVyRGlydHlSZWN0LCBzaG91
bGRDbGlwKTsKICAgICB9CiAKKyAgICBpZiAobV9vdXRsaW5lTGF5ZXIgJiYgbV9vdXRsaW5lTGF5
ZXItPmRyYXdzQ29udGVudCgpKSB7CisgICAgICAgIEZsb2F0UmVjdCBsYXllckRpcnR5UmVjdCA9
IHBpeGVsU25hcHBlZFJlY3RGb3JQYWludGluZzsKKyAgICAgICAgbGF5ZXJEaXJ0eVJlY3QubW92
ZSgtbV9vdXRsaW5lTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIC0gbV9zdWJwaXhlbE9mZnNl
dEZyb21SZW5kZXJlcik7CisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXROZWVkc0Rpc3BsYXlJ
blJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOworICAgIH0KKwogICAgIGlmIChtX2Zv
cmVncm91bmRMYXllciAmJiBtX2ZvcmVncm91bmRMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAg
ICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50
aW5nOwogICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX2ZvcmVncm91bmRMYXllci0+b2Zm
c2V0RnJvbVJlbmRlcmVyKCkgLSBtX3N1YnBpeGVsT2Zmc2V0RnJvbVJlbmRlcmVyKTsKQEAgLTMy
MTEsNyArMzI4Niw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcihj
b25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwCiAgICAgaWYgKGdyYXBoaWNz
TGF5ZXIgPT0gZGVzdGluYXRpb25Gb3JTaGFyaW5nTGF5ZXJzKSB7CiAgICAgICAgIE9wdGlvblNl
dDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+IHNoYXJpbmdMYXllclBhaW50RmxhZ3MgPSB7
CiAgICAgICAgICAgICBSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9z
aXRpbmdCYWNrZ3JvdW5kUGhhc2UsCi0gICAgICAgICAgICBSZW5kZXJMYXllcjo6UGFpbnRMYXll
ckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UgfTsKKyAgICAgICAgICAg
IFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91
bmRQaGFzZSwKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRp
bmdPdXRsaW5lIH07CiAKICAgICAgICAgaWYgKGdyYXBoaWNzTGF5ZXItPnBhaW50aW5nUGhhc2Uo
KS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3ZlcmZsb3dDb250ZW50cykp
CiAgICAgICAgICAgICBzaGFyaW5nTGF5ZXJQYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFp
bnRMYXllckZsYWc6OlBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyk7CkBAIC0zMjUwLDYgKzMzMjYs
OCBAQCBPcHRpb25TZXQ8UmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnPiBSZW5kZXJMYXllckJh
Y2tpbmc6OnBhaW50RmxhZ3NGb3JMYXllcihjbwogICAgICAgICBwYWludEZsYWdzLmFkZChSZW5k
ZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyk7CiAgICAg
aWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkNv
bXBvc2l0ZWRTY3JvbGwpKQogICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFp
bnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdTY3JvbGxpbmdQaGFzZSk7CisgICAgaWYg
KHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91dGxp
bmUpKQorICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6
OlBhaW50aW5nT3V0bGluZSk7CiAKICAgICBpZiAoJmdyYXBoaWNzTGF5ZXIgPT0gbV9iYWNrZ3Jv
dW5kTGF5ZXIuZ2V0KCkgJiYgbV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3Jv
dW5kKQogICAgICAgICBwYWludEZsYWdzLmFkZCh7IFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zzo6UGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHksIFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSB9KTsgLy8gTmVlZCBQYWludExh
eWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSB0byB3YWxrIGNoaWxk
IGxheWVycy4KQEAgLTM0NDksNiArMzUyNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpw
YWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAg
ICAgICAgIGxheWVyUGFpbnRCZWhhdmlvciB8PSBHcmFwaGljc0xheWVyUGFpbnRGaXJzdFRpbGVQ
YWludDsKIAogICAgIGlmIChncmFwaGljc0xheWVyID09IG1fZ3JhcGhpY3NMYXllci5nZXQoKQor
ICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fb3V0bGluZUxheWVyLmdldCgpCiAgICAgICAg
IHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9mb3JlZ3JvdW5kTGF5ZXIuZ2V0KCkKICAgICAgICAgfHwg
Z3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllci5nZXQoKQogICAgICAgICB8fCBncmFw
aGljc0xheWVyID09IG1fbWFza0xheWVyLmdldCgpCkBAIC0zODY5LDYgKzM5NDgsOCBAQCBkb3Vi
bGUgUmVuZGVyTGF5ZXJCYWNraW5nOjpiYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpIGNvbnN0
CiAgICAgCiAgICAgLy8gTGF5ZXJzIGluIG1fYW5jZXN0b3JDbGlwcGluZ1N0YWNrLCBtX2NvbnRl
bnRzQ29udGFpbm1lbnRMYXllciBhbmQgbV9jaGlsZENvbnRhaW5tZW50TGF5ZXIgYXJlIGp1c3Qg
dXNlZCBmb3IgbWFza2luZyBvciBjb250YWlubWVudCwgc28gaGF2ZSBubyBiYWNraW5nLgogICAg
IGJhY2tpbmdNZW1vcnkgPSBtX2dyYXBoaWNzTGF5ZXItPmJhY2tpbmdTdG9yZU1lbW9yeUVzdGlt
YXRlKCk7CisgICAgaWYgKG1fb3V0bGluZUxheWVyKQorICAgICAgICBiYWNraW5nTWVtb3J5ICs9
IG1fb3V0bGluZUxheWVyLT5iYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwogICAgIGlmICht
X2ZvcmVncm91bmRMYXllcikKICAgICAgICAgYmFja2luZ01lbW9yeSArPSBtX2ZvcmVncm91bmRM
YXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsKICAgICBpZiAobV9iYWNrZ3JvdW5k
TGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgK
aW5kZXggMTkzYzVkMTc1Y2VlOThkZmMwNjBkZTFjOGQ2YTIzMTk0ODljZDQ3ZC4uYjg4NDQ4MGM0
M2YwNjBmNTU3NjNkZmMxZTcwYzY4YzlmMGU3NTllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTE5LDYgKzExOSw3IEBAIHB1YmxpYzoK
IAogICAgIEdyYXBoaWNzTGF5ZXIqIGNvbnRlbnRzQ29udGFpbm1lbnRMYXllcigpIGNvbnN0IHsg
cmV0dXJuIG1fY29udGVudHNDb250YWlubWVudExheWVyLmdldCgpOyB9CiAKKyAgICBHcmFwaGlj
c0xheWVyKiBvdXRsaW5lTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX291dGxpbmVMYXllci5nZXQo
KTsgfQogICAgIEdyYXBoaWNzTGF5ZXIqIGZvcmVncm91bmRMYXllcigpIGNvbnN0IHsgcmV0dXJu
IG1fZm9yZWdyb3VuZExheWVyLmdldCgpOyB9CiAgICAgR3JhcGhpY3NMYXllciogYmFja2dyb3Vu
ZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kTGF5ZXIuZ2V0KCk7IH0KICAgICBi
b29sIGJhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQoKSBjb25zdCB7IHJl
dHVybiBtX2JhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQ7IH0KQEAgLTMx
MCw2ICszMTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgdXBkYXRlQW5jZXN0b3JDbGlwcGluZyhi
b29sIG5lZWRzQW5jZXN0b3JDbGlwLCBjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdBbmNl
c3Rvcik7CiAgICAgYm9vbCB1cGRhdGVEZXNjZW5kYW50Q2xpcHBpbmdMYXllcihib29sIG5lZWRz
RGVzY2VuZGFudENsaXApOwogICAgIGJvb2wgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhi
b29sIG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLCBib29sIG5lZWRzVmVydGljYWxTY3Jv
bGxiYXJMYXllciwgYm9vbCBuZWVkc1Njcm9sbENvcm5lckxheWVyKTsKKyAgICBib29sIHVwZGF0
ZU91dGxpbmVMYXllcihib29sIG5lZWRzT3V0bGluZUxheWVyKTsKICAgICBib29sIHVwZGF0ZUZv
cmVncm91bmRMYXllcihib29sIG5lZWRzRm9yZWdyb3VuZExheWVyKTsKICAgICBib29sIHVwZGF0
ZUJhY2tncm91bmRMYXllcihib29sIG5lZWRzQmFja2dyb3VuZExheWVyKTsKICAgICBib29sIHVw
ZGF0ZU1hc2tpbmdMYXllcihib29sIGhhc01hc2ssIGJvb2wgaGFzQ2xpcFBhdGgpOwpAQCAtNDE1
LDYgKzQxNyw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9jb250
ZW50c0NvbnRhaW5tZW50TGF5ZXI7IC8vIE9ubHkgdXNlZCBpZiB3ZSBoYXZlIGEgYmFja2dyb3Vu
ZCBsYXllcjsgdGFrZXMgdGhlIHRyYW5zZm9ybS4KICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4g
bV9ncmFwaGljc0xheWVyOworICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX291dGxpbmVMYXll
cjsgLy8gT25seSB1c2VkIGlmIHRoZSBvdXRsaW5lIGhhcyBhIG5lZ2F0aXZlIG9mZnNldCBhbmQg
dGhlcmUgYXJlIG92ZXJmbG93IGNvbnRyb2xzLgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBt
X2ZvcmVncm91bmRMYXllcjsgLy8gT25seSB1c2VkIGluIGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8g
ZHJhdyB0aGUgZm9yZWdyb3VuZCBzZXBhcmF0ZWx5LgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVy
PiBtX2JhY2tncm91bmRMYXllcjsgLy8gT25seSB1c2VkIGluIGNhc2VzIHdoZXJlIHdlIG5lZWQg
dG8gZHJhdyB0aGUgYmFja2dyb3VuZCBzZXBhcmF0ZWx5LgogICAgIFJlZlB0cjxHcmFwaGljc0xh
eWVyPiBtX2NoaWxkQ29udGFpbm1lbnRMYXllcjsgLy8gT25seSB1c2VkIGlmIHdlIGhhdmUgY2xp
cHBpbmcgb24gYSBzdGFja2luZyBjb250ZXh0IHdpdGggY29tcG9zaXRpbmcgY2hpbGRyZW4sIG9y
IGlmIHRoZSBsYXllciBoYXMgYSB0aWxlIGNhY2hlLgpAQCAtNDI1LDYgKzQyOCw3IEBAIHByaXZh
dGU6CiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJh
cjsKICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclNjcm9sbENvcm5lcjsKICAg
ICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyOworICAg
IFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXll
cjsKIAogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX3Njcm9sbENvbnRhaW5lckxheWVyOyAv
LyBPbmx5IHVzZWQgaWYgdGhlIGxheWVyIGlzIHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgog
ICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX3Njcm9sbGVkQ29udGVudHNMYXllcjsgLy8gT25s
eSB1c2VkIGlmIHRoZSBsYXllciBpcyB1c2luZyBjb21wb3NpdGVkIHNjcm9sbGluZy4K
</data>
<flag name="commit-queue"
          id="453495"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431663</attachid>
            <date>2021-06-17 07:53:17 -0700</date>
            <delta_ts>2021-06-17 09:14:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227061-20210617155316.patch</filename>
            <type>text/plain</type>
            <size>71990</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZkNzFlZDQ3ZDQzOGUw
NzM0MmNhNGViMjk5NWQwM2Q3YWY5N2FkZC4uOGRjYWE0ZGNjOThhYjFjNzFkYzExODQ4ZDkwMWRk
YzkzNzkyYmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA2LTE3ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBOZWdhdGl2ZSBDU1Mgb3V0bGlu
ZS1vZmZzZXQgYXBwZWFycyBiZW5lYXRoIHNjcm9sbCBjb250cm9scyB3aGVuIGFzeW5jIG92ZXJm
bG93IHNjcm9sbGluZyBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjcwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGNvbXBvc2l0ZWQgc2Nyb2xsZWQgY29udGVudCBoYXMgYW4g
b3V0bGluZSB3aXRoIGEgbmVnYXRpdmUKKyAgICAgICAgb2Zmc2V0LCBkcmF3IHRoZSBvdXRsaW5l
IG9uIGEgc2VwYXJhdGUgbGF5ZXIgc28gdGhhdCBpdCBhcHBlYXJzIG92ZXIKKyAgICAgICAgb3Zl
cmZsb3cgY29udHJvbHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6On5SZW5kZXJMYXllckJh
Y2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVEZWJ1
Z0luZGljYXRvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0
cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxh
dGl2ZVRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVPdXRsaW5lTGF5ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJ
bnRvTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEZs
YWdzRm9yTGF5ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaDoKKwogMjAyMS0wNi0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gY2xhbmcgYW5hbHlzaXM6
IFVubG9ja2VkIGFjY2VzcyBpbiBJbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGM1
ZDFlMDhmZjg4NmI0MjFiMTgxMjViNjkzMzNjYjFjMDNmNjEwMzYuLjdkYjljMmM2ZjI4MWIyOGU3
ZDQwNzc4M2I2Njg1MzlkYjI3MWI2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMDM2LDYgKzEwMzYsNyBAQCBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQ
aGFzZSBwaGFzZSkKICAgICBzd2l0Y2ggKHBoYXNlKSB7CiAgICAgY2FzZSBHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZDogdHMgPDwgImJhY2tncm91bmQiOyBicmVhazsKICAg
ICBjYXNlIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kOiB0cyA8PCAiZm9y
ZWdyb3VuZCI7IGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91
dGxpbmU6IHRzIDw8ICJvdXRsaW5lIjsgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6TWFzazogdHMgPDwgIm1hc2siOyBicmVhazsKICAgICBjYXNlIEdyYXBoaWNz
TGF5ZXJQYWludGluZ1BoYXNlOjpDbGlwUGF0aDogdHMgPDwgImNsaXAtcGF0aCI7IGJyZWFrOwog
ICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHM6IHRz
IDw8ICJvdmVyZmxvdy1jb250ZW50cyI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDdjN2Q0ZmNjOWVkMjIzMGQ4NzA5
NWU2NzRlNTljMmQxNzU4NWQwNmEuLjUwZWQxMmI4ZGE3YjliNjJiMGE3ZDAzZDU3NzI0YTYzNTRh
MDgxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmgKQEAgLTcyMiw3ICs3MjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBjb25zdCBUeXBl
IG1fdHlwZTsKICAgICBDdXN0b21BcHBlYXJhbmNlIG1fY3VzdG9tQXBwZWFyYW5jZSB7IEN1c3Rv
bUFwcGVhcmFuY2U6Ok5vbmUgfTsKLSAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+IG1fcGFpbnRpbmdQaGFzZSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3Jl
Z3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCB9OworICAgIE9w
dGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gbV9wYWludGluZ1BoYXNlIHsgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlOjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSB9
OwogICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBtX2NvbnRlbnRzT3JpZW50
YXRpb24geyBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb246OlRvcERvd24gfTsgLy8g
YWZmZWN0cyBvcmllbnRhdGlvbiBvZiBsYXllciBjb250ZW50cwogCiAgICAgYm9vbCBtX2JlaW5n
RGVzdHJveWVkIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAppbmRleCAyYTQyMmVmM2ZhOTYxZjQxYmVkYzZiZmI3
YzBhYTUzYTZmOTU1ZjY5Li40NjNiZWZhY2U1ZWM3NmU3ZWFhYmNlNDY4YTI4MDZhNDk3OGE3Yjk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllckNsaWVudC5oCkBAIC00Nyw2ICs0Nyw3IEBAIGVudW0gY2xhc3MgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2UgewogICAgIE92ZXJmbG93Q29udGVudHMgICAgICA9IDEgPDwgNCwKICAg
ICBDb21wb3NpdGVkU2Nyb2xsICAgICAgPSAxIDw8IDUsCiAgICAgQ2hpbGRDbGlwcGluZ01hc2sg
ICAgID0gMSA8PCA2LAorICAgIE91dGxpbmUgICAgICAgICAgICAgICA9IDEgPDwgNwogfTsKIAog
ZW51bSBBbmltYXRlZFByb3BlcnR5SUQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggMWYxMWE5NzhlMzE1YmFkZDdhY2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4u
YTBmZDYwNzk2NTQyNzE3ZjhkNzM2ZjIwODgzOThkODllMTk0NDMyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zMjM3LDIxICszMjM3LDI0IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQs
IGNvbnN0IExheWVyUGFpbnRpCiAgICAgYm9vbCBpc1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCA9
IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3Np
dGluZ1Njcm9sbGluZ1BoYXNlKTsKICAgICBib29sIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdy
b3VuZCA9IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdD
b21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nQ29tcG9zaXRl
ZEJhY2tncm91bmQgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBh
aW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOworICAgIGJvb2wgaXNQYWludGluZ091
dGxpbmUgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5n
T3V0bGluZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA9IGxvY2FsUGFp
bnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRz
KTsKICAgICBib29sIGlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uID0gbG9jYWxQYWludEZsYWdzLmNv
bnRhaW5zKFBhaW50TGF5ZXJGbGFnOjpDb2xsZWN0aW5nRXZlbnRSZWdpb24pOwogCiAgICAgYm9v
bCBpc1NlbGZQYWludGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwogCiAg
ICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMgdG8gYmUgcGFpbnRlZCBldmVuIGlmIHdlIGhhdmUg
bm8gdmlzaWJsZSBjb250ZW50LiBBbHNvLAotICAgIC8vIHRoZSBvdXRsaW5lIGlzIHBhaW50ZWQg
aW4gdGhlIGJhY2tncm91bmQgcGhhc2UgZHVyaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgorICAg
IC8vIHRoZSBvdXRsaW5lIG1heSBiZSBwYWludGVkIGluIHRoZSBiYWNrZ3JvdW5kIHBoYXNlIGR1
cmluZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KICAgICAvLyBJZiBpdCB3ZXJlIHBhaW50ZWQgaW4g
dGhlIGZvcmVncm91bmQgcGhhc2UsIGl0IHdvdWxkIG1vdmUgd2l0aCB0aGUgc2Nyb2xsZWQKLSAg
ICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNjcm9sbGluZywgdGhlIG91dGxpbmUg
aXMgcGFpbnRlZCBpbiB0aGUKKyAgICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNj
cm9sbGluZywgdGhlIG91dGxpbmUgbWF5IGJlIHBhaW50ZWQgaW4gdGhlCiAgICAgLy8gZm9yZWdy
b3VuZCBwaGFzZS4gU2luY2Ugc2Nyb2xsZWQgY29udGVudHMgYXJlIG1vdmVkIGJ5IHJlcGFpbnRp
bmcgaW4gdGhpcwogICAgIC8vIGNhc2UsIHRoZSBvdXRsaW5lIHdvbid0IGdldCAnZHJhZ2dlZCBh
bG9uZycuCi0gICAgYm9vbCBzaG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVy
ICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVn
aW9uCisgICAgLy8gSW4gdGhlIGNhc2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxlZCBjb250ZW50IHdp
dGggb3ZlcmZsb3cgY29udHJvbHMsIGlmIHRoZQorICAgIC8vIG91dGxpbmUgaGFzIGEgbmVnYXRp
dmUgb2Zmc2V0LCBpdCBpcyBwYWludGVkIG9uIGEgc2VwYXJhdGUgbGF5ZXIuCisgICAgYm9vbCBz
aG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVyICYmIGlzUGFpbnRpbmdPdXRs
aW5lICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50
UmVnaW9uCiAgICAgICAgICYmIChyZW5kZXJlcigpLnZpZXcoKS5wcmludGluZygpIHx8IHJlbmRl
cmVyKCkudmlldygpLmhhc1JlbmRlcmVyc1dpdGhPdXRsaW5lKCkpCiAgICAgICAgICYmICgoaXNQ
YWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5k
KQotICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFpbnRpbmdD
b21wb3NpdGVkRm9yZWdyb3VuZCkpOworICAgICAgICB8fCAhaXNQYWludGluZ1Njcm9sbGluZ0Nv
bnRlbnQpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50ID0gbV9oYXNWaXNpYmxlQ29udGVu
dCAmJiBpc1NlbGZQYWludGluZ0xheWVyICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMg
JiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uOwogCiAgICAgaWYgKGxvY2FsUGFpbnRGbGFncy5j
b250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHkpICYmICFy
ZW5kZXJlcigpLmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlcigpLmlzRG9jdW1lbnRFbGVtZW50
UmVuZGVyZXIoKSkgewpAQCAtNTI0MCw2ICs1MjQzLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXI6Omhh
c1Zpc2libGVCb3hEZWNvcmF0aW9ucygpIGNvbnN0CiAgICAgcmV0dXJuIGhhc1Zpc2libGVCb3hE
ZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIHx8IChtX3Njcm9sbGFibGVBcmVhICYmIG1fc2Nyb2xs
YWJsZUFyZWEtPmhhc092ZXJmbG93Q29udHJvbHMoKSk7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXI6
Omhhc0luc2V0T3V0bGluZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHJlbmRlcmVyKCkuc3R5bGUo
KS5vdXRsaW5lT2Zmc2V0KCkgPCAwOworfQorCiBib29sIFJlbmRlckxheWVyOjppc1Zpc3VhbGx5
Tm9uRW1wdHkoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KiByZXF1ZXN0KSBjb25zdAogewogICAgIEFT
U0VSVCghbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDA1NmNmNTAzODE3MTBkYzRhMDMyOGU1MTBkYjAyZTkz
YTcyNjE2YS4uMTMwZjljZGMwYjgyOTRiOGI4ZGY3NTQ0MzAyNDMxZGYyMTEwNTAwZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTUzMSw3ICs1MzEsOCBAQCBwdWJs
aWM6CiAKICAgICBib29sIGhhc1Zpc2libGVCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIGNv
bnN0OwogICAgIGJvb2wgaGFzVmlzaWJsZUJveERlY29yYXRpb25zKCkgY29uc3Q7Ci0gICAgCisg
ICAgYm9vbCBoYXNJbnNldE91dGxpbmUoKSBjb25zdDsKKwogICAgIGJvb2wgYmVoYXZlc0FzRml4
ZWQoKSBjb25zdCB7IHJldHVybiBtX2JlaGF2ZXNBc0ZpeGVkOyB9CiAKICAgICBzdHJ1Y3QgUGFp
bnRlZENvbnRlbnRSZXF1ZXN0IHsKQEAgLTYyNCw3ICs2MjUsOCBAQCBwdWJsaWM6CiAgICAgICAg
IFBhaW50aW5nUm9vdEJhY2tncm91bmRPbmx5ICAgICAgICAgICAgPSAxIDw8IDExLAogICAgICAg
ICBQYWludGluZ1NraXBSb290QmFja2dyb3VuZCAgICAgICAgICAgID0gMSA8PCAxMiwKICAgICAg
ICAgUGFpbnRpbmdDaGlsZENsaXBwaW5nTWFza1BoYXNlICAgICAgICA9IDEgPDwgMTMsCi0gICAg
ICAgIENvbGxlY3RpbmdFdmVudFJlZ2lvbiAgICAgICAgICAgICAgICAgPSAxIDw8IDE0LAorICAg
ICAgICBQYWludGluZ091dGxpbmUgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAxNCwKKyAg
ICAgICAgQ29sbGVjdGluZ0V2ZW50UmVnaW9uICAgICAgICAgICAgICAgICA9IDEgPDwgMTUsCiAg
ICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxQYWludExheWVyRmxhZz4gcGFp
bnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdBbGxQaGFzZXNGbGFncygpIHsgcmV0dXJuIHsgUGFp
bnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UsIFBhaW50TGF5
ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlIH07IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBkZWE1
YzE1MzE3OTlhMzUxYjE4NGE0ZjFmY2NmZDRlYzVmMGIzMGU5Li40YmQ5MDhiMmUzNzEwNjY2NGQ1
NGY1YWJkN2JlZThkZWI5ODBkYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMjQ5LDYgKzI0OSw3IEBAIFJlbmRlckxheWVyQmFj
a2luZzo6flJlbmRlckxheWVyQmFja2luZygpCiAgICAgdXBkYXRlQ2hpbGRDbGlwcGluZ1N0cmF0
ZWd5KGZhbHNlKTsKICAgICB1cGRhdGVEZXNjZW5kYW50Q2xpcHBpbmdMYXllcihmYWxzZSk7CiAg
ICAgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAg
ICB1cGRhdGVPdXRsaW5lTGF5ZXIoZmFsc2UpOwogICAgIHVwZGF0ZUZvcmVncm91bmRMYXllcihm
YWxzZSk7CiAgICAgdXBkYXRlQmFja2dyb3VuZExheWVyKGZhbHNlKTsKICAgICB1cGRhdGVNYXNr
aW5nTGF5ZXIoZmFsc2UsIGZhbHNlKTsKQEAgLTQ2OCw2ICs0NjksMTEgQEAgdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZURlYnVnSW5kaWNhdG9ycyhib29sIHNob3dCb3JkZXIsIGJvb2wg
c2hvd1JlcGFpbnQKICAgICAgICAgICAgIGVudHJ5LmNsaXBwaW5nTGF5ZXItPnNldFNob3dEZWJ1
Z0JvcmRlcihzaG93Qm9yZGVyKTsKICAgICB9CiAKKyAgICBpZiAobV9vdXRsaW5lTGF5ZXIpIHsK
KyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dEZWJ1Z0JvcmRlcihzaG93Qm9yZGVyKTsK
KyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dSZXBhaW50Q291bnRlcihzaG93UmVwYWlu
dENvdW50ZXIpOworICAgIH0KKwogICAgIGlmIChtX2ZvcmVncm91bmRMYXllcikgewogICAgICAg
ICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd0RlYnVnQm9yZGVyKHNob3dCb3JkZXIpOwogICAg
ICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd1JlcGFpbnRDb3VudGVyKHNob3dSZXBhaW50
Q291bnRlcik7CkBAIC01OTMsNiArNTk5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRl
c3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgICAgIHJlbW92ZUNsaXBwaW5nU3RhY2tMYXllcnMo
Km1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllckFuY2VzdG9yQ2xpcHBpbmdTdGFjayk7CiAKICAg
ICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY29udGVudHNDb250YWlubWVudExh
eWVyKTsKKyAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fb3V0bGluZUxheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fZm9yZWdyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fYmFja2dyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY2hpbGRDb250YWlubWVu
dExheWVyKTsKQEAgLTg3MSw2ICs4NzgsOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlQWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKGNvbnN0IExheW91dFJlY3QmIGFicwogewog
ICAgIGF1dG8gc2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nID0gWyZdKGJvb2wgYWxsb3dE
ZXRhY2hpbmcpIHsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRBbGxvd3NCYWNraW5nU3Rv
cmVEZXRhY2hpbmcoYWxsb3dEZXRhY2hpbmcpOworICAgICAgICBpZiAobV9vdXRsaW5lTGF5ZXIp
CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNo
aW5nKGFsbG93RGV0YWNoaW5nKTsKICAgICAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKQogICAg
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldEFsbG93c0JhY2tpbmdTdG9yZURldGFjaGlu
ZyhhbGxvd0RldGFjaGluZyk7CiAgICAgICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKQEAgLTEw
MDEsNiArMTAxMCwxMCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQ29uZmlndXJh
dGlvbihjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdBbmNlcwogICAgIGlmICh1cGRhdGVP
dmVyZmxvd0NvbnRyb2xzTGF5ZXJzKHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCks
IHJlcXVpcmVzVmVydGljYWxTY3JvbGxiYXJMYXllcigpLCByZXF1aXJlc1Njcm9sbENvcm5lckxh
eWVyKCkpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwogCisgICAgLy8gT3V0
bGluZXMgd2l0aCBuZWdhdGl2ZSBvZmZzZXRzIG5lZWQgdG8gYXBwZWFyIGFib3ZlIHNjcm9sbCBV
SS4KKyAgICBpZiAodXBkYXRlT3V0bGluZUxheWVyKG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5l
ciAmJiBtX293bmluZ0xheWVyLmhhc0luc2V0T3V0bGluZSgpKSkKKyAgICAgICAgbGF5ZXJDb25m
aWdDaGFuZ2VkID0gdHJ1ZTsKKwogICAgIGlmIChsYXllckNvbmZpZ0NoYW5nZWQpCiAgICAgICAg
IHVwZGF0ZUludGVybmFsSGllcmFyY2h5KCk7CiAKQEAgLTE0MjcsOCArMTQ0MCwxMyBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoY29uc3QgUmVuZGVyTGF5ZXIqIGNv
bXBvc2l0ZWRBbmNlc3RvcikKICAgICAgICAgU25hcHBlZFJlY3RJbmZvIHNuYXBwZWRCb3hJbmZv
ID0gc25hcHBlZEdyYXBoaWNzTGF5ZXIoYm94T2Zmc2V0RnJvbUdyYXBoaWNzTGF5ZXIsIG92ZXJm
bG93Q29udHJvbHNCb3guc2l6ZSgpLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAKICAgICAgICAgbV9v
dmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5zZXRQb3NpdGlvbihzbmFwcGVkQm94SW5mby5tX3Nu
YXBwZWRSZWN0LmxvY2F0aW9uKCkpOwotICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWlu
ZXItPnNldFNpemUoc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5zaXplKCkpOwotICAgICAg
ICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPnNldE1hc2tzVG9Cb3VuZHModHJ1ZSk7Cisg
ICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRTaXplKHNuYXBw
ZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsKKworICAgICAgICBpZiAobV9vdXRsaW5l
TGF5ZXIpIHsKKyAgICAgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRQb3NpdGlvbigtc25hcHBl
ZEJveEluZm8ubV9zbmFwcGVkUmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgICAgIG1fb3V0bGlu
ZUxheWVyLT5zZXRTaXplKHByaW1hcnlHcmFwaGljc0xheWVyUmVjdC5zaXplKCkpOworICAgICAg
ICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldE9mZnNldEZyb21SZW5kZXJlcihtX2dyYXBoaWNzTGF5
ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmICht
X2ZvcmVncm91bmRMYXllcikgewpAQCAtMTUwOCw3ICsxNTI2LDcgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OmFkanVzdE92ZXJmbG93Q29udHJvbHNQb3NpdGlvblJlbGF0aXZlVG9BbmNlc3Rv
cihjb25zdAogICAgIFNuYXBwZWRSZWN0SW5mbyBzbmFwcGVkQm94SW5mbyA9IHNuYXBwZWRHcmFw
aGljc0xheWVyKGJveE9mZnNldEZyb21HcmFwaGljc0xheWVyLCBvdmVyZmxvd0NvbnRyb2xzUmVj
dC5zaXplKCksIGRldmljZVNjYWxlRmFjdG9yKCkpOwogCiAgICAgbV9vdmVyZmxvd0NvbnRyb2xz
Q29udGFpbmVyLT5zZXRQb3NpdGlvbihzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LmxvY2F0
aW9uKCkpOwotICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+c2V0U2l6ZShzbmFwcGVk
Qm94SW5mby5tX3NuYXBwZWRSZWN0LnNpemUoKSk7CisgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ2xp
cHBpbmdNYXNrTGF5ZXItPnNldFNpemUoc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5zaXpl
KCkpOwogfQogCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0TG9jYXRpb25PZlNjcm9sbGVk
Q29udGVudHMoU2Nyb2xsT2Zmc2V0IHNjcm9sbE9mZnNldCwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlv
bkFjdGlvbiBzZXRPclN5bmMpCkBAIC0xNjUzLDE3ICsxNjcxLDIzIEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSgpCiAgICAgLy8gc2libGluZ3Mgb2Yg
dGhlIGNsaXBwaW5nIGxheWVyIGlmIHdlIGhhdmUgb25lLiBOb3JtYWwgY2hpbGRyZW4gb2YgdGhp
cyBsYXllciBhcmUgc2V0IGFzCiAgICAgLy8gY2hpbGRyZW4gb2YgdGhlIGNsaXBwaW5nIGxheWVy
LgogICAgIGlmIChtX292ZXJmbG93Q29udHJvbHNDb250YWluZXIpIHsKKyAgICAgICAgQVNTRVJU
KG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyKTsKKyAgICAgICAgbV9vdmVyZmxv
d0NvbnRyb2xzQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdN
YXNrTGF5ZXIpOworCiAgICAgICAgIGlmIChtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcikK
LSAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+YWRkQ2hpbGQoKm1fbGF5
ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9s
c0NsaXBwaW5nTWFza0xheWVyLT5hZGRDaGlsZCgqbV9sYXllckZvckhvcml6b250YWxTY3JvbGxi
YXIpOwogCiAgICAgICAgIGlmIChtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIpCi0gICAgICAg
ICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPmFkZENoaWxkKCptX2xheWVyRm9yVmVy
dGljYWxTY3JvbGxiYXIpOworICAgICAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdN
YXNrTGF5ZXItPmFkZENoaWxkKCptX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIpOwogCiAgICAg
ICAgIGlmIChtX2xheWVyRm9yU2Nyb2xsQ29ybmVyKQotICAgICAgICAgICAgbV9vdmVyZmxvd0Nv
bnRyb2xzQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXllckZvclNjcm9sbENvcm5lcik7CisgICAg
ICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllci0+YWRkQ2hpbGQoKm1f
bGF5ZXJGb3JTY3JvbGxDb3JuZXIpOwogCiAgICAgICAgIC8vIG1fb3ZlcmZsb3dDb250cm9sc0Nv
bnRhaW5lciBtYXkgZ2V0IHJlcGFyZW50ZWQgbGF0ZXIuCiAgICAgICAgIG1fZ3JhcGhpY3NMYXll
ci0+YWRkQ2hpbGQoKm1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lcik7CisKKyAgICAgICAgaWYg
KG1fb3V0bGluZUxheWVyKQorICAgICAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVy
LT5hZGRDaGlsZCgqbV9vdXRsaW5lTGF5ZXIpOwogICAgIH0KIH0KIApAQCAtMTcyMyw2ICsxNzQ3
LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudChQYWludGVk
Q29udGVudHNJbmZvJiBjb250ZW50c0luZm8pCiAgICAgfSBlbHNlCiAgICAgICAgIG1fZ3JhcGhp
Y3NMYXllci0+c2V0U3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dChtX3BhaW50c1N1YnBp
eGVsQW50aWFsaWFzZWRUZXh0KTsKIAorICAgIGlmIChtX291dGxpbmVMYXllcikKKyAgICAgICAg
bV9vdXRsaW5lTGF5ZXItPnNldERyYXdzQ29udGVudChoYXNQYWludGVkQ29udGVudCk7CisKICAg
ICBpZiAobV9iYWNrZ3JvdW5kTGF5ZXIpCiAgICAgICAgIG1fYmFja2dyb3VuZExheWVyLT5zZXRE
cmF3c0NvbnRlbnQobV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3JvdW5kID8g
aGFzUGFpbnRlZENvbnRlbnQgOiBjb250ZW50c0luZm8ucGFpbnRzQm94RGVjb3JhdGlvbnMoKSk7
CiB9CkBAIC0yMDk5LDYgKzIxMjYsMTYgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0
ZU92ZXJmbG93Q29udHJvbHNMYXllcnMoYm9vbCBuZWVkc0hvcml6b250YWxTY3JvbGwKICAgICB9
OwogCiAgICAgYm9vbCBsYXllcnNDaGFuZ2VkID0gY3JlYXRlT3JEZXN0cm95TGF5ZXIobV9vdmVy
Zmxvd0NvbnRyb2xzQ29udGFpbmVyLCBuZWVkc0hvcml6b250YWxTY3JvbGxiYXJMYXllciB8fCBu
ZWVkc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIgfHwgbmVlZHNTY3JvbGxDb3JuZXJMYXllciwgZmFs
c2UsICJvdmVyZmxvdyBjb250cm9scyBjb250YWluZXIiKTsKKyAgICBpZiAobV9vdmVyZmxvd0Nv
bnRyb2xzQ29udGFpbmVyICYmICFtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcikg
eworICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA9IGNyZWF0ZUdy
YXBoaWNzTGF5ZXIoIm92ZXJmbG93IGNvbnRyb2xzIGNsaXBwaW5nIGxheWVyIik7CisgICAgICAg
IG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRNYXNrc1RvQm91bmRzKHRy
dWUpOworICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllci0+c2V0UGFp
bnRpbmdQaGFzZSh7IH0pOworICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tM
YXllci0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsKKyAgICB9CisgICAgaWYgKCFtX292ZXJmbG93
Q29udHJvbHNDb250YWluZXIgJiYgbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIp
IHsKKyAgICAgICAgd2lsbERlc3Ryb3lMYXllcihtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01h
c2tMYXllci5nZXQoKSk7CisgICAgICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIo
bV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIpOworICAgIH0KIAogICAgIGJvb2wg
aG9yaXpvbnRhbFNjcm9sbGJhckxheWVyQ2hhbmdlZCA9IGNyZWF0ZU9yRGVzdHJveUxheWVyKG1f
bGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyLCBuZWVkc0hvcml6b250YWxTY3JvbGxiYXJMYXll
ciwgdHJ1ZSwgImhvcml6b250YWwgc2Nyb2xsYmFyIik7CiAgICAgbGF5ZXJzQ2hhbmdlZCB8PSBo
b3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXJDaGFuZ2VkOwpAQCAtMjE2Myw2ICsyMjAwLDI3IEBAIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwb3NpdGlvbk92ZXJmbG93Q29udHJvbHNMYXllcnMoKQog
ICAgIH0KIH0KIAorYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU91dGxpbmVMYXllcihi
b29sIG5lZWRzT3V0bGluZUxheWVyKQoreworICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7
CisgICAgaWYgKG5lZWRzT3V0bGluZUxheWVyKSB7CisgICAgICAgIGlmICghbV9vdXRsaW5lTGF5
ZXIpIHsKKyAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiQ3JlYXRpbmcgb3V0bGluZSBsYXllciIp
OworICAgICAgICAgICAgU3RyaW5nIGxheWVyTmFtZSA9IG1fb3duaW5nTGF5ZXIubmFtZSgpICsg
IiAob3V0bGluZSkiOworICAgICAgICAgICAgbV9vdXRsaW5lTGF5ZXIgPSBjcmVhdGVHcmFwaGlj
c0xheWVyKGxheWVyTmFtZSk7CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0RHJhd3ND
b250ZW50KHRydWUpOworICAgICAgICAgICAgbGF5ZXJDaGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAg
fQorICAgIH0gZWxzZSBpZiAobV9vdXRsaW5lTGF5ZXIpIHsKKyAgICAgICAgV1RGTG9nQWx3YXlz
KCJEZXN0cm95aW5nIG91dGxpbmUgbGF5ZXIiKTsKKyAgICAgICAgd2lsbERlc3Ryb3lMYXllciht
X291dGxpbmVMYXllci5nZXQoKSk7CisgICAgICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5k
Q2xlYXIobV9vdXRsaW5lTGF5ZXIpOworICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAg
IH0KKworICAgIHJldHVybiBsYXllckNoYW5nZWQ7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoYm9vbCBuZWVkc0ZvcmVncm91bmRMYXllcikKIHsK
ICAgICBib29sIGxheWVyQ2hhbmdlZCA9IGZhbHNlOwpAQCAtMjU5MiwxNiArMjY1MCwyNCBAQCB2
b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlUm9vdExheWVyQ29uZmlndXJhdGlvbigpCiB2
b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlUGFpbnRpbmdQaGFzZXMoKQogewogICAgIC8v
IFBoYXNlcyBmb3IgbV9jaGlsZENsaXBwaW5nTWFza0xheWVyIGFuZCBtX21hc2tMYXllciBhcmUg
c2V0IGVsc2V3aGVyZS4KLSAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+
IHByaW1hcnlMYXllclBoYXNlcyA9IHsgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkJhY2tn
cm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kIH07Ci0gICAgCisg
ICAgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiBwcmltYXJ5TGF5ZXJQaGFz
ZXMgPSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xh
eWVyUGFpbnRpbmdQaGFzZTo6Rm9yZWdyb3VuZCwgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6
Ok91dGxpbmUgfTsKKworICAgIGlmIChtX291dGxpbmVMYXllcikgeworICAgICAgICBtX291dGxp
bmVMYXllci0+c2V0UGFpbnRpbmdQaGFzZShHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0
bGluZSk7CisgICAgICAgIHByaW1hcnlMYXllclBoYXNlcy5yZW1vdmUoR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2U6Ok91dGxpbmUpOworICAgIH0KKwogICAgIGlmIChtX2ZvcmVncm91bmRMYXll
cikgewogICAgICAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+IGZvcmVn
cm91bmRMYXllclBoYXNlcyB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5k
IH07CiAgICAgICAgIAogICAgICAgICBpZiAobV9zY3JvbGxlZENvbnRlbnRzTGF5ZXIpCiAgICAg
ICAgICAgICBmb3JlZ3JvdW5kTGF5ZXJQaGFzZXMuYWRkKEdyYXBoaWNzTGF5ZXJQYWludGluZ1Bo
YXNlOjpPdmVyZmxvd0NvbnRlbnRzKTsKKyAgICAgICAgaWYgKCFtX291dGxpbmVMYXllcikKKyAg
ICAgICAgICAgIGZvcmVncm91bmRMYXllclBoYXNlcy5hZGQoR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U6Ok91dGxpbmUpOwogCiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRQYWludGlu
Z1BoYXNlKGZvcmVncm91bmRMYXllclBoYXNlcyk7CiAgICAgICAgIHByaW1hcnlMYXllclBoYXNl
cy5yZW1vdmUoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQpOworICAgICAg
ICBwcmltYXJ5TGF5ZXJQaGFzZXMucmVtb3ZlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpP
dXRsaW5lKTsKICAgICB9CiAKICAgICBpZiAobV9iYWNrZ3JvdW5kTGF5ZXIpIHsKQEAgLTMwNzMs
NiArMzEzOSw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5KEdyYXBoaWNzTGF5ZXI6OlNob3VsZENsaXBUb0xheWVyCiAgICAgICAgIG1fZ3JhcGhpY3NM
YXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3RUb1JlcGFpbnQsIHNob3VsZENsaXApOwog
ICAgIH0KIAorICAgIGlmIChtX291dGxpbmVMYXllciAmJiBtX291dGxpbmVMYXllci0+ZHJhd3ND
b250ZW50KCkpCisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKKwog
ICAgIGlmIChtX2ZvcmVncm91bmRMYXllciAmJiBtX2ZvcmVncm91bmRMYXllci0+ZHJhd3NDb250
ZW50KCkpCiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKIApA
QCAtMzExMSw2ICszMTgwLDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50
c05lZWREaXNwbGF5SW5SZWN0KGNvbnN0IExheW91dFJlY3QmIHIsIEdyYXBoCiAgICAgICAgIG1f
Z3JhcGhpY3NMYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KGxheWVyRGlydHlSZWN0LCBzaG91
bGRDbGlwKTsKICAgICB9CiAKKyAgICBpZiAobV9vdXRsaW5lTGF5ZXIgJiYgbV9vdXRsaW5lTGF5
ZXItPmRyYXdzQ29udGVudCgpKSB7CisgICAgICAgIEZsb2F0UmVjdCBsYXllckRpcnR5UmVjdCA9
IHBpeGVsU25hcHBlZFJlY3RGb3JQYWludGluZzsKKyAgICAgICAgbGF5ZXJEaXJ0eVJlY3QubW92
ZSgtbV9vdXRsaW5lTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpIC0gbV9zdWJwaXhlbE9mZnNl
dEZyb21SZW5kZXJlcik7CisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXROZWVkc0Rpc3BsYXlJ
blJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOworICAgIH0KKwogICAgIGlmIChtX2Zv
cmVncm91bmRMYXllciAmJiBtX2ZvcmVncm91bmRMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKICAg
ICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50
aW5nOwogICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX2ZvcmVncm91bmRMYXllci0+b2Zm
c2V0RnJvbVJlbmRlcmVyKCkgLSBtX3N1YnBpeGVsT2Zmc2V0RnJvbVJlbmRlcmVyKTsKQEAgLTMy
MTEsNyArMzI4Niw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEludG9MYXllcihj
b25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcmFwCiAgICAgaWYgKGdyYXBoaWNz
TGF5ZXIgPT0gZGVzdGluYXRpb25Gb3JTaGFyaW5nTGF5ZXJzKSB7CiAgICAgICAgIE9wdGlvblNl
dDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+IHNoYXJpbmdMYXllclBhaW50RmxhZ3MgPSB7
CiAgICAgICAgICAgICBSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9z
aXRpbmdCYWNrZ3JvdW5kUGhhc2UsCi0gICAgICAgICAgICBSZW5kZXJMYXllcjo6UGFpbnRMYXll
ckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UgfTsKKyAgICAgICAgICAg
IFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91
bmRQaGFzZSwKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRp
bmdPdXRsaW5lIH07CiAKICAgICAgICAgaWYgKGdyYXBoaWNzTGF5ZXItPnBhaW50aW5nUGhhc2Uo
KS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3ZlcmZsb3dDb250ZW50cykp
CiAgICAgICAgICAgICBzaGFyaW5nTGF5ZXJQYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFp
bnRMYXllckZsYWc6OlBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyk7CkBAIC0zMjUwLDYgKzMzMjYs
OCBAQCBPcHRpb25TZXQ8UmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnPiBSZW5kZXJMYXllckJh
Y2tpbmc6OnBhaW50RmxhZ3NGb3JMYXllcihjbwogICAgICAgICBwYWludEZsYWdzLmFkZChSZW5k
ZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nT3ZlcmZsb3dDb250ZW50cyk7CiAgICAg
aWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkNv
bXBvc2l0ZWRTY3JvbGwpKQogICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFp
bnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdTY3JvbGxpbmdQaGFzZSk7CisgICAgaWYg
KHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91dGxp
bmUpKQorICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6
OlBhaW50aW5nT3V0bGluZSk7CiAKICAgICBpZiAoJmdyYXBoaWNzTGF5ZXIgPT0gbV9iYWNrZ3Jv
dW5kTGF5ZXIuZ2V0KCkgJiYgbV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3Jv
dW5kKQogICAgICAgICBwYWludEZsYWdzLmFkZCh7IFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zzo6UGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHksIFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSB9KTsgLy8gTmVlZCBQYWludExh
eWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSB0byB3YWxrIGNoaWxk
IGxheWVycy4KQEAgLTM0NDksNiArMzUyNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpw
YWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAg
ICAgICAgIGxheWVyUGFpbnRCZWhhdmlvciB8PSBHcmFwaGljc0xheWVyUGFpbnRGaXJzdFRpbGVQ
YWludDsKIAogICAgIGlmIChncmFwaGljc0xheWVyID09IG1fZ3JhcGhpY3NMYXllci5nZXQoKQor
ICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fb3V0bGluZUxheWVyLmdldCgpCiAgICAgICAg
IHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9mb3JlZ3JvdW5kTGF5ZXIuZ2V0KCkKICAgICAgICAgfHwg
Z3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllci5nZXQoKQogICAgICAgICB8fCBncmFw
aGljc0xheWVyID09IG1fbWFza0xheWVyLmdldCgpCkBAIC0zODY5LDYgKzM5NDgsOCBAQCBkb3Vi
bGUgUmVuZGVyTGF5ZXJCYWNraW5nOjpiYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpIGNvbnN0
CiAgICAgCiAgICAgLy8gTGF5ZXJzIGluIG1fYW5jZXN0b3JDbGlwcGluZ1N0YWNrLCBtX2NvbnRl
bnRzQ29udGFpbm1lbnRMYXllciBhbmQgbV9jaGlsZENvbnRhaW5tZW50TGF5ZXIgYXJlIGp1c3Qg
dXNlZCBmb3IgbWFza2luZyBvciBjb250YWlubWVudCwgc28gaGF2ZSBubyBiYWNraW5nLgogICAg
IGJhY2tpbmdNZW1vcnkgPSBtX2dyYXBoaWNzTGF5ZXItPmJhY2tpbmdTdG9yZU1lbW9yeUVzdGlt
YXRlKCk7CisgICAgaWYgKG1fb3V0bGluZUxheWVyKQorICAgICAgICBiYWNraW5nTWVtb3J5ICs9
IG1fb3V0bGluZUxheWVyLT5iYWNraW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwogICAgIGlmICht
X2ZvcmVncm91bmRMYXllcikKICAgICAgICAgYmFja2luZ01lbW9yeSArPSBtX2ZvcmVncm91bmRM
YXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsKICAgICBpZiAobV9iYWNrZ3JvdW5k
TGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgK
aW5kZXggMTkzYzVkMTc1Y2VlOThkZmMwNjBkZTFjOGQ2YTIzMTk0ODljZDQ3ZC4uYjg4NDQ4MGM0
M2YwNjBmNTU3NjNkZmMxZTcwYzY4YzlmMGU3NTllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTE5LDYgKzExOSw3IEBAIHB1YmxpYzoK
IAogICAgIEdyYXBoaWNzTGF5ZXIqIGNvbnRlbnRzQ29udGFpbm1lbnRMYXllcigpIGNvbnN0IHsg
cmV0dXJuIG1fY29udGVudHNDb250YWlubWVudExheWVyLmdldCgpOyB9CiAKKyAgICBHcmFwaGlj
c0xheWVyKiBvdXRsaW5lTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX291dGxpbmVMYXllci5nZXQo
KTsgfQogICAgIEdyYXBoaWNzTGF5ZXIqIGZvcmVncm91bmRMYXllcigpIGNvbnN0IHsgcmV0dXJu
IG1fZm9yZWdyb3VuZExheWVyLmdldCgpOyB9CiAgICAgR3JhcGhpY3NMYXllciogYmFja2dyb3Vu
ZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5kTGF5ZXIuZ2V0KCk7IH0KICAgICBi
b29sIGJhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQoKSBjb25zdCB7IHJl
dHVybiBtX2JhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQ7IH0KQEAgLTMx
MCw2ICszMTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgdXBkYXRlQW5jZXN0b3JDbGlwcGluZyhi
b29sIG5lZWRzQW5jZXN0b3JDbGlwLCBjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdBbmNl
c3Rvcik7CiAgICAgYm9vbCB1cGRhdGVEZXNjZW5kYW50Q2xpcHBpbmdMYXllcihib29sIG5lZWRz
RGVzY2VuZGFudENsaXApOwogICAgIGJvb2wgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhi
b29sIG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLCBib29sIG5lZWRzVmVydGljYWxTY3Jv
bGxiYXJMYXllciwgYm9vbCBuZWVkc1Njcm9sbENvcm5lckxheWVyKTsKKyAgICBib29sIHVwZGF0
ZU91dGxpbmVMYXllcihib29sIG5lZWRzT3V0bGluZUxheWVyKTsKICAgICBib29sIHVwZGF0ZUZv
cmVncm91bmRMYXllcihib29sIG5lZWRzRm9yZWdyb3VuZExheWVyKTsKICAgICBib29sIHVwZGF0
ZUJhY2tncm91bmRMYXllcihib29sIG5lZWRzQmFja2dyb3VuZExheWVyKTsKICAgICBib29sIHVw
ZGF0ZU1hc2tpbmdMYXllcihib29sIGhhc01hc2ssIGJvb2wgaGFzQ2xpcFBhdGgpOwpAQCAtNDE1
LDYgKzQxNyw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9jb250
ZW50c0NvbnRhaW5tZW50TGF5ZXI7IC8vIE9ubHkgdXNlZCBpZiB3ZSBoYXZlIGEgYmFja2dyb3Vu
ZCBsYXllcjsgdGFrZXMgdGhlIHRyYW5zZm9ybS4KICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4g
bV9ncmFwaGljc0xheWVyOworICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX291dGxpbmVMYXll
cjsgLy8gT25seSB1c2VkIGlmIHRoZSBvdXRsaW5lIGhhcyBhIG5lZ2F0aXZlIG9mZnNldCBhbmQg
dGhlcmUgYXJlIG92ZXJmbG93IGNvbnRyb2xzLgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBt
X2ZvcmVncm91bmRMYXllcjsgLy8gT25seSB1c2VkIGluIGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8g
ZHJhdyB0aGUgZm9yZWdyb3VuZCBzZXBhcmF0ZWx5LgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVy
PiBtX2JhY2tncm91bmRMYXllcjsgLy8gT25seSB1c2VkIGluIGNhc2VzIHdoZXJlIHdlIG5lZWQg
dG8gZHJhdyB0aGUgYmFja2dyb3VuZCBzZXBhcmF0ZWx5LgogICAgIFJlZlB0cjxHcmFwaGljc0xh
eWVyPiBtX2NoaWxkQ29udGFpbm1lbnRMYXllcjsgLy8gT25seSB1c2VkIGlmIHdlIGhhdmUgY2xp
cHBpbmcgb24gYSBzdGFja2luZyBjb250ZXh0IHdpdGggY29tcG9zaXRpbmcgY2hpbGRyZW4sIG9y
IGlmIHRoZSBsYXllciBoYXMgYSB0aWxlIGNhY2hlLgpAQCAtNDI1LDYgKzQyOCw3IEBAIHByaXZh
dGU6CiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJh
cjsKICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclNjcm9sbENvcm5lcjsKICAg
ICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyOworICAg
IFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXll
cjsKIAogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX3Njcm9sbENvbnRhaW5lckxheWVyOyAv
LyBPbmx5IHVzZWQgaWYgdGhlIGxheWVyIGlzIHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgog
ICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX3Njcm9sbGVkQ29udGVudHNMYXllcjsgLy8gT25s
eSB1c2VkIGlmIHRoZSBsYXllciBpcyB1c2luZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2NsaXBwaW5nL2JvcmRlci1yYWRpdXMtYXN5
bmMtb3ZlcmZsb3ctY2xpcHBpbmctbGF5ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvY2xpcHBpbmcvYm9yZGVyLXJhZGl1cy1hc3luYy1vdmVyZmxvdy1jbGlwcGluZy1s
YXllci1leHBlY3RlZC50eHQKaW5kZXggZGM2YWI1NWNmZjY1MmViOWZkMjY2NjlmZWVkYjBlNjQ0
ODNiMzY2Ni4uNTI3YTBlODk0MTljNzY1NGY4MWVjNzIyZDg4YjBlZGE0MjcyZDNmMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvY2xpcHBpbmcvYm9yZGVyLXJhZGl1cy1hc3lu
Yy1vdmVyZmxvdy1jbGlwcGluZy1sYXllci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvY2xpcHBpbmcvYm9yZGVyLXJhZGl1cy1hc3luYy1vdmVyZmxvdy1jbGlwcGlu
Zy1sYXllci1leHBlY3RlZC50eHQKQEAgLTM4LDEzICszOCwxNyBAQCBUaGlzIGlzIHRoZSBzY3Jv
bGxlZCBjb250ZW50cwogICAgICAgICAgICAgKQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
ICAgICAgICAgICAgICAgKHBvc2l0aW9uIDQ0LjAwIDQ0LjAwKQotICAgICAgICAgICAgICAoYm91
bmRzIDMyMC4wMCAyMDAuMDApCi0gICAgICAgICAgICAgIChjbGlwcyAxKQogICAgICAgICAgICAg
ICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAg
ICAgICAgICAocG9zaXRpb24gMzA1LjAwIDAuMDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRz
IDE1LjAwIDIwMC4wMCkKLSAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAg
ICAgICAgICAgICAgIChib3VuZHMgMzIwLjAwIDIwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChj
bGlwcyAxKQorICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMzA1LjAw
IDAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAyMDAuMDApCisgICAg
ICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAp
CisgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAp
CiAgICAgICAgICAgICApCkBAIC04NiwxMyArOTAsMTcgQEAgVGhpcyBpcyB0aGUgc2Nyb2xsZWQg
Y29udGVudHMKICAgICAgICAgICAgICkKICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAg
ICAgICAgICAgIChwb3NpdGlvbiA0NC4wMCA0NC4wMCkKLSAgICAgICAgICAgICAgKGJvdW5kcyAz
MjAuMDAgMjAwLjAwKQotICAgICAgICAgICAgICAoY2xpcHMgMSkKICAgICAgICAgICAgICAgKGNo
aWxkcmVuIDEKICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAg
ICAgKHBvc2l0aW9uIDMwNS4wMCAwLjAwKQotICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4w
MCAyMDAuMDApCi0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAg
ICAgICAgICAoYm91bmRzIDMyMC4wMCAyMDAuMDApCisgICAgICAgICAgICAgICAgICAoY2xpcHMg
MSkKKyAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDMwNS4wMCAwLjAw
KQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMjAwLjAwKQorICAgICAgICAg
ICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAg
ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAg
ICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3Jl
YXRpb24vYWJzb2x1dGUtaW4tYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2Fic29sdXRlLWluLWFzeW5jLW92
ZXJmbG93LXNjcm9sbC1leHBlY3RlZC50eHQKaW5kZXggZTJmNjBmYTNlMGE2NDJiZDQyYjIxZDlm
ZGVlZDA5NzRiMzlkNGFlOS4uMDVlMTQxYjUzODRlOGEyYzFhYTMxMGU5NzM1OTdmMTVmOWQzZmQ1
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vYWJz
b2x1dGUtaW4tYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9hYnNvbHV0ZS1pbi1hc3luYy1vdmVyZmxv
dy1zY3JvbGwtZXhwZWN0ZWQudHh0CkBAIC0zNiwyMiArMzYsMjYgQEAgVGhpcyBsYXllciBzaG91
bGQgYmUgY29tcG9zaXRlZC4KICAgICAgICAgICAgICkKICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCiAgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDEuMDApCi0gICAgICAgICAgICAgIChi
b3VuZHMgMjAwLjAwIDIwMC4wMCkKLSAgICAgICAgICAgICAgKGNoaWxkcmVuIDMKLSAgICAgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDAuMDAg
MTg1LjAwKQotICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxODUuMDAgMTUuMDApCi0gICAgICAg
ICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCi0gICAgICAgICAgICAgICAgKQotICAgICAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAgICAocG9zaXRpb24gMTg1LjAw
IDAuMDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE4NS4wMCkKLSAgICAgICAg
ICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAg
ICAgICAgICAgIChwb3NpdGlvbiAxODUuMDAgMTg1LjAwKQotICAgICAgICAgICAgICAgICAgKGJv
dW5kcyAxNS4wMCAxNS4wMCkKLSAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4wMCkKKyAgICAgICAgICAgICAgICAg
IChjaGlsZHJlbiAzCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgICAgICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMTg1LjAwKQorICAgICAgICAgICAgICAgICAg
ICAgIChib3VuZHMgMTg1LjAwIDE1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0Nv
bnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAxODUuMDAgMC4wMCkK
KyAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE4NS4wMCkKKyAgICAgICAgICAg
ICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9z
aXRpb24gMTg1LjAwIDE4NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAw
IDE1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICkKICAg
ICAgICAgICAgICAgKQogICAgICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvbmVzdGVkLXNjcm9sbGVyLW92
ZXJsYXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRp
b24vY2xpcHBpbmctc2NvcGUvbmVzdGVkLXNjcm9sbGVyLW92ZXJsYXAtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDM1ZTI3OWQzNDczZDQwZTQ1NGFlYWIxZThkY2EyNzk4NzM4OWI1ZTQuLmEzMDdjYTA2NjI1
OWFlNGY2NGUyNDk5NWE1NTFkNzVlNWE2NmVhNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2NsaXBwaW5nLXNjb3BlL25lc3RlZC1zY3JvbGxlci1v
dmVybGFwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXllci1j
cmVhdGlvbi9jbGlwcGluZy1zY29wZS9uZXN0ZWQtc2Nyb2xsZXItb3ZlcmxhcC1leHBlY3RlZC50
eHQKQEAgLTQ1LDEzICs0NSwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAg
ICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKHBvc2l0aW9uIDEuMDAgMS4wMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5k
cyAzMDAuMDAgMjAwLjAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpcHMgMSkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBv
c2l0aW9uIDI4NS4wMCAwLjAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5k
cyAxNS4wMCAyMDAuMDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250
ZW50IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAyMDAu
MDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpcHMgMSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KHBvc2l0aW9uIDI4NS4wMCAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChib3VuZHMgMTUuMDAgMjAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAg
KQpAQCAtMTM4LDEzICsxNDIsMTcgQEAKICAgICAgICAgKQogICAgICAgICAoR3JhcGhpY3NMYXll
cgogICAgICAgICAgIChwb3NpdGlvbiAyNC4wMCAxMDYuMDApCi0gICAgICAgICAgKGJvdW5kcyA0
MDAuMDAgMzUwLjAwKQotICAgICAgICAgIChjbGlwcyAxKQogICAgICAgICAgIChjaGlsZHJlbiAx
CiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAocG9zaXRpb24gMzg1
LjAwIDAuMDApCi0gICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzUwLjAwKQotICAgICAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgIChib3VuZHMgNDAwLjAwIDM1MC4w
MCkKKyAgICAgICAgICAgICAgKGNsaXBzIDEpCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisg
ICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgIChwb3NpdGlv
biAzODUuMDAgMC4wMCkKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzUwLjAwKQor
ICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmct
c2NvcGUvb3ZlcmxhcC1jb25zdHJhaW5lZC1pbnNpZGUtc2Nyb2xsZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvb3Zl
cmxhcC1jb25zdHJhaW5lZC1pbnNpZGUtc2Nyb2xsZXItZXhwZWN0ZWQudHh0CmluZGV4IDc2ZjAw
YmQyMzFhNDQyMTU4MWU2ZDg5OWE1ODUxMGUyNmFjZGU2ZGEuLjBmZmQ2ZDJkODE0OGMyNGZkNDUw
YjdiODFjYjZlYjJkZTFkYTQyOTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2xheWVyLWNyZWF0aW9uL2NsaXBwaW5nLXNjb3BlL292ZXJsYXAtY29uc3RyYWluZWQtaW5zaWRl
LXNjcm9sbGVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9sYXll
ci1jcmVhdGlvbi9jbGlwcGluZy1zY29wZS9vdmVybGFwLWNvbnN0cmFpbmVkLWluc2lkZS1zY3Jv
bGxlci1leHBlY3RlZC50eHQKQEAgLTgyLDEyICs4MiwxNiBAQAogICAgICAgICApCiAgICAgICAg
IChHcmFwaGljc0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDkuMDAgOS4wMCkKLSAgICAgICAg
ICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCiAgICAgICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAg
ICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgIChwb3NpdGlvbiAyODUuMDAgMC4wMCkK
LSAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAzMDAuMDApCi0gICAgICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAg
ICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgICAgICAgICAocG9zaXRpb24gMjg1LjAwIDAuMDApCisgICAgICAgICAgICAgICAgICAo
Ym91bmRzIDE1LjAwIDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkK
KyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAg
ICAgICApCiAgICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xh
eWVyLWNyZWF0aW9uL2NsaXBwaW5nLXNjb3BlL292ZXJsYXAtY29uc3RyYWluZWQtaW5zaWRlLXN0
YWNraW5nLWNvbnRleHQtc2Nyb2xsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvb3ZlcmxhcC1jb25zdHJhaW5lZC1p
bnNpZGUtc3RhY2tpbmctY29udGV4dC1zY3JvbGxlci1leHBlY3RlZC50eHQKaW5kZXggZGRiZGVm
YjkyZGI1NjM2N2NhOGUxOWFjZTNlMzNiY2YwYWE4MDQ0MS4uOTA3NDY4ZWQ1MzIzNjQxYTRjZWFl
ZTc1NmY3YzM2NmZkNzRlYzVhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
bGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvb3ZlcmxhcC1jb25zdHJhaW5lZC1pbnNpZGUt
c3RhY2tpbmctY29udGV4dC1zY3JvbGxlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvb3ZlcmxhcC1jb25zdHJh
aW5lZC1pbnNpZGUtc3RhY2tpbmctY29udGV4dC1zY3JvbGxlci1leHBlY3RlZC50eHQKQEAgLTQz
LDEyICs0MywxNiBAQAogICAgICAgICAgICAgKQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
ICAgICAgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMS4wMCkKLSAgICAgICAgICAgICAgKGJvdW5k
cyAzMDAuMDAgMzAwLjAwKQogICAgICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAg
ICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAgICAocG9zaXRpb24gMjg1LjAwIDAu
MDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDMwMC4wMCkKLSAgICAgICAgICAg
ICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAw
IDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAg
ICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4w
MCAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzAwLjAwKQorICAg
ICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAg
KQogICAgICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5
ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvc2Nyb2xsZXItd2l0aC1uZWdhdGl2ZS16LWNoaWxk
cmVuLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9u
L2NsaXBwaW5nLXNjb3BlL3Njcm9sbGVyLXdpdGgtbmVnYXRpdmUtei1jaGlsZHJlbi1leHBlY3Rl
ZC50eHQKaW5kZXggNTNmMDc2NWM0NjMzYTBmMzBjNjg5YmVhYTExMTEyOTdjYmQ1MTgxMi4uNjdl
MjE3MjFjYjRlMzkxN2U2ZjM5MDI0OTMyOGNiZjMyODU3YjBkOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvc2Nyb2xsZXIt
d2l0aC1uZWdhdGl2ZS16LWNoaWxkcmVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9jbGlwcGluZy1zY29wZS9zY3JvbGxlci13aXRoLW5l
Z2F0aXZlLXotY2hpbGRyZW4tZXhwZWN0ZWQudHh0CkBAIC05MCwxMiArOTAsMTYgQEAKICAgICAg
ICAgICAgICkKICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgICAgIChwb3Np
dGlvbiA5LjAwIDkuMDApCi0gICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKICAg
ICAgICAgICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgot
ICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAwLjAwKQotICAgICAgICAgICAgICAg
ICAgKGJvdW5kcyAxNS4wMCAzMDAuMDApCi0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCisgICAgICAgICAg
ICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgor
ICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAyODUuMDAgMC4wMCkKKyAgICAgICAgICAg
ICAgICAgICAgICAoYm91bmRzIDE1LjAwIDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAo
ZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAg
ICkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL2NsaXBwaW5n
LXNjb3BlL3NoYXJlZC1sYXllcnMtaW4tc2Nyb2xsZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvc2hhcmVkLWxheWVy
cy1pbi1zY3JvbGxlci1leHBlY3RlZC50eHQKaW5kZXggNmMyNzIyNzJhY2Y2OTJiMTc0YzgxM2Ux
NzFlMDExZDllNTg1ZmE3Yi4uZTMxZGE0MGUzZDdiM2M0ZmIxZGIyOTU3ODY2YWNmYzQxMTM0MWZh
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xp
cHBpbmctc2NvcGUvc2hhcmVkLWxheWVycy1pbi1zY3JvbGxlci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vY2xpcHBpbmctc2NvcGUvc2hh
cmVkLWxheWVycy1pbi1zY3JvbGxlci1leHBlY3RlZC50eHQKQEAgLTI2LDEyICsyNiwxNiBAQAog
ICAgICAgICAgICAgKQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAg
KHBvc2l0aW9uIDEuMDAgMS4wMCkKLSAgICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAw
KQogICAgICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCi0gICAgICAgICAgICAgICAgICAocG9zaXRpb24gMjg1LjAwIDAuMDApCi0gICAgICAgICAg
ICAgICAgICAoYm91bmRzIDE1LjAwIDMwMC4wMCkKLSAgICAgICAgICAgICAgICAgIChkcmF3c0Nv
bnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAgICAg
ICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
ICAgICAgKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvb3ZlcmZsb3ct
YXV0by13aXRoLXRvdWNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292
ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10b3VjaC1leHBlY3RlZC50eHQKaW5kZXggZWRhNTUw
ZDU5NTdhNGFlZDQ5MDk0OTE4OWRmY2ZkNDRhOWE2NmFmMC4uZWI5NDI2ZTQ1ZjM3YTQ1YzY0Y2Ez
N2IzMzRhMDc5NDhmYjA1YmUzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
b3ZlcmZsb3cvb3ZlcmZsb3ctYXV0by13aXRoLXRvdWNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtZXhw
ZWN0ZWQudHh0CkBAIC0yMSwyMiArMjEsMjYgQEAKICAgICAgICAgICAgICAgKQogICAgICAgICAg
ICAgKQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgKGJvdW5kcyAz
MDAuMDAgMzAwLjAwKQotICAgICAgICAgICAgICAoY2hpbGRyZW4gMwotICAgICAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAgICAocG9zaXRpb24gMC4wMCAyODUuMDAp
Ci0gICAgICAgICAgICAgICAgICAoYm91bmRzIDI4NS4wMCAxNS4wMCkKLSAgICAgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAyODUuMDAgMC4wMCkK
LSAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMjg1LjAwKQotICAgICAgICAgICAgICAg
ICAgKGRyYXdzQ29udGVudCAxKQotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKGNo
aWxkcmVuIDEKICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAg
ICAgKHBvc2l0aW9uIDI4NS4wMCAyODUuMDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRzIDE1
LjAwIDE1LjAwKQotICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAg
ICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAgKGNoaWxk
cmVuIDMKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAg
ICAgICAgICAocG9zaXRpb24gMC4wMCAyODUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJv
dW5kcyAyODUuMDAgMTUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAx
KQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMjg1LjAwKQorICAgICAgICAgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAy
ODUuMDAgMjg1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMTUuMDAp
CisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAg
ICAgICApCisgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAg
ICAgICApCiAgICAgICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9vdmVyZmxvdy1hdXRvLXdpdGgtdG91Y2gtdG9nZ2xlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10b3Vj
aC10b2dnbGUtZXhwZWN0ZWQudHh0CmluZGV4IGUyZDNmMTlmODQ0ZjU0MDcwOGU3MGQ5Yjc1OGM3
NDI3NmNlMjYzYTQuLmViOTQyNmU0NWYzN2E0NWM2NGNhMzdiMzM0YTA3OTQ4ZmIwNWJlM2UgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8t
d2l0aC10b3VjaC10b2dnbGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL292ZXJmbG93L292ZXJmbG93LWF1dG8td2l0aC10b3VjaC10b2dnbGUtZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNSBAQAogKEdyYXBoaWNzTGF5ZXIKKyAgKGFuY2hvciAwLjAwIDAuMDApCiAg
IChib3VuZHMgODAwLjAwIDYwMC4wMCkKICAgKGNoaWxkcmVuIDEKICAgICAoR3JhcGhpY3NMYXll
cgpAQCAtOCwzMCArOSw0MCBAQAogICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgIChw
b3NpdGlvbiA4LjAwIDguMDApCiAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQotICAg
ICAgICAgIChjaGlsZHJlbiA0CisgICAgICAgICAgKGNoaWxkcmVuIDIKICAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCi0gICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKKyAgICAg
ICAgICAgICAgKGJvdW5kcyAyODUuMDAgMjg1LjAwKQogICAgICAgICAgICAgICAoY2hpbGRyZW4g
MQogICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAoYW5j
aG9yIDAuMDAgMC4wMCkKICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTAwMC4wMCAxMDAwLjAw
KQogICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQogICAgICAgICAgICAgICAgICkK
ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKLSAgICAgICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMjg1LjAwKQotICAgICAgICAgICAgICAo
Ym91bmRzIDI4NS4wMCAxNS4wMCkKLSAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQotICAg
ICAgICAgICAgKQotICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgKHBv
c2l0aW9uIDI4NS4wMCAwLjAwKQotICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDI4NS4wMCkK
LSAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQotICAgICAgICAgICAgKQotICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAyODUuMDAp
Ci0gICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMTUuMDApCi0gICAgICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQor
ICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDMKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMC4wMCAyODUuMDApCisg
ICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyODUuMDAgMTUuMDApCisgICAgICAgICAgICAg
ICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0
aW9uIDI4NS4wMCAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMjg1
LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
ICAgICAgICAgICAgIChwb3NpdGlvbiAyODUuMDAgMjg1LjAwKQorICAgICAgICAgICAgICAgICAg
ICAgIChib3VuZHMgMTUuMDAgMTUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29u
dGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICApCisgICAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAg
KQogICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZXBhaW50
L2NvbXBvc2l0aW5nLXRvZ2dsZS1pbi1vdmVyZmxvdy1zY3JvbGwtcmVwYWludC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZXBhaW50L2NvbXBvc2l0aW5nLXRvZ2dsZS1p
bi1vdmVyZmxvdy1zY3JvbGwtcmVwYWludC1leHBlY3RlZC50eHQKaW5kZXggZDY5MDljZWM0ZjRi
ODBlMjFjYTE0OWVkMWE3ZDY5YWZhYmIwODBhNC4uNzZmNjE5YzI5YmQxYmU3MmQxM2EyMTY3ZGQ1
YmJjYWZmNDY5ZjhmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVwYWlu
dC9jb21wb3NpdGluZy10b2dnbGUtaW4tb3ZlcmZsb3ctc2Nyb2xsLXJlcGFpbnQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlcGFpbnQvY29tcG9zaXRpbmctdG9n
Z2xlLWluLW92ZXJmbG93LXNjcm9sbC1yZXBhaW50LWV4cGVjdGVkLnR4dApAQCAtNDcsMjggKzQ3
LDMyIEBACiAgICAgICAgICAgICApCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAg
ICAgICAgICAocG9zaXRpb24gMS4wMCAxLjAwKQotICAgICAgICAgICAgICAoYm91bmRzIDQwMC4w
MCA0MDAuMDApCi0gICAgICAgICAgICAgIChjaGlsZHJlbiAzCi0gICAgICAgICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDM4NS4wMCkKLSAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMzg1LjAwIDE1LjAwKQotICAgICAgICAgICAgICAgICAg
KGRyYXdzQ29udGVudCAxKQotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKGNoaWxk
cmVuIDEKICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAgICAg
KHBvc2l0aW9uIDM4NS4wMCAwLjAwKQotICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAz
ODUuMDApCi0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCi0gICAgICAgICAgICAg
ICAgICAocmVwYWludCByZWN0cwotICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAg
MTUuMDAgMzg1LjAwKQotICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTUuMDAg
Mzg1LjAwKQotICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTUuMDAgMzg1LjAw
KQorICAgICAgICAgICAgICAgICAgKGJvdW5kcyA0MDAuMDAgNDAwLjAwKQorICAgICAgICAgICAg
ICAgICAgKGNoaWxkcmVuIDMKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMC4wMCAzODUuMDApCisgICAgICAgICAgICAg
ICAgICAgICAgKGJvdW5kcyAzODUuMDAgMTUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDM4NS4wMCAw
LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzg1LjAwKQorICAgICAg
ICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAo
cmVwYWludCByZWN0cworICAgICAgICAgICAgICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE1
LjAwIDM4NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCAxNS4w
MCAzODUuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTUuMDAg
Mzg1LjAwKQorICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgKQor
ICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAg
IChwb3NpdGlvbiAzODUuMDAgMzg1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMg
MTUuMDAgMTUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAg
ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg
KQotICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAgICAocG9z
aXRpb24gMzg1LjAwIDM4NS4wMCkKLSAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMTUu
MDApCi0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCi0gICAgICAgICAgICAgICAg
KQogICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVwYWludC9zY3JvbGxlci13aXRoLWZvcmVncm91
bmQtbGF5ZXItcmVwYWludHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVwYWludC9zY3JvbGxlci13aXRoLWZvcmVncm91bmQtbGF5ZXItcmVwYWludHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDJhN2I2YWVlMDI2ZWFlOWVmZDRiYmZiMmI3NGI3NjU0YTEzOWJkZDQuLjZkZWI4
MjExNzc5ZDRiZjk2N2Y2NGE0ZTg2NjA1YmYyODBmMmU5MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3JlcGFpbnQvc2Nyb2xsZXItd2l0aC1mb3JlZ3JvdW5kLWxheWVyLXJl
cGFpbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZXBhaW50
L3Njcm9sbGVyLXdpdGgtZm9yZWdyb3VuZC1sYXllci1yZXBhaW50cy1leHBlY3RlZC50eHQKQEAg
LTQyLDI4ICs0MiwzMiBAQCBTY3JvbGxlZCBjb250ZW50cwogICAgICAgICAgICAgKQogICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgKHBvc2l0aW9uIDEuMDAgMS4wMCkK
LSAgICAgICAgICAgICAgKGJvdW5kcyAzMjAuMDAgMzIwLjAwKQotICAgICAgICAgICAgICAoY2hp
bGRyZW4gMwotICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAg
ICAocG9zaXRpb24gMC4wMCAzMDUuMDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRzIDMwNS4w
MCAxNS4wMCkKLSAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAg
ICAgICApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAzMDUuMDAgMC4wMCkKLSAgICAg
ICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzA1LjAwKQotICAgICAgICAgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQotICAgICAgICAgICAgICAgICAgKHJlcGFpbnQgcmVjdHMKLSAgICAgICAg
ICAgICAgICAgICAgKHJlY3QgMC4wMCAwLjAwIDE1LjAwIDMwNS4wMCkKLSAgICAgICAgICAgICAg
ICAgICAgKHJlY3QgMC4wMCAwLjAwIDE1LjAwIDMwNS4wMCkKLSAgICAgICAgICAgICAgICAgICAg
KHJlY3QgMC4wMCAwLjAwIDE1LjAwIDMwNS4wMCkKKyAgICAgICAgICAgICAgICAgIChib3VuZHMg
MzIwLjAwIDMyMC4wMCkKKyAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAzCisgICAgICAgICAg
ICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9u
IDAuMDAgMzA1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMzA1LjAwIDE1LjAw
KQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAg
ICAgICAgKQorICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAg
ICAgICAgICAgIChwb3NpdGlvbiAzMDUuMDAgMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAo
Ym91bmRzIDE1LjAwIDMwNS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCisgICAgICAgICAgICAgICAgICAgICAgKHJlcGFpbnQgcmVjdHMKKyAgICAgICAgICAgICAg
ICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCAxNS4wMCAzMDUuMDApCisgICAgICAgICAgICAgICAg
ICAgICAgICAocmVjdCAwLjAwIDAuMDAgMTUuMDAgMzA1LjAwKQorICAgICAgICAgICAgICAgICAg
ICAgICAgKHJlY3QgMC4wMCAwLjAwIDE1LjAwIDMwNS4wMCkKKyAgICAgICAgICAgICAgICAgICAg
ICApCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMzA1LjAwIDMwNS4wMCkKKyAg
ICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE1LjAwKQorICAgICAgICAgICAgICAg
ICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg
ICAgICAgICAgKQogICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAgICAoR3JhcGhpY3NM
YXllcgotICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDMwNS4wMCAzMDUuMDApCi0gICAgICAg
ICAgICAgICAgICAoYm91bmRzIDE1LjAwIDE1LjAwKQotICAgICAgICAgICAgICAgICAgKGRyYXdz
Q29udGVudCAxKQotICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAgICAgICAg
ICAgKQogICAgICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3J0
bC9ydGwtc2Nyb2xsaW5nLXdpdGgtdHJhbnNmb3JtZWQtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1zY3JvbGxpbmctd2l0aC10cmFuc2Zv
cm1lZC1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQKaW5kZXggMGQ5NDcxMmIzNTY1MzUyNmQ2YTg4
NmNhMmU1OWQ5YTY3MTY1Y2NjZC4uNTNkYTY3YTRjMzI0NzJiMzA0MzIyODM3ZmFhZDc1YjhkN2Fm
NTczMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1zY3JvbGxp
bmctd2l0aC10cmFuc2Zvcm1lZC1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcnRsL3J0bC1zY3JvbGxpbmctd2l0aC10cmFuc2Zvcm1lZC1kZXNj
ZW5kYW50cy1leHBlY3RlZC50eHQKQEAgLTg1LDEzICs4NSwxNyBAQAogICAgICAgICApCiAgICAg
ICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDEwLjAwIDEwLjAwKQotICAg
ICAgICAgIChib3VuZHMgNDAwLjAwIDIxOS4wMCkKLSAgICAgICAgICAoY2xpcHMgMSkKICAgICAg
ICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAg
ICAgKHBvc2l0aW9uIDAuMDAgMjA0LjAwKQotICAgICAgICAgICAgICAoYm91bmRzIDQwMC4wMCAx
NS4wMCkKLSAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAoYm91
bmRzIDQwMC4wMCAyMTkuMDApCisgICAgICAgICAgICAgIChjbGlwcyAxKQorICAgICAgICAgICAg
ICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAg
ICAgICAgICAocG9zaXRpb24gMC4wMCAyMDQuMDApCisgICAgICAgICAgICAgICAgICAoYm91bmRz
IDQwMC4wMCAxNS4wMCkKKyAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICAp
CiAgICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGlu
Zy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvY2xpcHBlZC1sYXllci1pbi1vdmVyZmxvdy1jbGlw
cGVkLWJ5LXNjcm9sbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zY3Jv
bGxpbmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsaW5nL2NsaXBwZWQtbGF5ZXItaW4tb3ZlcmZsb3ct
Y2xpcHBlZC1ieS1zY3JvbGwtZXhwZWN0ZWQudHh0CmluZGV4IDk1M2U2Y2NhYTQzYTJiNTE0MWM0
MGEyOWRkODUxN2VkODBkMTJjYWEuLmMzNDA2YzI5M2YwNWY2YWUwNGJhMTZhMTg4MjI5Yzk4YjQ3
YjdlMTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9hc3lu
Yy1vdmVyZmxvdy1zY3JvbGxpbmcvY2xpcHBlZC1sYXllci1pbi1vdmVyZmxvdy1jbGlwcGVkLWJ5
LXNjcm9sbC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2Nyb2xs
aW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9jbGlwcGVkLWxheWVyLWluLW92ZXJmbG93LWNs
aXBwZWQtYnktc2Nyb2xsLWV4cGVjdGVkLnR4dApAQCAtNTQsMTMgKzU0LDE3IEBACiAgICAgICAg
ICkKICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gNDEuMDAgMzMu
MDApCi0gICAgICAgICAgKGJvdW5kcyAzMTYuMDAgMzE2LjAwKQotICAgICAgICAgIChjbGlwcyAx
KQogICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAg
ICAgICAgICAgICAocG9zaXRpb24gMzAxLjAwIDAuMDApCi0gICAgICAgICAgICAgIChib3VuZHMg
MTUuMDAgMzE2LjAwKQotICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAg
ICAgIChib3VuZHMgMzE2LjAwIDMxNi4wMCkKKyAgICAgICAgICAgICAgKGNsaXBzIDEpCisgICAg
ICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAgICAgICAgIChwb3NpdGlvbiAzMDEuMDAgMC4wMCkKKyAgICAgICAgICAgICAgICAg
IChib3VuZHMgMTUuMDAgMzE2LjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAx
KQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogICAg
ICAgICAgICkKICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
c2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9jbGlwcGVkLWxheWVyLWluLW92ZXJm
bG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9hc3lu
Yy1vdmVyZmxvdy1zY3JvbGxpbmcvY2xpcHBlZC1sYXllci1pbi1vdmVyZmxvdy1leHBlY3RlZC50
eHQKaW5kZXggZmUzOWM0NDFlNDliZWU1Yjg3MTA2NTdhMDJiZjQ3NjFjOGU4OTIxZi4uM2M2Njg2
OGYwZTI0ZGE2MTU5YmUwODhlYmI3NzBiYWZjZTAxOTczYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9jbGlwcGVk
LWxheWVyLWluLW92ZXJmbG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsaW5nL2NsaXBwZWQtbGF5ZXItaW4t
b3ZlcmZsb3ctZXhwZWN0ZWQudHh0CkBAIC01NCwxMyArNTQsMTcgQEAKICAgICAgICAgKQogICAg
ICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgIChwb3NpdGlvbiA0MS4wMCAzMy4wMCkKLSAg
ICAgICAgICAoYm91bmRzIDMxNi4wMCAzMTYuMDApCi0gICAgICAgICAgKGNsaXBzIDEpCiAgICAg
ICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAg
ICAgIChwb3NpdGlvbiAzMDEuMDAgMC4wMCkKLSAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAz
MTYuMDApCi0gICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgKGJv
dW5kcyAzMTYuMDAgMzE2LjAwKQorICAgICAgICAgICAgICAoY2xpcHMgMSkKKyAgICAgICAgICAg
ICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
ICAgICAgICAgKHBvc2l0aW9uIDMwMS4wMCAwLjAwKQorICAgICAgICAgICAgICAgICAgKGJvdW5k
cyAxNS4wMCAzMTYuMDApCisgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAg
KQogICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zY3JvbGxp
bmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsaW5nL2NsaXBwZWQtbGF5ZXItaW4tb3ZlcmZsb3ctbmVz
dGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9hc3lu
Yy1vdmVyZmxvdy1zY3JvbGxpbmcvY2xpcHBlZC1sYXllci1pbi1vdmVyZmxvdy1uZXN0ZWQtZXhw
ZWN0ZWQudHh0CmluZGV4IGJlZjFhYzYwNmEzOTc1MWJmYWFhMmRkMWQ3NDJlMmM2YmYwNjEwNjUu
Ljc4ZWRkZWQwZDhiYTA0NDVkMGY2MDgyZmIwYmNhNjRhMTk5MjFkZjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcv
Y2xpcHBlZC1sYXllci1pbi1vdmVyZmxvdy1uZXN0ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvY2xp
cHBlZC1sYXllci1pbi1vdmVyZmxvdy1uZXN0ZWQtZXhwZWN0ZWQudHh0CkBAIC01NSwxMyArNTUs
MTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChw
b3NpdGlvbiAzLjAwIDMuMDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRz
IDIxMC4wMCAyMTAuMDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpcHMgMSkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKHBvc2l0aW9uIDE5NS4wMCAwLjAwKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMjEwLjAwKQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoYm91bmRzIDIxMC4wMCAyMTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGNsaXBzIDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNo
aWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAxOTUu
MDAgMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAx
NS4wMCAyMTAuMDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICApCkBAIC0xMTMsMTMgKzExNywxNyBAQAogICAgICAgICApCiAgICAgICAg
IChHcmFwaGljc0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDQxLjAwIDMzLjAwKQotICAgICAg
ICAgIChib3VuZHMgMzE2LjAwIDMxNi4wMCkKLSAgICAgICAgICAoY2xpcHMgMSkKICAgICAgICAg
ICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAg
KHBvc2l0aW9uIDMwMS4wMCAwLjAwKQotICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDMxNi4w
MCkKLSAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAoYm91bmRz
IDMxNi4wMCAzMTYuMDApCisgICAgICAgICAgICAgIChjbGlwcyAxKQorICAgICAgICAgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
ICAgICAocG9zaXRpb24gMzAxLjAwIDAuMDApCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1
LjAwIDMxNi4wMCkKKyAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICApCiAg
ICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9h
c3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvbGF5ZXItZm9yLW5lZ2F0aXZlLXotaW4tc2Nyb2xsZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92
ZXJmbG93LXNjcm9sbGluZy9sYXllci1mb3ItbmVnYXRpdmUtei1pbi1zY3JvbGxlci1leHBlY3Rl
ZC50eHQKaW5kZXggYTllZTEyOWEzODVmMmQxODU0NTViY2I0MTM4YTFhMzMzNzkxODEzNC4uYjIy
ZGVhNzdhNGRiMzRkNzAwYTU2NTcwMGZiNGY5OTdmOTJlNDQyMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9sYXll
ci1mb3ItbmVnYXRpdmUtei1pbi1zY3JvbGxlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9sYXllci1m
b3ItbmVnYXRpdmUtei1pbi1zY3JvbGxlci1leHBlY3RlZC50eHQKQEAgLTI0LDEzICsyNCwxNyBA
QAogICAgICAgICAgICAgKQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAg
ICAgKHBvc2l0aW9uIDkuMDAgOS4wMCkKLSAgICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAw
LjAwKQotICAgICAgICAgICAgICAoY2xpcHMgMSkKICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEK
ICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAgICAgKHBvc2l0
aW9uIDI4NS4wMCAwLjAwKQotICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAzMDAuMDAp
Ci0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAo
Ym91bmRzIDMwMC4wMCAzMDAuMDApCisgICAgICAgICAgICAgICAgICAoY2xpcHMgMSkKKyAgICAg
ICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
ICAgICAgKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92
ZXJmbG93LXNjcm9sbGluZy9sYXllci1pbi1vdmVyZmxvdy1jbGlwLXRvLWhpZGRlbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ct
c2Nyb2xsaW5nL2xheWVyLWluLW92ZXJmbG93LWNsaXAtdG8taGlkZGVuLWV4cGVjdGVkLnR4dApp
bmRleCBhM2QyMzEyNjk3ZTM3Y2UyMjEyNWQ5ZTdmODg2MTA1NmY4Y2NjYmQ1Li5mODlhMmNjZGRk
NjRlOTgxZjc4NDQ1ZGNkM2QxNzNiN2YwM2MwNmE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsaW5nL2xheWVyLWluLW92
ZXJmbG93LWNsaXAtdG8taGlkZGVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsaW5nL2xheWVyLWluLW92ZXJm
bG93LWNsaXAtdG8taGlkZGVuLWV4cGVjdGVkLnR4dApAQCAtNTQsMTMgKzU0LDE3IEBACiAgICAg
ICAgICkKICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gNDEuMDAg
MzMuMDApCi0gICAgICAgICAgKGJvdW5kcyAzMTYuMDAgMzE2LjAwKQotICAgICAgICAgIChjbGlw
cyAxKQogICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgot
ICAgICAgICAgICAgICAocG9zaXRpb24gMzAxLjAwIDAuMDApCi0gICAgICAgICAgICAgIChib3Vu
ZHMgMTUuMDAgMzE2LjAwKQotICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICAgICAgIChib3VuZHMgMzE2LjAwIDMxNi4wMCkKKyAgICAgICAgICAgICAgKGNsaXBzIDEpCisg
ICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAzMDEuMDAgMC4wMCkKKyAgICAgICAgICAgICAg
ICAgIChib3VuZHMgMTUuMDAgMzE2LjAwKQorICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVu
dCAxKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQog
ICAgICAgICAgICkKICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9sYXllci1pbi1vdmVyZmxvdy1j
bGlwLXRvLXZpc2libGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2Ny
b2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9sYXllci1pbi1vdmVyZmxvdy1jbGlwLXRv
LXZpc2libGUtZXhwZWN0ZWQudHh0CmluZGV4IDAwODFiMWRkMDY5ZmMyMWJlYzZhYjRkMWE0OTEx
MDI3ZGFkZDUyMmMuLjY0OWNkOTFhNjI3NTNkNmMwOTdkZjM3NTBjNWFiMTgyNmMyMWJkZTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9hc3luYy1vdmVyZmxv
dy1zY3JvbGxpbmcvbGF5ZXItaW4tb3ZlcmZsb3ctY2xpcC10by12aXNpYmxlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ct
c2Nyb2xsaW5nL2xheWVyLWluLW92ZXJmbG93LWNsaXAtdG8tdmlzaWJsZS1leHBlY3RlZC50eHQK
QEAgLTQ3LDEzICs0NywxNyBAQAogICAgICAgICApCiAgICAgICAgIChHcmFwaGljc0xheWVyCiAg
ICAgICAgICAgKHBvc2l0aW9uIDQxLjAwIDMzLjAwKQotICAgICAgICAgIChib3VuZHMgMzE2LjAw
IDMxNi4wMCkKLSAgICAgICAgICAoY2xpcHMgMSkKICAgICAgICAgICAoY2hpbGRyZW4gMQogICAg
ICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgKHBvc2l0aW9uIDMwMS4wMCAw
LjAwKQotICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDMxNi4wMCkKLSAgICAgICAgICAgICAg
KGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAoYm91bmRzIDMxNi4wMCAzMTYuMDApCisg
ICAgICAgICAgICAgIChjbGlwcyAxKQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAg
ICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMzAx
LjAwIDAuMDApCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDMxNi4wMCkKKyAgICAg
ICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICApCiAgICAgICAgICkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3Jv
bGxpbmcvbGF5ZXItaW4tb3ZlcmZsb3ctZ2Fpbi1jbGlwcGluZy1sYXllci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xs
aW5nL2xheWVyLWluLW92ZXJmbG93LWdhaW4tY2xpcHBpbmctbGF5ZXItZXhwZWN0ZWQudHh0Cmlu
ZGV4IGEzZDIzMTI2OTdlMzdjZTIyMTI1ZDllN2Y4ODYxMDU2ZjhjY2NiZDUuLmY4OWEyY2NkZGQ2
NGU5ODFmNzg0NDVkY2QzZDE3M2I3ZjAzYzA2YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvbGF5ZXItaW4tb3Zl
cmZsb3ctZ2Fpbi1jbGlwcGluZy1sYXllci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9sYXllci1pbi1v
dmVyZmxvdy1nYWluLWNsaXBwaW5nLWxheWVyLWV4cGVjdGVkLnR4dApAQCAtNTQsMTMgKzU0LDE3
IEBACiAgICAgICAgICkKICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRp
b24gNDEuMDAgMzMuMDApCi0gICAgICAgICAgKGJvdW5kcyAzMTYuMDAgMzE2LjAwKQotICAgICAg
ICAgIChjbGlwcyAxKQogICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAoR3JhcGhp
Y3NMYXllcgotICAgICAgICAgICAgICAocG9zaXRpb24gMzAxLjAwIDAuMDApCi0gICAgICAgICAg
ICAgIChib3VuZHMgMTUuMDAgMzE2LjAwKQotICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEp
CisgICAgICAgICAgICAgIChib3VuZHMgMzE2LjAwIDMxNi4wMCkKKyAgICAgICAgICAgICAgKGNs
aXBzIDEpCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAzMDEuMDAgMC4wMCkKKyAgICAg
ICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzE2LjAwKQorICAgICAgICAgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQogICAgICAg
ICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9sYXllci1pbi1v
dmVyZmxvdy1pbi1jbGlwcGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvbGF5ZXItaW4tb3ZlcmZsb3ctaW4t
Y2xpcHBlZC1leHBlY3RlZC50eHQKaW5kZXggYmViNjZiNmMyMzY0NDIwNTM5Yzk0YWUxYjk3OGMz
OWEyZjlmMzdjZi4uOWI5NTU5MzQ5ZGM4ZDVlMzQyZjBjYzk2ZmVmMTdiZTkyYzI0NDc4YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93
LXNjcm9sbGluZy9sYXllci1pbi1vdmVyZmxvdy1pbi1jbGlwcGVkLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xs
aW5nL2xheWVyLWluLW92ZXJmbG93LWluLWNsaXBwZWQtZXhwZWN0ZWQudHh0CkBAIC02NiwxMyAr
NjYsMTcgQEAKICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKICAgICAgICAgICAgICAgKHBvc2l0aW9uIDM5LjAwIDM5LjAwKQotICAgICAgICAgICAgICAo
Ym91bmRzIDMxNi4wMCAzMTYuMDApCi0gICAgICAgICAgICAgIChjbGlwcyAxKQogICAgICAgICAg
ICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAg
ICAgICAgICAgICAocG9zaXRpb24gMzAxLjAwIDAuMDApCi0gICAgICAgICAgICAgICAgICAoYm91
bmRzIDE1LjAwIDMxNi4wMCkKLSAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMzE2LjAwIDMxNi4wMCkKKyAgICAgICAgICAgICAgICAg
IChjbGlwcyAxKQorICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMzAx
LjAwIDAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAzMTYuMDApCisg
ICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAg
ICApCisgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg
ICApCiAgICAgICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9z
Y3JvbGxpbmcvb3ZlcmZsb3ctc2Nyb2xsaW5nLWxheWVycy1hcmUtc2VsZi1wYWludGluZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zY3JvbGxpbmcvb3ZlcmZsb3ctc2Ny
b2xsaW5nLWxheWVycy1hcmUtc2VsZi1wYWludGluZy1leHBlY3RlZC50eHQKaW5kZXggMTJiOGQ3
MzEwMzA4MzFjODcyOWFlY2U1Y2QzNGRhOTc1ZjNmNWNmZC4uNGYxZWQ4OTAxYWJiMDBjZDAwZDcy
NDYxNDJiYmQ3MzEzYzBhZTRmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
c2Nyb2xsaW5nL292ZXJmbG93LXNjcm9sbGluZy1sYXllcnMtYXJlLXNlbGYtcGFpbnRpbmctZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGluZy9vdmVyZmxv
dy1zY3JvbGxpbmctbGF5ZXJzLWFyZS1zZWxmLXBhaW50aW5nLWV4cGVjdGVkLnR4dApAQCAtMjUs
MjIgKzI1LDI2IEBACiAgICAgICAgICAgICApCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgog
ICAgICAgICAgICAgICAocG9zaXRpb24gMS4wMCAxLjAwKQotICAgICAgICAgICAgICAoYm91bmRz
IDMwMC4wMCAzMDAuMDApCi0gICAgICAgICAgICAgIChjaGlsZHJlbiAzCi0gICAgICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDI4NS4w
MCkKLSAgICAgICAgICAgICAgICAgIChib3VuZHMgMjg1LjAwIDE1LjAwKQotICAgICAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAg
ICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAwLjAw
KQotICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAyODUuMDApCi0gICAgICAgICAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCi0gICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAo
Y2hpbGRyZW4gMQogICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAg
ICAgICAocG9zaXRpb24gMjg1LjAwIDI4NS4wMCkKLSAgICAgICAgICAgICAgICAgIChib3VuZHMg
MTUuMDAgMTUuMDApCi0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCisgICAgICAgICAgICAgICAgICAoY2hp
bGRyZW4gMworICAgICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAg
ICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDI4NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAo
Ym91bmRzIDI4NS4wMCAxNS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMjg1LjAwIDAuMDApCisgICAg
ICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAyODUuMDApCisgICAgICAgICAgICAgICAg
ICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9u
IDI4NS4wMCAyODUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAxNS4w
MCkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAg
ICAgICAgICkKKyAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICApCiAgICAgICAg
ICAgICAgICkKICAgICAgICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3NoYXJlZC1iYWNraW5nL292ZXJmbG93LXNjcm9sbC9hYnNvbHV0ZS1pbi1zdGFja2luZy1y
ZWxhdGl2ZS1pbi1zY3JvbGxlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9zaGFyZWQtYmFja2luZy9vdmVyZmxvdy1zY3JvbGwvYWJzb2x1dGUtaW4tc3RhY2tpbmctcmVs
YXRpdmUtaW4tc2Nyb2xsZXItZXhwZWN0ZWQudHh0CmluZGV4IDM1NGE2N2ExZDc1ZGI1ZmU1ZWEx
MDA0YzRhNTMwMzY1N2U3M2VmYzQuLmE0ZGU4ZjA2OWMzNDVlZjBmODA3OGY4MTc1ZGFjZGQ3MjUz
MWE5OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5n
L292ZXJmbG93LXNjcm9sbC9hYnNvbHV0ZS1pbi1zdGFja2luZy1yZWxhdGl2ZS1pbi1zY3JvbGxl
ci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hhcmVkLWJhY2tp
bmcvb3ZlcmZsb3ctc2Nyb2xsL2Fic29sdXRlLWluLXN0YWNraW5nLXJlbGF0aXZlLWluLXNjcm9s
bGVyLWV4cGVjdGVkLnR4dApAQCAtMjcsMjIgKzI3LDI2IEBAIHJlbGF0aXZlIGFic29sdXRlCiAg
ICAgICAgICAgICApCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgICAgICAo
cG9zaXRpb24gMi4wMCAyLjAwKQotICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDAp
Ci0gICAgICAgICAgICAgIChjaGlsZHJlbiAzCi0gICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDI4NS4wMCkKLSAgICAgICAgICAg
ICAgICAgIChib3VuZHMgMjg1LjAwIDE1LjAwKQotICAgICAgICAgICAgICAgICAgKGRyYXdzQ29u
dGVudCAxKQotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXll
cgotICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAwLjAwKQotICAgICAgICAgICAg
ICAgICAgKGJvdW5kcyAxNS4wMCAyODUuMDApCi0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250
ZW50IDEpCi0gICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAoY2hpbGRyZW4gMQogICAg
ICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAgICAocG9zaXRpb24g
Mjg1LjAwIDI4NS4wMCkKLSAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMTUuMDApCi0g
ICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAoYm91
bmRzIDMwMC4wMCAzMDAuMDApCisgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMworICAgICAg
ICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgIChwb3Np
dGlvbiAwLjAwIDI4NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDI4NS4wMCAx
NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAg
ICAgICAgICAgICAgICAocG9zaXRpb24gMjg1LjAwIDAuMDApCisgICAgICAgICAgICAgICAgICAg
ICAgKGJvdW5kcyAxNS4wMCAyODUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29u
dGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgIChHcmFw
aGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDI4NS4wMCAyODUuMDAp
CisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAxNS4wMCkKKyAgICAgICAgICAg
ICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAg
ICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICkKICAgICAg
ICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNr
aW5nL292ZXJmbG93LXNjcm9sbC9jb21wb3NpdGVkLWFic29sdXRlLWluLWFic29sdXRlLWluLXJl
bGF0aXZlLWluLXNjcm9sbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3NoYXJlZC1iYWNraW5nL292ZXJmbG93LXNjcm9sbC9jb21wb3NpdGVkLWFic29sdXRlLWluLWFi
c29sdXRlLWluLXJlbGF0aXZlLWluLXNjcm9sbGVyLWV4cGVjdGVkLnR4dAppbmRleCAzODliZDcz
MzQxMDMxOGYwMjEwNTFkNzg5YzY5OGM0YzQzZmY4YjQwLi4zZDI5MTk5NDJmNDlkZjdhYzk2OWJj
YjJhNzgxYjJmMTYyNmMyMzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9z
aGFyZWQtYmFja2luZy9vdmVyZmxvdy1zY3JvbGwvY29tcG9zaXRlZC1hYnNvbHV0ZS1pbi1hYnNv
bHV0ZS1pbi1yZWxhdGl2ZS1pbi1zY3JvbGxlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvc2hhcmVkLWJhY2tpbmcvb3ZlcmZsb3ctc2Nyb2xsL2NvbXBvc2l0ZWQt
YWJzb2x1dGUtaW4tYWJzb2x1dGUtaW4tcmVsYXRpdmUtaW4tc2Nyb2xsZXItZXhwZWN0ZWQudHh0
CkBAIC0zOSwxMiArMzksMTYgQEAKICAgICAgICAgKQogICAgICAgICAoR3JhcGhpY3NMYXllcgog
ICAgICAgICAgIChwb3NpdGlvbiAxMC4wMCAxMC4wMCkKLSAgICAgICAgICAoYm91bmRzIDQwMC4w
MCA0MDAuMDApCiAgICAgICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCi0gICAgICAgICAgICAgIChwb3NpdGlvbiAzODUuMDAgMC4wMCkKLSAgICAgICAgICAgICAg
KGJvdW5kcyAxNS4wMCA0MDAuMDApCi0gICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAg
ICAgICAgICAgICAgKGJvdW5kcyA0MDAuMDAgNDAwLjAwKQorICAgICAgICAgICAgICAoY2hpbGRy
ZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAo
cG9zaXRpb24gMzg1LjAwIDAuMDApCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDQw
MC4wMCkKKyAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAg
ICApCisgICAgICAgICAgICAgICkKICAgICAgICAgICAgICkKICAgICAgICAgICApCiAgICAgICAg
ICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5nL292
ZXJmbG93LXNjcm9sbC9uZXN0ZWQtYWJzb2x1dGUtd2l0aC1jbGlwcGluZy1pbi1zdGFja2luZy1v
dmVyZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaGFyZWQtYmFj
a2luZy9vdmVyZmxvdy1zY3JvbGwvbmVzdGVkLWFic29sdXRlLXdpdGgtY2xpcHBpbmctaW4tc3Rh
Y2tpbmctb3ZlcmZsb3ctZXhwZWN0ZWQudHh0CmluZGV4IDc0MTNlOThlZDA5ZjQzZjA1NzlmNmJm
YmNlYzZkYmFiMDEzOGI2YjkuLjg4NDQ5NGEyOTIyYmQzNjA3ZDk1ODBmZjRiYTYzODdiMDBiYmI2
OTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5nL292
ZXJmbG93LXNjcm9sbC9uZXN0ZWQtYWJzb2x1dGUtd2l0aC1jbGlwcGluZy1pbi1zdGFja2luZy1v
dmVyZmxvdy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hhcmVk
LWJhY2tpbmcvb3ZlcmZsb3ctc2Nyb2xsL25lc3RlZC1hYnNvbHV0ZS13aXRoLWNsaXBwaW5nLWlu
LXN0YWNraW5nLW92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtMzUsMTIgKzM1LDE2IEBACiAgICAg
ICAgICAgICApCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgICAgICAocG9z
aXRpb24gMi4wMCAyLjAwKQotICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCiAg
ICAgICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
LSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAyODUuMDAgMC4wMCkKLSAgICAgICAgICAgICAg
ICAgIChib3VuZHMgMTUuMDAgMzAwLjAwKQotICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVu
dCAxKQorICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzMDAuMDAgMzAwLjAwKQorICAgICAgICAg
ICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMjg1LjAwIDAuMDApCisgICAgICAgICAg
ICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAzMDAuMDApCisgICAgICAgICAgICAgICAgICAgICAg
KGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAg
ICApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaGFyZWQtYmFja2luZy9vdmVyZmxv
dy1zY3JvbGwvcHJldmlvdXMtc2libGluZy1wcmV2ZW50cy1pbmNsdXNpdmVuZXNzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5nL292ZXJmbG93LXNj
cm9sbC9wcmV2aW91cy1zaWJsaW5nLXByZXZlbnRzLWluY2x1c2l2ZW5lc3MtZXhwZWN0ZWQudHh0
CmluZGV4IDIyOTdmM2FjMTg3OWM2ZWEyNzk0MTg5MjIxOWYzNDIzYjNmNGUwZmEuLjU5YzQwMDk5
OTc4Mjg4NzNlMTU5YWU2N2IxZjIyYmNjYTI4MDE3YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5nL292ZXJmbG93LXNjcm9sbC9wcmV2aW91cy1zaWJs
aW5nLXByZXZlbnRzLWluY2x1c2l2ZW5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5nL292ZXJmbG93LXNjcm9sbC9wcmV2aW91cy1zaWJs
aW5nLXByZXZlbnRzLWluY2x1c2l2ZW5lc3MtZXhwZWN0ZWQudHh0CkBAIC02NSwxMyArNjUsMTcg
QEAKICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAg
ICAgICAgICAgICAgKHBvc2l0aW9uIDEyLjAwIDEyLjAwKQotICAgICAgICAgICAgICAoYm91bmRz
IDI5Ni4wMCAyOTYuMDApCi0gICAgICAgICAgICAgIChjbGlwcyAxKQogICAgICAgICAgICAgICAo
Y2hpbGRyZW4gMQogICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAg
ICAgICAocG9zaXRpb24gMjgxLjAwIDAuMDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRzIDE1
LjAwIDI5Ni4wMCkKLSAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAg
ICAgICAgICAgIChib3VuZHMgMjk2LjAwIDI5Ni4wMCkKKyAgICAgICAgICAgICAgICAgIChjbGlw
cyAxKQorICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMjgxLjAwIDAu
MDApCisgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAyOTYuMDApCisgICAgICAg
ICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICApCisg
ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICApCiAg
ICAgICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaGFyZWQt
YmFja2luZy9vdmVyZmxvdy1zY3JvbGwvcmVsYXRpdmUtaW4tY2xpcHBpbmctaW4tc2Nyb2xsZXIt
aW4tY2xpcHBpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hhcmVk
LWJhY2tpbmcvb3ZlcmZsb3ctc2Nyb2xsL3JlbGF0aXZlLWluLWNsaXBwaW5nLWluLXNjcm9sbGVy
LWluLWNsaXBwaW5nLWV4cGVjdGVkLnR4dAppbmRleCA0OGIxNWQwMzI0ODg0NDA3MGFjOWE0NDZk
ZDk1NjM1M2ZhMGUyZTc4Li4wZTAzNWQ2NDk5NzU4NTEyMjBkMjg0NDdhYWRjZGEzZDE1ZmM4YmNm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaGFyZWQtYmFja2luZy9vdmVy
Zmxvdy1zY3JvbGwvcmVsYXRpdmUtaW4tY2xpcHBpbmctaW4tc2Nyb2xsZXItaW4tY2xpcHBpbmct
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5n
L292ZXJmbG93LXNjcm9sbC9yZWxhdGl2ZS1pbi1jbGlwcGluZy1pbi1zY3JvbGxlci1pbi1jbGlw
cGluZy1leHBlY3RlZC50eHQKQEAgLTMxLDEyICszMSwxNiBAQCBUZXh0CiAgICAgICAgICAgICAg
ICAgKQogICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgICAgICAgICAo
cG9zaXRpb24gMi4wMCAyLjAwKQotICAgICAgICAgICAgICAgICAgKGJvdW5kcyAyOTYuMDAgMjk2
LjAwKQogICAgICAgICAgICAgICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMjgxLjAwIDAu
MDApCi0gICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAyOTYuMDApCi0gICAgICAg
ICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgIChi
b3VuZHMgMjk2LjAwIDI5Ni4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMQor
ICAgICAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgKHBvc2l0aW9uIDI4MS4wMCAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDE1LjAwIDI5Ni4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGRyYXdz
Q29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAg
ICAgICkKICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgKQogICAgICAg
ICAgICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1i
YWNraW5nL292ZXJmbG93LXNjcm9sbC9yZWxhdGl2ZS1pbi1jbGlwcGluZy1pbi1zY3JvbGxlci1p
bi1yZWxhdGl2ZS1jbGlwcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9zaGFyZWQtYmFja2luZy9vdmVyZmxvdy1zY3JvbGwvcmVsYXRpdmUtaW4tY2xpcHBpbmctaW4t
c2Nyb2xsZXItaW4tcmVsYXRpdmUtY2xpcHBpbmctZXhwZWN0ZWQudHh0CmluZGV4IDZkNjk2MTlk
OTFmNzlmNzU1ODY0NTU1NTI0MjcwM2ExNGMyY2QzYjIuLmViMDUwOGM4MTNiMjBiMTI3NWU3ZDY5
OTAwOGY1ZmNmNzA5Y2U0NTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3No
YXJlZC1iYWNraW5nL292ZXJmbG93LXNjcm9sbC9yZWxhdGl2ZS1pbi1jbGlwcGluZy1pbi1zY3Jv
bGxlci1pbi1yZWxhdGl2ZS1jbGlwcGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvc2hhcmVkLWJhY2tpbmcvb3ZlcmZsb3ctc2Nyb2xsL3JlbGF0aXZlLWluLWNs
aXBwaW5nLWluLXNjcm9sbGVyLWluLXJlbGF0aXZlLWNsaXBwaW5nLWV4cGVjdGVkLnR4dApAQCAt
MzcsMTIgKzM3LDE2IEBAIFJlbGF0aXZlCiAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAg
ICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgICAgICAgICAocG9zaXRp
b24gMi4wMCAyLjAwKQotICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4w
MCkKICAgICAgICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAgICAgICAgICAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9u
IDI4NS4wMCAwLjAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAwIDMw
MC4wMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDMwMC4wMCAzMDAuMDApCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAyODUu
MDAgMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzAw
LjAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKQog
ICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICkKICAgICAg
ICAgICAgICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hh
cmVkLWJhY2tpbmcvb3ZlcmZsb3ctc2Nyb2xsL3JlbGF0aXZlLWluLWRpdi1pbi1vdmVyZmxvdy1z
Y3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hhcmVkLWJhY2tp
bmcvb3ZlcmZsb3ctc2Nyb2xsL3JlbGF0aXZlLWluLWRpdi1pbi1vdmVyZmxvdy1zY3JvbGwtZXhw
ZWN0ZWQudHh0CmluZGV4IGE5YWU5YzM5MzAzNjRhMjkyNzY1NjA1NGIyMmMzMDNmMmVjMTZmMWUu
LmZmZjY3MGFlZGY3MTM5MTkyZDdjNzkyYTAxM2E4Yzg2ODUwZTkyNDYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5nL292ZXJmbG93LXNjcm9sbC9yZWxh
dGl2ZS1pbi1kaXYtaW4tb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9zaGFyZWQtYmFja2luZy9vdmVyZmxvdy1zY3JvbGwvcmVsYXRpdmUt
aW4tZGl2LWluLW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC50eHQKQEAgLTI3LDIyICsyNywyNiBA
QCByZWxhdGl2ZQogICAgICAgICAgICAgKQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAg
ICAgICAgICAgICAgKHBvc2l0aW9uIDIuMDAgMi4wMCkKLSAgICAgICAgICAgICAgKGJvdW5kcyAz
MjAuMDAgMzIwLjAwKQotICAgICAgICAgICAgICAoY2hpbGRyZW4gMwotICAgICAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAgICAgICAocG9zaXRpb24gMC4wMCAzMDUuMDAp
Ci0gICAgICAgICAgICAgICAgICAoYm91bmRzIDMwNS4wMCAxNS4wMCkKLSAgICAgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAzMDUuMDAgMC4wMCkK
LSAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzA1LjAwKQotICAgICAgICAgICAgICAg
ICAgKGRyYXdzQ29udGVudCAxKQotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKGNo
aWxkcmVuIDEKICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAgICAg
ICAgKHBvc2l0aW9uIDMwNS4wMCAzMDUuMDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRzIDE1
LjAwIDE1LjAwKQotICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAg
ICAgICAgICAgKGJvdW5kcyAzMjAuMDAgMzIwLjAwKQorICAgICAgICAgICAgICAgICAgKGNoaWxk
cmVuIDMKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAg
ICAgICAgICAocG9zaXRpb24gMC4wMCAzMDUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGJv
dW5kcyAzMDUuMDAgMTUuMDApCisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAx
KQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDMwNS4wMCAwLjAwKQorICAgICAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMzA1LjAwKQorICAgICAgICAgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAz
MDUuMDAgMzA1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMTUuMDAp
CisgICAgICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAg
ICAgICApCisgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAg
ICAgICApCiAgICAgICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9zaGFyZWQtYmFja2luZy9vdmVyZmxvdy1zY3JvbGwvc2Nyb2xsZWQtY29udGVudHMtaGFzLXBh
aW50ZWQtY29udGVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9zaGFy
ZWQtYmFja2luZy9vdmVyZmxvdy1zY3JvbGwvc2Nyb2xsZWQtY29udGVudHMtaGFzLXBhaW50ZWQt
Y29udGVudC1leHBlY3RlZC50eHQKaW5kZXggMjM2NjI0MmYzYzkyZWI5YTg3YzRhYTg5YmQyNWU3
ZTU2MGYxNWM0Zi4uNWY3ODA5OWIxZWQ3ZWYxZWIyYjAzZTRlZjEwYzgxNmNhN2ZhMTgyNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2hhcmVkLWJhY2tpbmcvb3ZlcmZsb3ct
c2Nyb2xsL3Njcm9sbGVkLWNvbnRlbnRzLWhhcy1wYWludGVkLWNvbnRlbnQtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3NoYXJlZC1iYWNraW5nL292ZXJmbG93LXNj
cm9sbC9zY3JvbGxlZC1jb250ZW50cy1oYXMtcGFpbnRlZC1jb250ZW50LWV4cGVjdGVkLnR4dApA
QCAtMjcsMjIgKzI3LDI2IEBAIFJlbGF0aXZlIGZvcmVncm91bmQKICAgICAgICAgICAgICkKICAg
ICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgICAgIChwb3NpdGlvbiAyLjAwIDIu
MDApCi0gICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4wMCkKLSAgICAgICAgICAgICAg
KGNoaWxkcmVuIDMKLSAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgotICAgICAgICAgICAg
ICAgICAgKHBvc2l0aW9uIDAuMDAgMjg1LjAwKQotICAgICAgICAgICAgICAgICAgKGJvdW5kcyAy
ODUuMDAgMTUuMDApCi0gICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCi0gICAgICAg
ICAgICAgICAgKQotICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCi0gICAgICAgICAgICAg
ICAgICAocG9zaXRpb24gMjg1LjAwIDAuMDApCi0gICAgICAgICAgICAgICAgICAoYm91bmRzIDE1
LjAwIDI4NS4wMCkKLSAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAyODUuMDAgMjg1LjAwKQot
ICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAxNS4wMCkKLSAgICAgICAgICAgICAgICAg
IChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgIChib3VuZHMgMzAwLjAwIDMwMC4w
MCkKKyAgICAgICAgICAgICAgICAgIChjaGlsZHJlbiAzCisgICAgICAgICAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMjg1LjAw
KQorICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMjg1LjAwIDE1LjAwKQorICAgICAgICAg
ICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAg
ICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgIChw
b3NpdGlvbiAyODUuMDAgMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoYm91bmRzIDE1LjAw
IDI4NS4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAgICAgICAgICAgICAocG9zaXRpb24gMjg1LjAwIDI4NS4wMCkKKyAgICAgICAgICAgICAg
ICAgICAgICAoYm91bmRzIDE1LjAwIDE1LjAwKQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgKQog
ICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvdGlsaW5nL3BlcnNwZWN0aXZlLW9uLXNjcm9s
bGVyLXRpbGUtY292ZXJhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
dGlsaW5nL3BlcnNwZWN0aXZlLW9uLXNjcm9sbGVyLXRpbGUtY292ZXJhZ2UtZXhwZWN0ZWQudHh0
CmluZGV4IDFiMDY0NThmMWUxZTgzMzdjMWUzM2NiMDg1YTExNmI2YTk3MzQzMmQuLjRkMDljOGE4
MTlhYjQwMjQ5MjFhMTc3ZTg1NWI1YjgzNzQ3YjMzNWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3RpbGluZy9wZXJzcGVjdGl2ZS1vbi1zY3JvbGxlci10aWxlLWNvdmVyYWdl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy90aWxpbmcvcGVyc3Bl
Y3RpdmUtb24tc2Nyb2xsZXItdGlsZS1jb3ZlcmFnZS1leHBlY3RlZC50eHQKQEAgLTYzLDIwICs2
MywyOCBAQAogICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICAoR3Jh
cGhpY3NMYXllcgotICAgICAgICAgICAgICAoYm91bmRzIDYwMC4wMCA1MDAuMDApCi0gICAgICAg
ICAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA2MDAuMDAgeCA1MDAuMDApCi0gICAgICAg
ICAgICAgIChjb3ZlcmFnZSByZWN0IDAuMDAsIDAuMDAgNjAwLjAwIHggNTAwLjAwKQotICAgICAg
ICAgICAgICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEpCisgICAgICAgICAgICAgICh2aXNp
YmxlIHJlY3QgMC4wMCwgMC4wMCAwLjAwIHggMC4wMCkKKyAgICAgICAgICAgICAgKGNvdmVyYWdl
IHJlY3QgLTE4LjAwLCAtMTAuMDAgODAwLjAwIHggNjAwLjAwKQorICAgICAgICAgICAgICAoaW50
ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDApCiAgICAgICAgICAgICAgIChjb250ZW50c1NjYWxlIDEu
MDApCiAgICAgICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKLSAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiA1ODUuMDAgMC4wMCkKLSAgICAgICAg
ICAgICAgICAgIChib3VuZHMgMTUuMDAgNTAwLjAwKQotICAgICAgICAgICAgICAgICAgKGRyYXdz
Q29udGVudCAxKQotICAgICAgICAgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDE1
LjAwIHggNTAwLjAwKQotICAgICAgICAgICAgICAgICAgKGNvdmVyYWdlIHJlY3QgLTU4NS4wMCwg
MC4wMCA2MDAuMDAgeCA1MDAuMDApCisgICAgICAgICAgICAgICAgICAoYm91bmRzIDYwMC4wMCA1
MDAuMDApCisgICAgICAgICAgICAgICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgNjAwLjAw
IHggNTAwLjAwKQorICAgICAgICAgICAgICAgICAgKGNvdmVyYWdlIHJlY3QgMC4wMCwgMC4wMCA2
MDAuMDAgeCA1MDAuMDApCiAgICAgICAgICAgICAgICAgICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSBy
ZWN0IDEpCiAgICAgICAgICAgICAgICAgICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAgICAg
ICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIK
KyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gNTg1LjAwIDAuMDApCisgICAgICAgICAg
ICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCA1MDAuMDApCisgICAgICAgICAgICAgICAgICAgICAg
KGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAgICAgICAgICh2aXNpYmxlIHJlY3QgMC4w
MCwgMC4wMCAxNS4wMCB4IDUwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAgICAoY292ZXJhZ2Ug
cmVjdCAtNTg1LjAwLCAwLjAwIDYwMC4wMCB4IDUwMC4wMCkKKyAgICAgICAgICAgICAgICAgICAg
ICAoaW50ZXJzZWN0cyBjb3ZlcmFnZSByZWN0IDEpCisgICAgICAgICAgICAgICAgICAgICAgKGNv
bnRlbnRzU2NhbGUgMS4wMCkKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg
ICAgKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431678</attachid>
            <date>2021-06-17 09:14:50 -0700</date>
            <delta_ts>2021-06-21 02:44:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227061-20210617171449.patch</filename>
            <type>text/plain</type>
            <size>25160</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZkNzFlZDQ3ZDQzOGUw
NzM0MmNhNGViMjk5NWQwM2Q3YWY5N2FkZC4uOGRjYWE0ZGNjOThhYjFjNzFkYzExODQ4ZDkwMWRk
YzkzNzkyYmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA2LTE3ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBOZWdhdGl2ZSBDU1Mgb3V0bGlu
ZS1vZmZzZXQgYXBwZWFycyBiZW5lYXRoIHNjcm9sbCBjb250cm9scyB3aGVuIGFzeW5jIG92ZXJm
bG93IHNjcm9sbGluZyBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjcwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGNvbXBvc2l0ZWQgc2Nyb2xsZWQgY29udGVudCBoYXMgYW4g
b3V0bGluZSB3aXRoIGEgbmVnYXRpdmUKKyAgICAgICAgb2Zmc2V0LCBkcmF3IHRoZSBvdXRsaW5l
IG9uIGEgc2VwYXJhdGUgbGF5ZXIgc28gdGhhdCBpdCBhcHBlYXJzIG92ZXIKKyAgICAgICAgb3Zl
cmZsb3cgY29udHJvbHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6On5SZW5kZXJMYXllckJh
Y2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVEZWJ1
Z0luZGljYXRvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0
cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxh
dGl2ZVRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVPdXRsaW5lTGF5ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJ
bnRvTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEZs
YWdzRm9yTGF5ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaDoKKwogMjAyMS0wNi0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gY2xhbmcgYW5hbHlzaXM6
IFVubG9ja2VkIGFjY2VzcyBpbiBJbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGM1
ZDFlMDhmZjg4NmI0MjFiMTgxMjViNjkzMzNjYjFjMDNmNjEwMzYuLjdkYjljMmM2ZjI4MWIyOGU3
ZDQwNzc4M2I2Njg1MzlkYjI3MWI2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMDM2LDYgKzEwMzYsNyBAQCBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQ
aGFzZSBwaGFzZSkKICAgICBzd2l0Y2ggKHBoYXNlKSB7CiAgICAgY2FzZSBHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZDogdHMgPDwgImJhY2tncm91bmQiOyBicmVhazsKICAg
ICBjYXNlIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kOiB0cyA8PCAiZm9y
ZWdyb3VuZCI7IGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91
dGxpbmU6IHRzIDw8ICJvdXRsaW5lIjsgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6TWFzazogdHMgPDwgIm1hc2siOyBicmVhazsKICAgICBjYXNlIEdyYXBoaWNz
TGF5ZXJQYWludGluZ1BoYXNlOjpDbGlwUGF0aDogdHMgPDwgImNsaXAtcGF0aCI7IGJyZWFrOwog
ICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHM6IHRz
IDw8ICJvdmVyZmxvdy1jb250ZW50cyI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDdjN2Q0ZmNjOWVkMjIzMGQ4NzA5
NWU2NzRlNTljMmQxNzU4NWQwNmEuLjUwZWQxMmI4ZGE3YjliNjJiMGE3ZDAzZDU3NzI0YTYzNTRh
MDgxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmgKQEAgLTcyMiw3ICs3MjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBjb25zdCBUeXBl
IG1fdHlwZTsKICAgICBDdXN0b21BcHBlYXJhbmNlIG1fY3VzdG9tQXBwZWFyYW5jZSB7IEN1c3Rv
bUFwcGVhcmFuY2U6Ok5vbmUgfTsKLSAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+IG1fcGFpbnRpbmdQaGFzZSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3Jl
Z3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCB9OworICAgIE9w
dGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gbV9wYWludGluZ1BoYXNlIHsgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlOjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSB9
OwogICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBtX2NvbnRlbnRzT3JpZW50
YXRpb24geyBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb246OlRvcERvd24gfTsgLy8g
YWZmZWN0cyBvcmllbnRhdGlvbiBvZiBsYXllciBjb250ZW50cwogCiAgICAgYm9vbCBtX2JlaW5n
RGVzdHJveWVkIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAppbmRleCAyYTQyMmVmM2ZhOTYxZjQxYmVkYzZiZmI3
YzBhYTUzYTZmOTU1ZjY5Li40NjNiZWZhY2U1ZWM3NmU3ZWFhYmNlNDY4YTI4MDZhNDk3OGE3Yjk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllckNsaWVudC5oCkBAIC00Nyw2ICs0Nyw3IEBAIGVudW0gY2xhc3MgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2UgewogICAgIE92ZXJmbG93Q29udGVudHMgICAgICA9IDEgPDwgNCwKICAg
ICBDb21wb3NpdGVkU2Nyb2xsICAgICAgPSAxIDw8IDUsCiAgICAgQ2hpbGRDbGlwcGluZ01hc2sg
ICAgID0gMSA8PCA2LAorICAgIE91dGxpbmUgICAgICAgICAgICAgICA9IDEgPDwgNwogfTsKIAog
ZW51bSBBbmltYXRlZFByb3BlcnR5SUQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggMWYxMWE5NzhlMzE1YmFkZDdhY2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4u
YTBmZDYwNzk2NTQyNzE3ZjhkNzM2ZjIwODgzOThkODllMTk0NDMyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zMjM3LDIxICszMjM3LDI0IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQs
IGNvbnN0IExheWVyUGFpbnRpCiAgICAgYm9vbCBpc1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCA9
IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3Np
dGluZ1Njcm9sbGluZ1BoYXNlKTsKICAgICBib29sIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdy
b3VuZCA9IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdD
b21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nQ29tcG9zaXRl
ZEJhY2tncm91bmQgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBh
aW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOworICAgIGJvb2wgaXNQYWludGluZ091
dGxpbmUgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5n
T3V0bGluZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA9IGxvY2FsUGFp
bnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRz
KTsKICAgICBib29sIGlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uID0gbG9jYWxQYWludEZsYWdzLmNv
bnRhaW5zKFBhaW50TGF5ZXJGbGFnOjpDb2xsZWN0aW5nRXZlbnRSZWdpb24pOwogCiAgICAgYm9v
bCBpc1NlbGZQYWludGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwogCiAg
ICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMgdG8gYmUgcGFpbnRlZCBldmVuIGlmIHdlIGhhdmUg
bm8gdmlzaWJsZSBjb250ZW50LiBBbHNvLAotICAgIC8vIHRoZSBvdXRsaW5lIGlzIHBhaW50ZWQg
aW4gdGhlIGJhY2tncm91bmQgcGhhc2UgZHVyaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgorICAg
IC8vIHRoZSBvdXRsaW5lIG1heSBiZSBwYWludGVkIGluIHRoZSBiYWNrZ3JvdW5kIHBoYXNlIGR1
cmluZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KICAgICAvLyBJZiBpdCB3ZXJlIHBhaW50ZWQgaW4g
dGhlIGZvcmVncm91bmQgcGhhc2UsIGl0IHdvdWxkIG1vdmUgd2l0aCB0aGUgc2Nyb2xsZWQKLSAg
ICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNjcm9sbGluZywgdGhlIG91dGxpbmUg
aXMgcGFpbnRlZCBpbiB0aGUKKyAgICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNj
cm9sbGluZywgdGhlIG91dGxpbmUgbWF5IGJlIHBhaW50ZWQgaW4gdGhlCiAgICAgLy8gZm9yZWdy
b3VuZCBwaGFzZS4gU2luY2Ugc2Nyb2xsZWQgY29udGVudHMgYXJlIG1vdmVkIGJ5IHJlcGFpbnRp
bmcgaW4gdGhpcwogICAgIC8vIGNhc2UsIHRoZSBvdXRsaW5lIHdvbid0IGdldCAnZHJhZ2dlZCBh
bG9uZycuCi0gICAgYm9vbCBzaG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVy
ICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVn
aW9uCisgICAgLy8gSW4gdGhlIGNhc2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxlZCBjb250ZW50IHdp
dGggb3ZlcmZsb3cgY29udHJvbHMsIGlmIHRoZQorICAgIC8vIG91dGxpbmUgaGFzIGEgbmVnYXRp
dmUgb2Zmc2V0LCBpdCBpcyBwYWludGVkIG9uIGEgc2VwYXJhdGUgbGF5ZXIuCisgICAgYm9vbCBz
aG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVyICYmIGlzUGFpbnRpbmdPdXRs
aW5lICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50
UmVnaW9uCiAgICAgICAgICYmIChyZW5kZXJlcigpLnZpZXcoKS5wcmludGluZygpIHx8IHJlbmRl
cmVyKCkudmlldygpLmhhc1JlbmRlcmVyc1dpdGhPdXRsaW5lKCkpCiAgICAgICAgICYmICgoaXNQ
YWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5k
KQotICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFpbnRpbmdD
b21wb3NpdGVkRm9yZWdyb3VuZCkpOworICAgICAgICB8fCAhaXNQYWludGluZ1Njcm9sbGluZ0Nv
bnRlbnQpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50ID0gbV9oYXNWaXNpYmxlQ29udGVu
dCAmJiBpc1NlbGZQYWludGluZ0xheWVyICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMg
JiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uOwogCiAgICAgaWYgKGxvY2FsUGFpbnRGbGFncy5j
b250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHkpICYmICFy
ZW5kZXJlcigpLmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJlcigpLmlzRG9jdW1lbnRFbGVtZW50
UmVuZGVyZXIoKSkgewpAQCAtNTI0MCw2ICs1MjQzLDExIEBAIGJvb2wgUmVuZGVyTGF5ZXI6Omhh
c1Zpc2libGVCb3hEZWNvcmF0aW9ucygpIGNvbnN0CiAgICAgcmV0dXJuIGhhc1Zpc2libGVCb3hE
ZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIHx8IChtX3Njcm9sbGFibGVBcmVhICYmIG1fc2Nyb2xs
YWJsZUFyZWEtPmhhc092ZXJmbG93Q29udHJvbHMoKSk7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXI6
Omhhc0luc2V0T3V0bGluZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHJlbmRlcmVyKCkuc3R5bGUo
KS5vdXRsaW5lT2Zmc2V0KCkgPCAwOworfQorCiBib29sIFJlbmRlckxheWVyOjppc1Zpc3VhbGx5
Tm9uRW1wdHkoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KiByZXF1ZXN0KSBjb25zdAogewogICAgIEFT
U0VSVCghbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDA1NmNmNTAzODE3MTBkYzRhMDMyOGU1MTBkYjAyZTkz
YTcyNjE2YS4uMTMwZjljZGMwYjgyOTRiOGI4ZGY3NTQ0MzAyNDMxZGYyMTEwNTAwZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTUzMSw3ICs1MzEsOCBAQCBwdWJs
aWM6CiAKICAgICBib29sIGhhc1Zpc2libGVCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIGNv
bnN0OwogICAgIGJvb2wgaGFzVmlzaWJsZUJveERlY29yYXRpb25zKCkgY29uc3Q7Ci0gICAgCisg
ICAgYm9vbCBoYXNJbnNldE91dGxpbmUoKSBjb25zdDsKKwogICAgIGJvb2wgYmVoYXZlc0FzRml4
ZWQoKSBjb25zdCB7IHJldHVybiBtX2JlaGF2ZXNBc0ZpeGVkOyB9CiAKICAgICBzdHJ1Y3QgUGFp
bnRlZENvbnRlbnRSZXF1ZXN0IHsKQEAgLTYyNCw3ICs2MjUsOCBAQCBwdWJsaWM6CiAgICAgICAg
IFBhaW50aW5nUm9vdEJhY2tncm91bmRPbmx5ICAgICAgICAgICAgPSAxIDw8IDExLAogICAgICAg
ICBQYWludGluZ1NraXBSb290QmFja2dyb3VuZCAgICAgICAgICAgID0gMSA8PCAxMiwKICAgICAg
ICAgUGFpbnRpbmdDaGlsZENsaXBwaW5nTWFza1BoYXNlICAgICAgICA9IDEgPDwgMTMsCi0gICAg
ICAgIENvbGxlY3RpbmdFdmVudFJlZ2lvbiAgICAgICAgICAgICAgICAgPSAxIDw8IDE0LAorICAg
ICAgICBQYWludGluZ091dGxpbmUgICAgICAgICAgICAgICAgICAgICAgID0gMSA8PCAxNCwKKyAg
ICAgICAgQ29sbGVjdGluZ0V2ZW50UmVnaW9uICAgICAgICAgICAgICAgICA9IDEgPDwgMTUsCiAg
ICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNldDxQYWludExheWVyRmxhZz4gcGFp
bnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdBbGxQaGFzZXNGbGFncygpIHsgcmV0dXJuIHsgUGFp
bnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UsIFBhaW50TGF5
ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlIH07IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBkZWE1
YzE1MzE3OTlhMzUxYjE4NGE0ZjFmY2NmZDRlYzVmMGIzMGU5Li4zN2JmZDBiNTNkOGU4MmVjZTk5
MGMzMTRmZTBmZTcyYzI1MWRmNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMjQ5LDYgKzI0OSw3IEBAIFJlbmRlckxheWVyQmFj
a2luZzo6flJlbmRlckxheWVyQmFja2luZygpCiAgICAgdXBkYXRlQ2hpbGRDbGlwcGluZ1N0cmF0
ZWd5KGZhbHNlKTsKICAgICB1cGRhdGVEZXNjZW5kYW50Q2xpcHBpbmdMYXllcihmYWxzZSk7CiAg
ICAgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhmYWxzZSwgZmFsc2UsIGZhbHNlKTsKKyAg
ICB1cGRhdGVPdXRsaW5lTGF5ZXIoZmFsc2UpOwogICAgIHVwZGF0ZUZvcmVncm91bmRMYXllcihm
YWxzZSk7CiAgICAgdXBkYXRlQmFja2dyb3VuZExheWVyKGZhbHNlKTsKICAgICB1cGRhdGVNYXNr
aW5nTGF5ZXIoZmFsc2UsIGZhbHNlKTsKQEAgLTQ2OCw2ICs0NjksMTEgQEAgdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZURlYnVnSW5kaWNhdG9ycyhib29sIHNob3dCb3JkZXIsIGJvb2wg
c2hvd1JlcGFpbnQKICAgICAgICAgICAgIGVudHJ5LmNsaXBwaW5nTGF5ZXItPnNldFNob3dEZWJ1
Z0JvcmRlcihzaG93Qm9yZGVyKTsKICAgICB9CiAKKyAgICBpZiAobV9vdXRsaW5lTGF5ZXIpIHsK
KyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dEZWJ1Z0JvcmRlcihzaG93Qm9yZGVyKTsK
KyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dSZXBhaW50Q291bnRlcihzaG93UmVwYWlu
dENvdW50ZXIpOworICAgIH0KKwogICAgIGlmIChtX2ZvcmVncm91bmRMYXllcikgewogICAgICAg
ICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd0RlYnVnQm9yZGVyKHNob3dCb3JkZXIpOwogICAg
ICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd1JlcGFpbnRDb3VudGVyKHNob3dSZXBhaW50
Q291bnRlcik7CkBAIC01OTMsNiArNTk5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRl
c3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgICAgIHJlbW92ZUNsaXBwaW5nU3RhY2tMYXllcnMo
Km1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllckFuY2VzdG9yQ2xpcHBpbmdTdGFjayk7CiAKICAg
ICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY29udGVudHNDb250YWlubWVudExh
eWVyKTsKKyAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fb3V0bGluZUxheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fZm9yZWdyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fYmFja2dyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY2hpbGRDb250YWlubWVu
dExheWVyKTsKQEAgLTg3MSw2ICs4NzgsOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlQWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKGNvbnN0IExheW91dFJlY3QmIGFicwogewog
ICAgIGF1dG8gc2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nID0gWyZdKGJvb2wgYWxsb3dE
ZXRhY2hpbmcpIHsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRBbGxvd3NCYWNraW5nU3Rv
cmVEZXRhY2hpbmcoYWxsb3dEZXRhY2hpbmcpOworICAgICAgICBpZiAobV9vdXRsaW5lTGF5ZXIp
CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNo
aW5nKGFsbG93RGV0YWNoaW5nKTsKICAgICAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKQogICAg
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldEFsbG93c0JhY2tpbmdTdG9yZURldGFjaGlu
ZyhhbGxvd0RldGFjaGluZyk7CiAgICAgICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKQEAgLTEw
MDEsNiArMTAxMCwxMCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQ29uZmlndXJh
dGlvbihjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdBbmNlcwogICAgIGlmICh1cGRhdGVP
dmVyZmxvd0NvbnRyb2xzTGF5ZXJzKHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCks
IHJlcXVpcmVzVmVydGljYWxTY3JvbGxiYXJMYXllcigpLCByZXF1aXJlc1Njcm9sbENvcm5lckxh
eWVyKCkpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwogCisgICAgLy8gT3V0
bGluZXMgd2l0aCBuZWdhdGl2ZSBvZmZzZXRzIG5lZWQgdG8gYXBwZWFyIGFib3ZlIHNjcm9sbCBV
SS4KKyAgICBpZiAodXBkYXRlT3V0bGluZUxheWVyKG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5l
ciAmJiBtX293bmluZ0xheWVyLmhhc0luc2V0T3V0bGluZSgpKSkKKyAgICAgICAgbGF5ZXJDb25m
aWdDaGFuZ2VkID0gdHJ1ZTsKKwogICAgIGlmIChsYXllckNvbmZpZ0NoYW5nZWQpCiAgICAgICAg
IHVwZGF0ZUludGVybmFsSGllcmFyY2h5KCk7CiAKQEAgLTE0MjgsNyArMTQ0MSwxNCBAQCB2b2lk
IFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoY29uc3QgUmVuZGVyTGF5ZXIqIGNv
bXBvc2l0ZWRBbmNlc3RvcikKIAogICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXIt
PnNldFBvc2l0aW9uKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3QubG9jYXRpb24oKSk7CiAg
ICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+c2V0U2l6ZShzbmFwcGVkQm94SW5m
by5tX3NuYXBwZWRSZWN0LnNpemUoKSk7Ci0gICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRh
aW5lci0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsKKyAgICAgICAgaWYgKG1fb3ZlcmZsb3dDb250
cm9sc0NsaXBwaW5nTWFza0xheWVyKQorICAgICAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ2xp
cHBpbmdNYXNrTGF5ZXItPnNldFNpemUoc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5zaXpl
KCkpOworCisgICAgICAgIGlmIChtX291dGxpbmVMYXllcikgeworICAgICAgICAgICAgbV9vdXRs
aW5lTGF5ZXItPnNldFBvc2l0aW9uKC1zbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LmxvY2F0
aW9uKCkpOworICAgICAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNpemUocHJpbWFyeUdyYXBo
aWNzTGF5ZXJSZWN0LnNpemUoKSk7CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0T2Zm
c2V0RnJvbVJlbmRlcmVyKG1fZ3JhcGhpY3NMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkpOwor
ICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7CkBAIC0xNTA5
LDYgKzE1MjksOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6YWRqdXN0T3ZlcmZsb3dDb250
cm9sc1Bvc2l0aW9uUmVsYXRpdmVUb0FuY2VzdG9yKGNvbnN0CiAKICAgICBtX292ZXJmbG93Q29u
dHJvbHNDb250YWluZXItPnNldFBvc2l0aW9uKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Qu
bG9jYXRpb24oKSk7CiAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5zZXRTaXplKHNu
YXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsKKyAgICBpZiAobV9vdmVyZmxvd0Nv
bnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIpCisgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NsaXBw
aW5nTWFza0xheWVyLT5zZXRTaXplKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgp
KTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldExvY2F0aW9uT2ZTY3JvbGxlZENv
bnRlbnRzKFNjcm9sbE9mZnNldCBzY3JvbGxPZmZzZXQsIFNjcm9sbGluZ0xheWVyUG9zaXRpb25B
Y3Rpb24gc2V0T3JTeW5jKQpAQCAtMTY1MywxNyArMTY3NSwyNiBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKQogICAgIC8vIHNpYmxpbmdzIG9mIHRo
ZSBjbGlwcGluZyBsYXllciBpZiB3ZSBoYXZlIG9uZS4gTm9ybWFsIGNoaWxkcmVuIG9mIHRoaXMg
bGF5ZXIgYXJlIHNldCBhcwogICAgIC8vIGNoaWxkcmVuIG9mIHRoZSBjbGlwcGluZyBsYXllci4K
ICAgICBpZiAobV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyKSB7CisgICAgICAgIGF1dG8gY2xp
cHBpbmdDb250YWluZXIgPSBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA/IG1f
b3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyIDogbV9vdmVyZmxvd0NvbnRyb2xzQ29u
dGFpbmVyOworICAgICAgICBjbGlwcGluZ0NvbnRhaW5lci0+c2V0TWFza3NUb0JvdW5kcyh0cnVl
KTsKKworICAgICAgICBpZiAobV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIpCisg
ICAgICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPmFkZENoaWxkKCptX292ZXJm
bG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcik7CisKICAgICAgICAgaWYgKG1fbGF5ZXJGb3JI
b3Jpem9udGFsU2Nyb2xsYmFyKQotICAgICAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFp
bmVyLT5hZGRDaGlsZCgqbV9sYXllckZvckhvcml6b250YWxTY3JvbGxiYXIpOworICAgICAgICAg
ICAgY2xpcHBpbmdDb250YWluZXItPmFkZENoaWxkKCptX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9s
bGJhcik7CiAKICAgICAgICAgaWYgKG1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcikKLSAgICAg
ICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+YWRkQ2hpbGQoKm1fbGF5ZXJGb3JW
ZXJ0aWNhbFNjcm9sbGJhcik7CisgICAgICAgICAgICBjbGlwcGluZ0NvbnRhaW5lci0+YWRkQ2hp
bGQoKm1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcik7CiAKICAgICAgICAgaWYgKG1fbGF5ZXJG
b3JTY3JvbGxDb3JuZXIpCi0gICAgICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXIt
PmFkZENoaWxkKCptX2xheWVyRm9yU2Nyb2xsQ29ybmVyKTsKKyAgICAgICAgICAgIGNsaXBwaW5n
Q29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXllckZvclNjcm9sbENvcm5lcik7CiAKICAgICAgICAg
Ly8gbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyIG1heSBnZXQgcmVwYXJlbnRlZCBsYXRlci4K
ICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5hZGRDaGlsZCgqbV9vdmVyZmxvd0NvbnRyb2xzQ29u
dGFpbmVyKTsKKworICAgICAgICBpZiAobV9vdXRsaW5lTGF5ZXIpCisgICAgICAgICAgICBtX292
ZXJmbG93Q29udHJvbHNDb250YWluZXItPmFkZENoaWxkKCptX291dGxpbmVMYXllcik7CiAgICAg
fQogfQogCkBAIC0xNzIzLDYgKzE3NTQsOSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlRHJhd3NDb250ZW50KFBhaW50ZWRDb250ZW50c0luZm8mIGNvbnRlbnRzSW5mbykKICAgICB9
IGVsc2UKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRTdXBwb3J0c1N1YnBpeGVsQW50aWFs
aWFzZWRUZXh0KG1fcGFpbnRzU3VicGl4ZWxBbnRpYWxpYXNlZFRleHQpOwogCisgICAgaWYgKG1f
b3V0bGluZUxheWVyKQorICAgICAgICBtX291dGxpbmVMYXllci0+c2V0RHJhd3NDb250ZW50KGhh
c1BhaW50ZWRDb250ZW50KTsKKwogICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKICAgICAgICAg
bV9iYWNrZ3JvdW5kTGF5ZXItPnNldERyYXdzQ29udGVudChtX2JhY2tncm91bmRMYXllclBhaW50
c0ZpeGVkUm9vdEJhY2tncm91bmQgPyBoYXNQYWludGVkQ29udGVudCA6IGNvbnRlbnRzSW5mby5w
YWludHNCb3hEZWNvcmF0aW9ucygpKTsKIH0KQEAgLTIwOTgsNyArMjEzMiwxOSBAQCBib29sIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhib29sIG5lZWRz
SG9yaXpvbnRhbFNjcm9sbAogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9OwogCi0gICAgYm9v
bCBsYXllcnNDaGFuZ2VkID0gY3JlYXRlT3JEZXN0cm95TGF5ZXIobV9vdmVyZmxvd0NvbnRyb2xz
Q29udGFpbmVyLCBuZWVkc0hvcml6b250YWxTY3JvbGxiYXJMYXllciB8fCBuZWVkc1ZlcnRpY2Fs
U2Nyb2xsYmFyTGF5ZXIgfHwgbmVlZHNTY3JvbGxDb3JuZXJMYXllciwgZmFsc2UsICJvdmVyZmxv
dyBjb250cm9scyBjb250YWluZXIiKTsKKyAgICBib29sIG5lZWRzT3ZlcmZsb3dDb250cm9sc0Nv
bnRhaW5lciA9IG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyIHx8IG5lZWRzVmVydGljYWxT
Y3JvbGxiYXJMYXllciB8fCBuZWVkc1Njcm9sbENvcm5lckxheWVyOworICAgIGJvb2wgbGF5ZXJz
Q2hhbmdlZCA9IGNyZWF0ZU9yRGVzdHJveUxheWVyKG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5l
ciwgbmVlZHNPdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLCBmYWxzZSwgIm92ZXJmbG93IGNvbnRy
b2xzIGNvbnRhaW5lciIpOworCisgICAgYm9vbCBuZWVkc0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5
ZXIgPSBuZWVkc092ZXJmbG93Q29udHJvbHNDb250YWluZXIgJiYgbV9vd25pbmdMYXllci5oYXNJ
bnNldE91dGxpbmUoKTsKKyAgICBpZiAobmVlZHNDb250cm9sc0NsaXBwaW5nTWFza0xheWVyICYm
ICFtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcikgeworICAgICAgICBtX292ZXJm
bG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIoIm92ZXJm
bG93IGNvbnRyb2xzIGNsaXBwaW5nIGxheWVyIik7CisgICAgICAgIG1fb3ZlcmZsb3dDb250cm9s
c0NsaXBwaW5nTWFza0xheWVyLT5zZXRQYWludGluZ1BoYXNlKHsgfSk7CisgICAgICAgIG1fb3Zl
cmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOwor
ICAgIH0KKyAgICBpZiAoIW5lZWRzQ29udHJvbHNDbGlwcGluZ01hc2tMYXllciAmJiBtX292ZXJm
bG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcikgeworICAgICAgICB3aWxsRGVzdHJveUxheWVy
KG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLmdldCgpKTsKKyAgICAgICAgR3Jh
cGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVhcihtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01h
c2tMYXllcik7CisgICAgfQogCiAgICAgYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXJDaGFu
Z2VkID0gY3JlYXRlT3JEZXN0cm95TGF5ZXIobV9sYXllckZvckhvcml6b250YWxTY3JvbGxiYXIs
IG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLCB0cnVlLCAiaG9yaXpvbnRhbCBzY3JvbGxi
YXIiKTsKICAgICBsYXllcnNDaGFuZ2VkIHw9IGhvcml6b250YWxTY3JvbGxiYXJMYXllckNoYW5n
ZWQ7CkBAIC0yMTYzLDYgKzIyMDksMjcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBvc2l0
aW9uT3ZlcmZsb3dDb250cm9sc0xheWVycygpCiAgICAgfQogfQogCitib29sIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlT3V0bGluZUxheWVyKGJvb2wgbmVlZHNPdXRsaW5lTGF5ZXIpCit7Cisg
ICAgYm9vbCBsYXllckNoYW5nZWQgPSBmYWxzZTsKKyAgICBpZiAobmVlZHNPdXRsaW5lTGF5ZXIp
IHsKKyAgICAgICAgaWYgKCFtX291dGxpbmVMYXllcikgeworICAgICAgICAgICAgV1RGTG9nQWx3
YXlzKCJDcmVhdGluZyBvdXRsaW5lIGxheWVyIik7CisgICAgICAgICAgICBTdHJpbmcgbGF5ZXJO
YW1lID0gbV9vd25pbmdMYXllci5uYW1lKCkgKyAiIChvdXRsaW5lKSI7CisgICAgICAgICAgICBt
X291dGxpbmVMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIobGF5ZXJOYW1lKTsKKyAgICAgICAg
ICAgIG1fb3V0bGluZUxheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgICAgICAgICBs
YXllckNoYW5nZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChtX291dGxpbmVM
YXllcikgeworICAgICAgICBXVEZMb2dBbHdheXMoIkRlc3Ryb3lpbmcgb3V0bGluZSBsYXllciIp
OworICAgICAgICB3aWxsRGVzdHJveUxheWVyKG1fb3V0bGluZUxheWVyLmdldCgpKTsKKyAgICAg
ICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVhcihtX291dGxpbmVMYXllcik7CisgICAg
ICAgIGxheWVyQ2hhbmdlZCA9IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGxheWVyQ2hhbmdl
ZDsKK30KKwogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91bmRMYXllcihi
b29sIG5lZWRzRm9yZWdyb3VuZExheWVyKQogewogICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFs
c2U7CkBAIC0yNTkyLDE2ICsyNjU5LDI0IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVSb290TGF5ZXJDb25maWd1cmF0aW9uKCkKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVQYWludGluZ1BoYXNlcygpCiB7CiAgICAgLy8gUGhhc2VzIGZvciBtX2NoaWxkQ2xpcHBpbmdN
YXNrTGF5ZXIgYW5kIG1fbWFza0xheWVyIGFyZSBzZXQgZWxzZXdoZXJlLgotICAgIE9wdGlvblNl
dDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gcHJpbWFyeUxheWVyUGhhc2VzID0geyBHcmFw
aGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCwgR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U6OkZvcmVncm91bmQgfTsKLSAgICAKKyAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2U+IHByaW1hcnlMYXllclBoYXNlcyA9IHsgR3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U6OkJhY2tncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5k
LCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSB9OworCisgICAgaWYgKG1fb3V0
bGluZUxheWVyKSB7CisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRQYWludGluZ1BoYXNlKEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdXRsaW5lKTsKKyAgICAgICAgcHJpbWFyeUxheWVy
UGhhc2VzLnJlbW92ZShHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSk7CisgICAg
fQorCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7CiAgICAgICAgIE9wdGlvblNldDxHcmFw
aGljc0xheWVyUGFpbnRpbmdQaGFzZT4gZm9yZWdyb3VuZExheWVyUGhhc2VzIHsgR3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQgfTsKICAgICAgICAgCiAgICAgICAgIGlmICht
X3Njcm9sbGVkQ29udGVudHNMYXllcikKICAgICAgICAgICAgIGZvcmVncm91bmRMYXllclBoYXNl
cy5hZGQoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHMpOworICAg
ICAgICBpZiAoIW1fb3V0bGluZUxheWVyKQorICAgICAgICAgICAgZm9yZWdyb3VuZExheWVyUGhh
c2VzLmFkZChHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSk7CiAKICAgICAgICAg
bV9mb3JlZ3JvdW5kTGF5ZXItPnNldFBhaW50aW5nUGhhc2UoZm9yZWdyb3VuZExheWVyUGhhc2Vz
KTsKICAgICAgICAgcHJpbWFyeUxheWVyUGhhc2VzLnJlbW92ZShHcmFwaGljc0xheWVyUGFpbnRp
bmdQaGFzZTo6Rm9yZWdyb3VuZCk7CisgICAgICAgIHByaW1hcnlMYXllclBoYXNlcy5yZW1vdmUo
R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91dGxpbmUpOwogICAgIH0KIAogICAgIGlmICht
X2JhY2tncm91bmRMYXllcikgewpAQCAtMzA3Myw2ICszMTQ4LDkgQEAgdm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkoR3JhcGhpY3NMYXllcjo6U2hvdWxkQ2xp
cFRvTGF5ZXIKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3Qo
cmVjdFRvUmVwYWludCwgc2hvdWxkQ2xpcCk7CiAgICAgfQogCisgICAgaWYgKG1fb3V0bGluZUxh
eWVyICYmIG1fb3V0bGluZUxheWVyLT5kcmF3c0NvbnRlbnQoKSkKKyAgICAgICAgbV9vdXRsaW5l
TGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOworCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyICYm
IG1fZm9yZWdyb3VuZExheWVyLT5kcmF3c0NvbnRlbnQoKSkKICAgICAgICAgbV9mb3JlZ3JvdW5k
TGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwogCkBAIC0zMTExLDYgKzMxODksMTIgQEAgdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29uc3QgTGF5
b3V0UmVjdCYgciwgR3JhcGgKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVkc0Rpc3Bs
YXlJblJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOwogICAgIH0KIAorICAgIGlmICht
X291dGxpbmVMYXllciAmJiBtX291dGxpbmVMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKKyAgICAg
ICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5n
OworICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX291dGxpbmVMYXllci0+b2Zmc2V0RnJv
bVJlbmRlcmVyKCkgLSBtX3N1YnBpeGVsT2Zmc2V0RnJvbVJlbmRlcmVyKTsKKyAgICAgICAgbV9v
dXRsaW5lTGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChsYXllckRpcnR5UmVjdCwgc2hvdWxk
Q2xpcCk7CisgICAgfQorCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyICYmIG1fZm9yZWdyb3Vu
ZExheWVyLT5kcmF3c0NvbnRlbnQoKSkgewogICAgICAgICBGbG9hdFJlY3QgbGF5ZXJEaXJ0eVJl
Y3QgPSBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmc7CiAgICAgICAgIGxheWVyRGlydHlSZWN0
Lm1vdmUoLW1fZm9yZWdyb3VuZExheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSAtIG1fc3VicGl4
ZWxPZmZzZXRGcm9tUmVuZGVyZXIpOwpAQCAtMzIxMSw3ICszMjk1LDggQEAgdm9pZCBSZW5kZXJM
YXllckJhY2tpbmc6OnBhaW50SW50b0xheWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNz
TGF5ZXIsIEdyYXAKICAgICBpZiAoZ3JhcGhpY3NMYXllciA9PSBkZXN0aW5hdGlvbkZvclNoYXJp
bmdMYXllcnMpIHsKICAgICAgICAgT3B0aW9uU2V0PFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zz4gc2hhcmluZ0xheWVyUGFpbnRGbGFncyA9IHsKICAgICAgICAgICAgIFJlbmRlckxheWVyOjpQ
YWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSwKLSAgICAg
ICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0Zv
cmVncm91bmRQaGFzZSB9OworICAgICAgICAgICAgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFn
OjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlLAorICAgICAgICAgICAgUmVuZGVy
TGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ091dGxpbmUgfTsKIAogICAgICAgICBpZiAo
Z3JhcGhpY3NMYXllci0+cGFpbnRpbmdQaGFzZSgpLmNvbnRhaW5zKEdyYXBoaWNzTGF5ZXJQYWlu
dGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKICAgICAgICAgICAgIHNoYXJpbmdMYXllclBh
aW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdmVyZmxv
d0NvbnRlbnRzKTsKQEAgLTMyNTAsNiArMzMzNSw4IEBAIE9wdGlvblNldDxSZW5kZXJMYXllcjo6
UGFpbnRMYXllckZsYWc+IFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRGbGFnc0ZvckxheWVyKGNv
CiAgICAgICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFp
bnRpbmdPdmVyZmxvd0NvbnRlbnRzKTsKICAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250YWlucyhH
cmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q29tcG9zaXRlZFNjcm9sbCkpCiAgICAgICAgIHBh
aW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3Np
dGluZ1Njcm9sbGluZ1BoYXNlKTsKKyAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250YWlucyhHcmFw
aGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSkpCisgICAgICAgIHBhaW50RmxhZ3MuYWRk
KFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdXRsaW5lKTsKIAogICAgIGlm
ICgmZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllci5nZXQoKSAmJiBtX2JhY2tncm91
bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQpCiAgICAgICAgIHBhaW50RmxhZ3MuYWRk
KHsgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ1Jvb3RCYWNrZ3JvdW5kT25s
eSwgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdy
b3VuZFBoYXNlIH0pOyAvLyBOZWVkIFBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5n
Rm9yZWdyb3VuZFBoYXNlIHRvIHdhbGsgY2hpbGQgbGF5ZXJzLgpAQCAtMzQ0OSw2ICszNTM2LDcg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NM
YXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgbGF5ZXJQYWludEJlaGF2aW9yIHw9
IEdyYXBoaWNzTGF5ZXJQYWludEZpcnN0VGlsZVBhaW50OwogCiAgICAgaWYgKGdyYXBoaWNzTGF5
ZXIgPT0gbV9ncmFwaGljc0xheWVyLmdldCgpCisgICAgICAgIHx8IGdyYXBoaWNzTGF5ZXIgPT0g
bV9vdXRsaW5lTGF5ZXIuZ2V0KCkKICAgICAgICAgfHwgZ3JhcGhpY3NMYXllciA9PSBtX2ZvcmVn
cm91bmRMYXllci5nZXQoKQogICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fYmFja2dyb3Vu
ZExheWVyLmdldCgpCiAgICAgICAgIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9tYXNrTGF5ZXIuZ2V0
KCkKQEAgLTM4NjksNiArMzk1Nyw4IEBAIGRvdWJsZSBSZW5kZXJMYXllckJhY2tpbmc6OmJhY2tp
bmdTdG9yZU1lbW9yeUVzdGltYXRlKCkgY29uc3QKICAgICAKICAgICAvLyBMYXllcnMgaW4gbV9h
bmNlc3RvckNsaXBwaW5nU3RhY2ssIG1fY29udGVudHNDb250YWlubWVudExheWVyIGFuZCBtX2No
aWxkQ29udGFpbm1lbnRMYXllciBhcmUganVzdCB1c2VkIGZvciBtYXNraW5nIG9yIGNvbnRhaW5t
ZW50LCBzbyBoYXZlIG5vIGJhY2tpbmcuCiAgICAgYmFja2luZ01lbW9yeSA9IG1fZ3JhcGhpY3NM
YXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsKKyAgICBpZiAobV9vdXRsaW5lTGF5
ZXIpCisgICAgICAgIGJhY2tpbmdNZW1vcnkgKz0gbV9vdXRsaW5lTGF5ZXItPmJhY2tpbmdTdG9y
ZU1lbW9yeUVzdGltYXRlKCk7CiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKQogICAgICAgICBi
YWNraW5nTWVtb3J5ICs9IG1fZm9yZWdyb3VuZExheWVyLT5iYWNraW5nU3RvcmVNZW1vcnlFc3Rp
bWF0ZSgpOwogICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCAxOTNjNWQxNzVjZWU5OGRmYzA2MGRl
MWM4ZDZhMjMxOTQ4OWNkNDdkLi5iODg0NDgwYzQzZjA2MGY1NTc2M2RmYzFlNzBjNjhjOWYwZTc1
OWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5o
CkBAIC0xMTksNiArMTE5LDcgQEAgcHVibGljOgogCiAgICAgR3JhcGhpY3NMYXllciogY29udGVu
dHNDb250YWlubWVudExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0NvbnRhaW5tZW50
TGF5ZXIuZ2V0KCk7IH0KIAorICAgIEdyYXBoaWNzTGF5ZXIqIG91dGxpbmVMYXllcigpIGNvbnN0
IHsgcmV0dXJuIG1fb3V0bGluZUxheWVyLmdldCgpOyB9CiAgICAgR3JhcGhpY3NMYXllciogZm9y
ZWdyb3VuZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9mb3JlZ3JvdW5kTGF5ZXIuZ2V0KCk7IH0K
ICAgICBHcmFwaGljc0xheWVyKiBiYWNrZ3JvdW5kTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2Jh
Y2tncm91bmRMYXllci5nZXQoKTsgfQogICAgIGJvb2wgYmFja2dyb3VuZExheWVyUGFpbnRzRml4
ZWRSb290QmFja2dyb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZExheWVyUGFpbnRz
Rml4ZWRSb290QmFja2dyb3VuZDsgfQpAQCAtMzEwLDYgKzMxMSw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCB1cGRhdGVBbmNlc3RvckNsaXBwaW5nKGJvb2wgbmVlZHNBbmNlc3RvckNsaXAsIGNvbnN0
IFJlbmRlckxheWVyKiBjb21wb3NpdGluZ0FuY2VzdG9yKTsKICAgICBib29sIHVwZGF0ZURlc2Nl
bmRhbnRDbGlwcGluZ0xheWVyKGJvb2wgbmVlZHNEZXNjZW5kYW50Q2xpcCk7CiAgICAgYm9vbCB1
cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKGJvb2wgbmVlZHNIb3Jpem9udGFsU2Nyb2xsYmFy
TGF5ZXIsIGJvb2wgbmVlZHNWZXJ0aWNhbFNjcm9sbGJhckxheWVyLCBib29sIG5lZWRzU2Nyb2xs
Q29ybmVyTGF5ZXIpOworICAgIGJvb2wgdXBkYXRlT3V0bGluZUxheWVyKGJvb2wgbmVlZHNPdXRs
aW5lTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlRm9yZWdyb3VuZExheWVyKGJvb2wgbmVlZHNGb3Jl
Z3JvdW5kTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlQmFja2dyb3VuZExheWVyKGJvb2wgbmVlZHNC
YWNrZ3JvdW5kTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlTWFza2luZ0xheWVyKGJvb2wgaGFzTWFz
aywgYm9vbCBoYXNDbGlwUGF0aCk7CkBAIC00MTUsNiArNDE3LDcgQEAgcHJpdmF0ZToKIAogICAg
IFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2NvbnRlbnRzQ29udGFpbm1lbnRMYXllcjsgLy8gT25s
eSB1c2VkIGlmIHdlIGhhdmUgYSBiYWNrZ3JvdW5kIGxheWVyOyB0YWtlcyB0aGUgdHJhbnNmb3Jt
LgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2dyYXBoaWNzTGF5ZXI7CisgICAgUmVmUHRy
PEdyYXBoaWNzTGF5ZXI+IG1fb3V0bGluZUxheWVyOyAvLyBPbmx5IHVzZWQgaWYgdGhlIG91dGxp
bmUgaGFzIGEgbmVnYXRpdmUgb2Zmc2V0IGFuZCB0aGVyZSBhcmUgb3ZlcmZsb3cgY29udHJvbHMu
CiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fZm9yZWdyb3VuZExheWVyOyAvLyBPbmx5IHVz
ZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBkcmF3IHRoZSBmb3JlZ3JvdW5kIHNlcGFyYXRl
bHkuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fYmFja2dyb3VuZExheWVyOyAvLyBPbmx5
IHVzZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBkcmF3IHRoZSBiYWNrZ3JvdW5kIHNlcGFy
YXRlbHkuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fY2hpbGRDb250YWlubWVudExheWVy
OyAvLyBPbmx5IHVzZWQgaWYgd2UgaGF2ZSBjbGlwcGluZyBvbiBhIHN0YWNraW5nIGNvbnRleHQg
d2l0aCBjb21wb3NpdGluZyBjaGlsZHJlbiwgb3IgaWYgdGhlIGxheWVyIGhhcyBhIHRpbGUgY2Fj
aGUuCkBAIC00MjUsNiArNDI4LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8R3JhcGhpY3NMYXll
cj4gbV9sYXllckZvclZlcnRpY2FsU2Nyb2xsYmFyOwogICAgIFJlZlB0cjxHcmFwaGljc0xheWVy
PiBtX2xheWVyRm9yU2Nyb2xsQ29ybmVyOwogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX292
ZXJmbG93Q29udHJvbHNDb250YWluZXI7CisgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fb3Zl
cmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyOwogCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5
ZXI+IG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXI7IC8vIE9ubHkgdXNlZCBpZiB0aGUgbGF5ZXIgaXMg
dXNpbmcgY29tcG9zaXRlZCBzY3JvbGxpbmcuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1f
c2Nyb2xsZWRDb250ZW50c0xheWVyOyAvLyBPbmx5IHVzZWQgaWYgdGhlIGxheWVyIGlzIHVzaW5n
IGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431841</attachid>
            <date>2021-06-21 02:45:03 -0700</date>
            <delta_ts>2021-06-21 04:40:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227061-20210621104502.patch</filename>
            <type>text/plain</type>
            <size>26375</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZkNzFlZDQ3ZDQzOGUw
NzM0MmNhNGViMjk5NWQwM2Q3YWY5N2FkZC4uOGRjYWE0ZGNjOThhYjFjNzFkYzExODQ4ZDkwMWRk
YzkzNzkyYmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA2LTE3ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBOZWdhdGl2ZSBDU1Mgb3V0bGlu
ZS1vZmZzZXQgYXBwZWFycyBiZW5lYXRoIHNjcm9sbCBjb250cm9scyB3aGVuIGFzeW5jIG92ZXJm
bG93IHNjcm9sbGluZyBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjcwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGNvbXBvc2l0ZWQgc2Nyb2xsZWQgY29udGVudCBoYXMgYW4g
b3V0bGluZSB3aXRoIGEgbmVnYXRpdmUKKyAgICAgICAgb2Zmc2V0LCBkcmF3IHRoZSBvdXRsaW5l
IG9uIGEgc2VwYXJhdGUgbGF5ZXIgc28gdGhhdCBpdCBhcHBlYXJzIG92ZXIKKyAgICAgICAgb3Zl
cmZsb3cgY29udHJvbHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6On5SZW5kZXJMYXllckJh
Y2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVEZWJ1
Z0luZGljYXRvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0
cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxh
dGl2ZVRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVPdXRsaW5lTGF5ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJ
bnRvTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEZs
YWdzRm9yTGF5ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaDoKKwogMjAyMS0wNi0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gY2xhbmcgYW5hbHlzaXM6
IFVubG9ja2VkIGFjY2VzcyBpbiBJbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGM1
ZDFlMDhmZjg4NmI0MjFiMTgxMjViNjkzMzNjYjFjMDNmNjEwMzYuLjdkYjljMmM2ZjI4MWIyOGU3
ZDQwNzc4M2I2Njg1MzlkYjI3MWI2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMDM2LDYgKzEwMzYsNyBAQCBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQ
aGFzZSBwaGFzZSkKICAgICBzd2l0Y2ggKHBoYXNlKSB7CiAgICAgY2FzZSBHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZDogdHMgPDwgImJhY2tncm91bmQiOyBicmVhazsKICAg
ICBjYXNlIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kOiB0cyA8PCAiZm9y
ZWdyb3VuZCI7IGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91
dGxpbmU6IHRzIDw8ICJvdXRsaW5lIjsgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6TWFzazogdHMgPDwgIm1hc2siOyBicmVhazsKICAgICBjYXNlIEdyYXBoaWNz
TGF5ZXJQYWludGluZ1BoYXNlOjpDbGlwUGF0aDogdHMgPDwgImNsaXAtcGF0aCI7IGJyZWFrOwog
ICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHM6IHRz
IDw8ICJvdmVyZmxvdy1jb250ZW50cyI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDdjN2Q0ZmNjOWVkMjIzMGQ4NzA5
NWU2NzRlNTljMmQxNzU4NWQwNmEuLjUwZWQxMmI4ZGE3YjliNjJiMGE3ZDAzZDU3NzI0YTYzNTRh
MDgxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmgKQEAgLTcyMiw3ICs3MjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBjb25zdCBUeXBl
IG1fdHlwZTsKICAgICBDdXN0b21BcHBlYXJhbmNlIG1fY3VzdG9tQXBwZWFyYW5jZSB7IEN1c3Rv
bUFwcGVhcmFuY2U6Ok5vbmUgfTsKLSAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+IG1fcGFpbnRpbmdQaGFzZSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3Jl
Z3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCB9OworICAgIE9w
dGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gbV9wYWludGluZ1BoYXNlIHsgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlOjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSB9
OwogICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBtX2NvbnRlbnRzT3JpZW50
YXRpb24geyBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb246OlRvcERvd24gfTsgLy8g
YWZmZWN0cyBvcmllbnRhdGlvbiBvZiBsYXllciBjb250ZW50cwogCiAgICAgYm9vbCBtX2JlaW5n
RGVzdHJveWVkIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAppbmRleCAyYTQyMmVmM2ZhOTYxZjQxYmVkYzZiZmI3
YzBhYTUzYTZmOTU1ZjY5Li40NjNiZWZhY2U1ZWM3NmU3ZWFhYmNlNDY4YTI4MDZhNDk3OGE3Yjk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllckNsaWVudC5oCkBAIC00Nyw2ICs0Nyw3IEBAIGVudW0gY2xhc3MgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2UgewogICAgIE92ZXJmbG93Q29udGVudHMgICAgICA9IDEgPDwgNCwKICAg
ICBDb21wb3NpdGVkU2Nyb2xsICAgICAgPSAxIDw8IDUsCiAgICAgQ2hpbGRDbGlwcGluZ01hc2sg
ICAgID0gMSA8PCA2LAorICAgIE91dGxpbmUgICAgICAgICAgICAgICA9IDEgPDwgNwogfTsKIAog
ZW51bSBBbmltYXRlZFByb3BlcnR5SUQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggMWYxMWE5NzhlMzE1YmFkZDdhY2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4u
YjkzYWFhNmI4MGU0MmQyYTNkMzljZTI1NWIxNmZhZTMwNTRiNDE5MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zMjM3LDIxICszMjM3LDI2IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQs
IGNvbnN0IExheWVyUGFpbnRpCiAgICAgYm9vbCBpc1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCA9
IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3Np
dGluZ1Njcm9sbGluZ1BoYXNlKTsKICAgICBib29sIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdy
b3VuZCA9IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdD
b21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nQ29tcG9zaXRl
ZEJhY2tncm91bmQgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBh
aW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOworICAgIGJvb2wgaXNQYWludGluZ091
dGxpbmUgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5n
T3V0bGluZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA9IGxvY2FsUGFp
bnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRz
KTsKICAgICBib29sIGlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uID0gbG9jYWxQYWludEZsYWdzLmNv
bnRhaW5zKFBhaW50TGF5ZXJGbGFnOjpDb2xsZWN0aW5nRXZlbnRSZWdpb24pOwogCiAgICAgYm9v
bCBpc1NlbGZQYWludGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwogCiAg
ICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMgdG8gYmUgcGFpbnRlZCBldmVuIGlmIHdlIGhhdmUg
bm8gdmlzaWJsZSBjb250ZW50LiBBbHNvLAotICAgIC8vIHRoZSBvdXRsaW5lIGlzIHBhaW50ZWQg
aW4gdGhlIGJhY2tncm91bmQgcGhhc2UgZHVyaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgorICAg
IC8vIHRoZSBvdXRsaW5lIG1heSBiZSBwYWludGVkIGluIHRoZSBiYWNrZ3JvdW5kIHBoYXNlIGR1
cmluZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KICAgICAvLyBJZiBpdCB3ZXJlIHBhaW50ZWQgaW4g
dGhlIGZvcmVncm91bmQgcGhhc2UsIGl0IHdvdWxkIG1vdmUgd2l0aCB0aGUgc2Nyb2xsZWQKLSAg
ICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNjcm9sbGluZywgdGhlIG91dGxpbmUg
aXMgcGFpbnRlZCBpbiB0aGUKKyAgICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNj
cm9sbGluZywgdGhlIG91dGxpbmUgbWF5IGJlIHBhaW50ZWQgaW4gdGhlCiAgICAgLy8gZm9yZWdy
b3VuZCBwaGFzZS4gU2luY2Ugc2Nyb2xsZWQgY29udGVudHMgYXJlIG1vdmVkIGJ5IHJlcGFpbnRp
bmcgaW4gdGhpcwogICAgIC8vIGNhc2UsIHRoZSBvdXRsaW5lIHdvbid0IGdldCAnZHJhZ2dlZCBh
bG9uZycuCi0gICAgYm9vbCBzaG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVy
ICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVn
aW9uCisgICAgLy8gSW4gdGhlIGNhc2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxlZCBjb250ZW50IHdp
dGggb3ZlcmZsb3cgY29udHJvbHMsIGlmIHRoZQorICAgIC8vIG91dGxpbmUgaGFzIGEgbmVnYXRp
dmUgb2Zmc2V0LCBpdCBpcyBwYWludGVkIG9uIGEgc2VwYXJhdGUgbGF5ZXIuCisgICAgYm9vbCBz
aG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVyICYmIGlzUGFpbnRpbmdPdXRs
aW5lICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50
UmVnaW9uCiAgICAgICAgICYmIChyZW5kZXJlcigpLnZpZXcoKS5wcmludGluZygpIHx8IHJlbmRl
cmVyKCkudmlldygpLmhhc1JlbmRlcmVyc1dpdGhPdXRsaW5lKCkpCiAgICAgICAgICYmICgoaXNQ
YWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5k
KQotICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFpbnRpbmdD
b21wb3NpdGVkRm9yZWdyb3VuZCkpOworICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdD
b250ZW50ICYmIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdyb3VuZCkKKyAgICAgICAgfHwgKCFp
c1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCAmJiAhaXNQYWludGluZ0NvbXBvc2l0ZWRGb3JlZ3Jv
dW5kCisgICAgICAgICAgICAmJiAhaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5kICYmICFp
c1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cykpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50
ID0gbV9oYXNWaXNpYmxlQ29udGVudCAmJiBpc1NlbGZQYWludGluZ0xheWVyICYmICFpc1BhaW50
aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uOwogCiAgICAg
aWYgKGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdSb290
QmFja2dyb3VuZE9ubHkpICYmICFyZW5kZXJlcigpLmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJl
cigpLmlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSkgewpAQCAtNTI0MCw2ICs1MjQ1LDExIEBA
IGJvb2wgUmVuZGVyTGF5ZXI6Omhhc1Zpc2libGVCb3hEZWNvcmF0aW9ucygpIGNvbnN0CiAgICAg
cmV0dXJuIGhhc1Zpc2libGVCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIHx8IChtX3Njcm9s
bGFibGVBcmVhICYmIG1fc2Nyb2xsYWJsZUFyZWEtPmhhc092ZXJmbG93Q29udHJvbHMoKSk7CiB9
CiAKK2Jvb2wgUmVuZGVyTGF5ZXI6Omhhc0luc2V0T3V0bGluZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHJlbmRlcmVyKCkuc3R5bGUoKS5vdXRsaW5lT2Zmc2V0KCkgPCAwOworfQorCiBib29sIFJl
bmRlckxheWVyOjppc1Zpc3VhbGx5Tm9uRW1wdHkoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KiByZXF1
ZXN0KSBjb25zdAogewogICAgIEFTU0VSVCghbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDA1NmNmNTAzODE3
MTBkYzRhMDMyOGU1MTBkYjAyZTkzYTcyNjE2YS4uMTMwZjljZGMwYjgyOTRiOGI4ZGY3NTQ0MzAy
NDMxZGYyMTEwNTAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAg
LTUzMSw3ICs1MzEsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhc1Zpc2libGVCb3hEZWNvcmF0
aW9uc09yQmFja2dyb3VuZCgpIGNvbnN0OwogICAgIGJvb2wgaGFzVmlzaWJsZUJveERlY29yYXRp
b25zKCkgY29uc3Q7Ci0gICAgCisgICAgYm9vbCBoYXNJbnNldE91dGxpbmUoKSBjb25zdDsKKwog
ICAgIGJvb2wgYmVoYXZlc0FzRml4ZWQoKSBjb25zdCB7IHJldHVybiBtX2JlaGF2ZXNBc0ZpeGVk
OyB9CiAKICAgICBzdHJ1Y3QgUGFpbnRlZENvbnRlbnRSZXF1ZXN0IHsKQEAgLTYyNCw3ICs2MjUs
OCBAQCBwdWJsaWM6CiAgICAgICAgIFBhaW50aW5nUm9vdEJhY2tncm91bmRPbmx5ICAgICAgICAg
ICAgPSAxIDw8IDExLAogICAgICAgICBQYWludGluZ1NraXBSb290QmFja2dyb3VuZCAgICAgICAg
ICAgID0gMSA8PCAxMiwKICAgICAgICAgUGFpbnRpbmdDaGlsZENsaXBwaW5nTWFza1BoYXNlICAg
ICAgICA9IDEgPDwgMTMsCi0gICAgICAgIENvbGxlY3RpbmdFdmVudFJlZ2lvbiAgICAgICAgICAg
ICAgICAgPSAxIDw8IDE0LAorICAgICAgICBQYWludGluZ091dGxpbmUgICAgICAgICAgICAgICAg
ICAgICAgID0gMSA8PCAxNCwKKyAgICAgICAgQ29sbGVjdGluZ0V2ZW50UmVnaW9uICAgICAgICAg
ICAgICAgICA9IDEgPDwgMTUsCiAgICAgfTsKICAgICBzdGF0aWMgY29uc3RleHByIE9wdGlvblNl
dDxQYWludExheWVyRmxhZz4gcGFpbnRMYXllclBhaW50aW5nQ29tcG9zaXRpbmdBbGxQaGFzZXNG
bGFncygpIHsgcmV0dXJuIHsgUGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdCYWNr
Z3JvdW5kUGhhc2UsIFBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3Vu
ZFBoYXNlIH07IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcAppbmRleCBkZWE1YzE1MzE3OTlhMzUxYjE4NGE0ZjFmY2NmZDRlYzVmMGIzMGU5
Li5lZDc4ZjNjNmU3YjY5Yzk2OGRkMTBlOWY0YzExMmUzNmM5YWM2ZGQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMjQ5LDYgKzI0
OSw3IEBAIFJlbmRlckxheWVyQmFja2luZzo6flJlbmRlckxheWVyQmFja2luZygpCiAgICAgdXBk
YXRlQ2hpbGRDbGlwcGluZ1N0cmF0ZWd5KGZhbHNlKTsKICAgICB1cGRhdGVEZXNjZW5kYW50Q2xp
cHBpbmdMYXllcihmYWxzZSk7CiAgICAgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhmYWxz
ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICB1cGRhdGVPdXRsaW5lTGF5ZXIoZmFsc2UpOwogICAgIHVw
ZGF0ZUZvcmVncm91bmRMYXllcihmYWxzZSk7CiAgICAgdXBkYXRlQmFja2dyb3VuZExheWVyKGZh
bHNlKTsKICAgICB1cGRhdGVNYXNraW5nTGF5ZXIoZmFsc2UsIGZhbHNlKTsKQEAgLTQ2OCw2ICs0
NjksMTEgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURlYnVnSW5kaWNhdG9ycyhi
b29sIHNob3dCb3JkZXIsIGJvb2wgc2hvd1JlcGFpbnQKICAgICAgICAgICAgIGVudHJ5LmNsaXBw
aW5nTGF5ZXItPnNldFNob3dEZWJ1Z0JvcmRlcihzaG93Qm9yZGVyKTsKICAgICB9CiAKKyAgICBp
ZiAobV9vdXRsaW5lTGF5ZXIpIHsKKyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dEZWJ1
Z0JvcmRlcihzaG93Qm9yZGVyKTsKKyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFNob3dSZXBh
aW50Q291bnRlcihzaG93UmVwYWludENvdW50ZXIpOworICAgIH0KKwogICAgIGlmIChtX2ZvcmVn
cm91bmRMYXllcikgewogICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd0RlYnVnQm9y
ZGVyKHNob3dCb3JkZXIpOwogICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0U2hvd1JlcGFp
bnRDb3VudGVyKHNob3dSZXBhaW50Q291bnRlcik7CkBAIC01OTMsNiArNTk5LDcgQEAgdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgICAgIHJlbW92
ZUNsaXBwaW5nU3RhY2tMYXllcnMoKm1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllckFuY2VzdG9y
Q2xpcHBpbmdTdGFjayk7CiAKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1f
Y29udGVudHNDb250YWlubWVudExheWVyKTsKKyAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFu
ZENsZWFyKG1fb3V0bGluZUxheWVyKTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENs
ZWFyKG1fZm9yZWdyb3VuZExheWVyKTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENs
ZWFyKG1fYmFja2dyb3VuZExheWVyKTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENs
ZWFyKG1fY2hpbGRDb250YWlubWVudExheWVyKTsKQEAgLTg3MSw2ICs4NzgsOCBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlQWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKGNvbnN0
IExheW91dFJlY3QmIGFicwogewogICAgIGF1dG8gc2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNo
aW5nID0gWyZdKGJvb2wgYWxsb3dEZXRhY2hpbmcpIHsKICAgICAgICAgbV9ncmFwaGljc0xheWVy
LT5zZXRBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcoYWxsb3dEZXRhY2hpbmcpOworICAgICAg
ICBpZiAobV9vdXRsaW5lTGF5ZXIpCisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0QWxs
b3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKGFsbG93RGV0YWNoaW5nKTsKICAgICAgICAgaWYgKG1f
Zm9yZWdyb3VuZExheWVyKQogICAgICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldEFsbG93
c0JhY2tpbmdTdG9yZURldGFjaGluZyhhbGxvd0RldGFjaGluZyk7CiAgICAgICAgIGlmIChtX2Jh
Y2tncm91bmRMYXllcikKQEAgLTEwMDEsNiArMTAxMCwxMCBAQCBib29sIFJlbmRlckxheWVyQmFj
a2luZzo6dXBkYXRlQ29uZmlndXJhdGlvbihjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdB
bmNlcwogICAgIGlmICh1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKHJlcXVpcmVzSG9yaXpv
bnRhbFNjcm9sbGJhckxheWVyKCksIHJlcXVpcmVzVmVydGljYWxTY3JvbGxiYXJMYXllcigpLCBy
ZXF1aXJlc1Njcm9sbENvcm5lckxheWVyKCkpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQg
PSB0cnVlOwogCisgICAgLy8gT3V0bGluZXMgd2l0aCBuZWdhdGl2ZSBvZmZzZXRzIG5lZWQgdG8g
YXBwZWFyIGFib3ZlIHNjcm9sbCBVSS4KKyAgICBpZiAodXBkYXRlT3V0bGluZUxheWVyKG1fb3Zl
cmZsb3dDb250cm9sc0NvbnRhaW5lciAmJiBtX293bmluZ0xheWVyLmhhc0luc2V0T3V0bGluZSgp
KSkKKyAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKKwogICAgIGlmIChsYXllckNv
bmZpZ0NoYW5nZWQpCiAgICAgICAgIHVwZGF0ZUludGVybmFsSGllcmFyY2h5KCk7CiAKQEAgLTE0
MjgsNyArMTQ0MSwxNCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnko
Y29uc3QgUmVuZGVyTGF5ZXIqIGNvbXBvc2l0ZWRBbmNlc3RvcikKIAogICAgICAgICBtX292ZXJm
bG93Q29udHJvbHNDb250YWluZXItPnNldFBvc2l0aW9uKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBl
ZFJlY3QubG9jYXRpb24oKSk7CiAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+
c2V0U2l6ZShzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LnNpemUoKSk7Ci0gICAgICAgIG1f
b3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsKKyAgICAg
ICAgaWYgKG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyKQorICAgICAgICAgICAg
bV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXItPnNldFNpemUoc25hcHBlZEJveElu
Zm8ubV9zbmFwcGVkUmVjdC5zaXplKCkpOworCisgICAgICAgIGlmIChtX291dGxpbmVMYXllcikg
eworICAgICAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldFBvc2l0aW9uKC1zbmFwcGVkQm94SW5m
by5tX3NuYXBwZWRSZWN0LmxvY2F0aW9uKCkpOworICAgICAgICAgICAgbV9vdXRsaW5lTGF5ZXIt
PnNldFNpemUocHJpbWFyeUdyYXBoaWNzTGF5ZXJSZWN0LnNpemUoKSk7CisgICAgICAgICAgICBt
X291dGxpbmVMYXllci0+c2V0T2Zmc2V0RnJvbVJlbmRlcmVyKG1fZ3JhcGhpY3NMYXllci0+b2Zm
c2V0RnJvbVJlbmRlcmVyKCkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgaWYgKG1fZm9yZWdy
b3VuZExheWVyKSB7CkBAIC0xNTA5LDYgKzE1MjksOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6YWRqdXN0T3ZlcmZsb3dDb250cm9sc1Bvc2l0aW9uUmVsYXRpdmVUb0FuY2VzdG9yKGNvbnN0
CiAKICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPnNldFBvc2l0aW9uKHNuYXBwZWRC
b3hJbmZvLm1fc25hcHBlZFJlY3QubG9jYXRpb24oKSk7CiAgICAgbV9vdmVyZmxvd0NvbnRyb2xz
Q29udGFpbmVyLT5zZXRTaXplKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsK
KyAgICBpZiAobV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIpCisgICAgICAgIG1f
b3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRTaXplKHNuYXBwZWRCb3hJbmZv
Lm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNl
dExvY2F0aW9uT2ZTY3JvbGxlZENvbnRlbnRzKFNjcm9sbE9mZnNldCBzY3JvbGxPZmZzZXQsIFNj
cm9sbGluZ0xheWVyUG9zaXRpb25BY3Rpb24gc2V0T3JTeW5jKQpAQCAtMTY1MywxNyArMTY3NSwy
NiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkoKQog
ICAgIC8vIHNpYmxpbmdzIG9mIHRoZSBjbGlwcGluZyBsYXllciBpZiB3ZSBoYXZlIG9uZS4gTm9y
bWFsIGNoaWxkcmVuIG9mIHRoaXMgbGF5ZXIgYXJlIHNldCBhcwogICAgIC8vIGNoaWxkcmVuIG9m
IHRoZSBjbGlwcGluZyBsYXllci4KICAgICBpZiAobV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVy
KSB7CisgICAgICAgIGF1dG8gY2xpcHBpbmdDb250YWluZXIgPSBtX292ZXJmbG93Q29udHJvbHND
bGlwcGluZ01hc2tMYXllciA/IG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyIDog
bV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyOworICAgICAgICBjbGlwcGluZ0NvbnRhaW5lci0+
c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsKKworICAgICAgICBpZiAobV9vdmVyZmxvd0NvbnRyb2xz
Q2xpcHBpbmdNYXNrTGF5ZXIpCisgICAgICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWlu
ZXItPmFkZENoaWxkKCptX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcik7CisKICAg
ICAgICAgaWYgKG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKQotICAgICAgICAgICAgbV9v
dmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXllckZvckhvcml6b250YWxT
Y3JvbGxiYXIpOworICAgICAgICAgICAgY2xpcHBpbmdDb250YWluZXItPmFkZENoaWxkKCptX2xh
eWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcik7CiAKICAgICAgICAgaWYgKG1fbGF5ZXJGb3JWZXJ0
aWNhbFNjcm9sbGJhcikKLSAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+
YWRkQ2hpbGQoKm1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcik7CisgICAgICAgICAgICBjbGlw
cGluZ0NvbnRhaW5lci0+YWRkQ2hpbGQoKm1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcik7CiAK
ICAgICAgICAgaWYgKG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXIpCi0gICAgICAgICAgICBtX292ZXJm
bG93Q29udHJvbHNDb250YWluZXItPmFkZENoaWxkKCptX2xheWVyRm9yU2Nyb2xsQ29ybmVyKTsK
KyAgICAgICAgICAgIGNsaXBwaW5nQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXllckZvclNjcm9s
bENvcm5lcik7CiAKICAgICAgICAgLy8gbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyIG1heSBn
ZXQgcmVwYXJlbnRlZCBsYXRlci4KICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5hZGRDaGlsZCgq
bV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyKTsKKworICAgICAgICBpZiAobV9vdXRsaW5lTGF5
ZXIpCisgICAgICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPmFkZENoaWxkKCpt
X291dGxpbmVMYXllcik7CiAgICAgfQogfQogCkBAIC0xNzIzLDYgKzE3NTQsOSBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlRHJhd3NDb250ZW50KFBhaW50ZWRDb250ZW50c0luZm8m
IGNvbnRlbnRzSW5mbykKICAgICB9IGVsc2UKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRT
dXBwb3J0c1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0KG1fcGFpbnRzU3VicGl4ZWxBbnRpYWxpYXNl
ZFRleHQpOwogCisgICAgaWYgKG1fb3V0bGluZUxheWVyKQorICAgICAgICBtX291dGxpbmVMYXll
ci0+c2V0RHJhd3NDb250ZW50KGhhc1BhaW50ZWRDb250ZW50KTsKKwogICAgIGlmIChtX2JhY2tn
cm91bmRMYXllcikKICAgICAgICAgbV9iYWNrZ3JvdW5kTGF5ZXItPnNldERyYXdzQ29udGVudCht
X2JhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQgPyBoYXNQYWludGVkQ29u
dGVudCA6IGNvbnRlbnRzSW5mby5wYWludHNCb3hEZWNvcmF0aW9ucygpKTsKIH0KQEAgLTIwOTgs
NyArMjEzMiwxOSBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlT3ZlcmZsb3dDb250
cm9sc0xheWVycyhib29sIG5lZWRzSG9yaXpvbnRhbFNjcm9sbAogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9OwogCi0gICAgYm9vbCBsYXllcnNDaGFuZ2VkID0gY3JlYXRlT3JEZXN0cm95TGF5
ZXIobV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLCBuZWVkc0hvcml6b250YWxTY3JvbGxiYXJM
YXllciB8fCBuZWVkc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIgfHwgbmVlZHNTY3JvbGxDb3JuZXJM
YXllciwgZmFsc2UsICJvdmVyZmxvdyBjb250cm9scyBjb250YWluZXIiKTsKKyAgICBib29sIG5l
ZWRzT3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lciA9IG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxh
eWVyIHx8IG5lZWRzVmVydGljYWxTY3JvbGxiYXJMYXllciB8fCBuZWVkc1Njcm9sbENvcm5lckxh
eWVyOworICAgIGJvb2wgbGF5ZXJzQ2hhbmdlZCA9IGNyZWF0ZU9yRGVzdHJveUxheWVyKG1fb3Zl
cmZsb3dDb250cm9sc0NvbnRhaW5lciwgbmVlZHNPdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLCBm
YWxzZSwgIm92ZXJmbG93IGNvbnRyb2xzIGNvbnRhaW5lciIpOworCisgICAgYm9vbCBuZWVkc0Nv
bnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIgPSBuZWVkc092ZXJmbG93Q29udHJvbHNDb250YWluZXIg
JiYgbV9vd25pbmdMYXllci5oYXNJbnNldE91dGxpbmUoKTsKKyAgICBpZiAobmVlZHNDb250cm9s
c0NsaXBwaW5nTWFza0xheWVyICYmICFtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXll
cikgeworICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA9IGNyZWF0
ZUdyYXBoaWNzTGF5ZXIoIm92ZXJmbG93IGNvbnRyb2xzIGNsaXBwaW5nIGxheWVyIik7CisgICAg
ICAgIG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRQYWludGluZ1BoYXNl
KHsgfSk7CisgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRE
cmF3c0NvbnRlbnQoZmFsc2UpOworICAgIH0KKyAgICBpZiAoIW5lZWRzQ29udHJvbHNDbGlwcGlu
Z01hc2tMYXllciAmJiBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcikgeworICAg
ICAgICB3aWxsRGVzdHJveUxheWVyKG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVy
LmdldCgpKTsKKyAgICAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVhcihtX292ZXJm
bG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcik7CisgICAgfQogCiAgICAgYm9vbCBob3Jpem9u
dGFsU2Nyb2xsYmFyTGF5ZXJDaGFuZ2VkID0gY3JlYXRlT3JEZXN0cm95TGF5ZXIobV9sYXllckZv
ckhvcml6b250YWxTY3JvbGxiYXIsIG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLCB0cnVl
LCAiaG9yaXpvbnRhbCBzY3JvbGxiYXIiKTsKICAgICBsYXllcnNDaGFuZ2VkIHw9IGhvcml6b250
YWxTY3JvbGxiYXJMYXllckNoYW5nZWQ7CkBAIC0yMTYzLDYgKzIyMDksMjcgQEAgdm9pZCBSZW5k
ZXJMYXllckJhY2tpbmc6OnBvc2l0aW9uT3ZlcmZsb3dDb250cm9sc0xheWVycygpCiAgICAgfQog
fQogCitib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlT3V0bGluZUxheWVyKGJvb2wgbmVl
ZHNPdXRsaW5lTGF5ZXIpCit7CisgICAgYm9vbCBsYXllckNoYW5nZWQgPSBmYWxzZTsKKyAgICBp
ZiAobmVlZHNPdXRsaW5lTGF5ZXIpIHsKKyAgICAgICAgaWYgKCFtX291dGxpbmVMYXllcikgewor
ICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJDcmVhdGluZyBvdXRsaW5lIGxheWVyIik7CisgICAg
ICAgICAgICBTdHJpbmcgbGF5ZXJOYW1lID0gbV9vd25pbmdMYXllci5uYW1lKCkgKyAiIChvdXRs
aW5lKSI7CisgICAgICAgICAgICBtX291dGxpbmVMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIo
bGF5ZXJOYW1lKTsKKyAgICAgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXREcmF3c0NvbnRlbnQo
dHJ1ZSk7CisgICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgICAgICB9CisgICAg
fSBlbHNlIGlmIChtX291dGxpbmVMYXllcikgeworICAgICAgICBXVEZMb2dBbHdheXMoIkRlc3Ry
b3lpbmcgb3V0bGluZSBsYXllciIpOworICAgICAgICB3aWxsRGVzdHJveUxheWVyKG1fb3V0bGlu
ZUxheWVyLmdldCgpKTsKKyAgICAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVhciht
X291dGxpbmVMYXllcik7CisgICAgICAgIGxheWVyQ2hhbmdlZCA9IHRydWU7CisgICAgfQorCisg
ICAgcmV0dXJuIGxheWVyQ2hhbmdlZDsKK30KKwogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUZvcmVncm91bmRMYXllcihib29sIG5lZWRzRm9yZWdyb3VuZExheWVyKQogewogICAgIGJv
b2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7CkBAIC0yNTkyLDIwICsyNjU5LDMyIEBAIHZvaWQgUmVu
ZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVSb290TGF5ZXJDb25maWd1cmF0aW9uKCkKIHZvaWQgUmVu
ZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcygpCiB7CiAgICAgLy8gUGhhc2Vz
IGZvciBtX2NoaWxkQ2xpcHBpbmdNYXNrTGF5ZXIgYW5kIG1fbWFza0xheWVyIGFyZSBzZXQgZWxz
ZXdoZXJlLgotICAgIE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gcHJpbWFy
eUxheWVyUGhhc2VzID0geyBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCwg
R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQgfTsKLSAgICAKKyAgICBPcHRp
b25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+IHByaW1hcnlMYXllclBoYXNlcyA9IHsg
R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkJhY2tncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWlu
dGluZ1BoYXNlOjpGb3JlZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGlu
ZSB9OworCisgICAgaWYgKG1fb3V0bGluZUxheWVyKSB7CisgICAgICAgIG1fb3V0bGluZUxheWVy
LT5zZXRQYWludGluZ1BoYXNlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdXRsaW5lKTsK
KyAgICAgICAgcHJpbWFyeUxheWVyUGhhc2VzLnJlbW92ZShHcmFwaGljc0xheWVyUGFpbnRpbmdQ
aGFzZTo6T3V0bGluZSk7CisgICAgfQorCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7CiAg
ICAgICAgIE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gZm9yZWdyb3VuZExh
eWVyUGhhc2VzIHsgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQgfTsKICAg
ICAgICAgCiAgICAgICAgIGlmIChtX3Njcm9sbGVkQ29udGVudHNMYXllcikKICAgICAgICAgICAg
IGZvcmVncm91bmRMYXllclBoYXNlcy5hZGQoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92
ZXJmbG93Q29udGVudHMpOworICAgICAgICBpZiAoIW1fb3V0bGluZUxheWVyKQorICAgICAgICAg
ICAgZm9yZWdyb3VuZExheWVyUGhhc2VzLmFkZChHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6
T3V0bGluZSk7CiAKICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldFBhaW50aW5nUGhhc2Uo
Zm9yZWdyb3VuZExheWVyUGhhc2VzKTsKICAgICAgICAgcHJpbWFyeUxheWVyUGhhc2VzLnJlbW92
ZShHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Rm9yZWdyb3VuZCk7CiAgICAgfQogCiAgICAg
aWYgKG1fYmFja2dyb3VuZExheWVyKSB7Ci0gICAgICAgIG1fYmFja2dyb3VuZExheWVyLT5zZXRQ
YWludGluZ1BoYXNlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpCYWNrZ3JvdW5kKTsKKyAg
ICAgICAgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiBiYWNrZ3JvdW5kTGF5
ZXJQaGFzZXMgeyBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCB9OworCisg
ICAgICAgIGlmICghbV9vdXRsaW5lTGF5ZXIpCisgICAgICAgICAgICBiYWNrZ3JvdW5kTGF5ZXJQ
aGFzZXMuYWRkKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdXRsaW5lKTsKKworICAgICAg
ICBtX2JhY2tncm91bmRMYXllci0+c2V0UGFpbnRpbmdQaGFzZShiYWNrZ3JvdW5kTGF5ZXJQaGFz
ZXMpOwogICAgICAgICBwcmltYXJ5TGF5ZXJQaGFzZXMucmVtb3ZlKEdyYXBoaWNzTGF5ZXJQYWlu
dGluZ1BoYXNlOjpCYWNrZ3JvdW5kKTsKICAgICB9CiAKQEAgLTI2MTMsNiArMjY5Miw4IEBAIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcygpCiAgICAgICAgIE9w
dGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gc2Nyb2xsZWRDb250ZW50TGF5ZXJQ
aGFzZXMgPSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzLCBH
cmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q29tcG9zaXRlZFNjcm9sbCB9OwogICAgICAgICBp
ZiAoIW1fZm9yZWdyb3VuZExheWVyKQogICAgICAgICAgICAgc2Nyb2xsZWRDb250ZW50TGF5ZXJQ
aGFzZXMuYWRkKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kKTsKKyAgICAg
ICAgZWxzZSBpZiAobV9iYWNrZ3JvdW5kTGF5ZXIpCisgICAgICAgICAgICBwcmltYXJ5TGF5ZXJQ
aGFzZXMucmVtb3ZlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdXRsaW5lKTsKICAgICAg
ICAgbV9zY3JvbGxlZENvbnRlbnRzTGF5ZXItPnNldFBhaW50aW5nUGhhc2Uoc2Nyb2xsZWRDb250
ZW50TGF5ZXJQaGFzZXMpOwogCiAgICAgICAgIHByaW1hcnlMYXllclBoYXNlcy5yZW1vdmUoR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQpOwpAQCAtMzA3Myw2ICszMTU0LDkg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkoR3JhcGhp
Y3NMYXllcjo6U2hvdWxkQ2xpcFRvTGF5ZXIKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRO
ZWVkc0Rpc3BsYXlJblJlY3QocmVjdFRvUmVwYWludCwgc2hvdWxkQ2xpcCk7CiAgICAgfQogCisg
ICAgaWYgKG1fb3V0bGluZUxheWVyICYmIG1fb3V0bGluZUxheWVyLT5kcmF3c0NvbnRlbnQoKSkK
KyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOworCiAgICAgaWYgKG1f
Zm9yZWdyb3VuZExheWVyICYmIG1fZm9yZWdyb3VuZExheWVyLT5kcmF3c0NvbnRlbnQoKSkKICAg
ICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwogCkBAIC0zMTExLDYg
KzMxOTUsMTIgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3Bs
YXlJblJlY3QoY29uc3QgTGF5b3V0UmVjdCYgciwgR3JhcGgKICAgICAgICAgbV9ncmFwaGljc0xh
eWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOwog
ICAgIH0KIAorICAgIGlmIChtX291dGxpbmVMYXllciAmJiBtX291dGxpbmVMYXllci0+ZHJhd3ND
b250ZW50KCkpIHsKKyAgICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFw
cGVkUmVjdEZvclBhaW50aW5nOworICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX291dGxp
bmVMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkgLSBtX3N1YnBpeGVsT2Zmc2V0RnJvbVJlbmRl
cmVyKTsKKyAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChsYXll
ckRpcnR5UmVjdCwgc2hvdWxkQ2xpcCk7CisgICAgfQorCiAgICAgaWYgKG1fZm9yZWdyb3VuZExh
eWVyICYmIG1fZm9yZWdyb3VuZExheWVyLT5kcmF3c0NvbnRlbnQoKSkgewogICAgICAgICBGbG9h
dFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmc7CiAgICAg
ICAgIGxheWVyRGlydHlSZWN0Lm1vdmUoLW1fZm9yZWdyb3VuZExheWVyLT5vZmZzZXRGcm9tUmVu
ZGVyZXIoKSAtIG1fc3VicGl4ZWxPZmZzZXRGcm9tUmVuZGVyZXIpOwpAQCAtMzIxMSw3ICszMzAx
LDggQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVyKGNvbnN0IEdyYXBo
aWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXAKICAgICBpZiAoZ3JhcGhpY3NMYXllciA9PSBk
ZXN0aW5hdGlvbkZvclNoYXJpbmdMYXllcnMpIHsKICAgICAgICAgT3B0aW9uU2V0PFJlbmRlckxh
eWVyOjpQYWludExheWVyRmxhZz4gc2hhcmluZ0xheWVyUGFpbnRGbGFncyA9IHsKICAgICAgICAg
ICAgIFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0JhY2tn
cm91bmRQaGFzZSwKLSAgICAgICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFp
bnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSB9OworICAgICAgICAgICAgUmVuZGVyTGF5
ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlLAor
ICAgICAgICAgICAgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ091dGxpbmUg
fTsKIAogICAgICAgICBpZiAoZ3JhcGhpY3NMYXllci0+cGFpbnRpbmdQaGFzZSgpLmNvbnRhaW5z
KEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKICAgICAgICAg
ICAgIHNoYXJpbmdMYXllclBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRzKTsKQEAgLTMyNTAsNiArMzM0MSw4IEBAIE9wdGlv
blNldDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+IFJlbmRlckxheWVyQmFja2luZzo6cGFp
bnRGbGFnc0ZvckxheWVyKGNvCiAgICAgICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQ
YWludExheWVyRmxhZzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRzKTsKICAgICBpZiAocGFpbnRp
bmdQaGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q29tcG9zaXRlZFNj
cm9sbCkpCiAgICAgICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zzo6UGFpbnRpbmdDb21wb3NpdGluZ1Njcm9sbGluZ1BoYXNlKTsKKyAgICBpZiAocGFpbnRpbmdQ
aGFzZS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSkpCisgICAg
ICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdP
dXRsaW5lKTsKIAogICAgIGlmICgmZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllci5n
ZXQoKSAmJiBtX2JhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQpCiAgICAg
ICAgIHBhaW50RmxhZ3MuYWRkKHsgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGlu
Z1Jvb3RCYWNrZ3JvdW5kT25seSwgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGlu
Z0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlIH0pOyAvLyBOZWVkIFBhaW50TGF5ZXJGbGFnOjpQ
YWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlIHRvIHdhbGsgY2hpbGQgbGF5ZXJzLgpA
QCAtMzQ0OSw2ICszNTQyLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVu
dHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgbGF5
ZXJQYWludEJlaGF2aW9yIHw9IEdyYXBoaWNzTGF5ZXJQYWludEZpcnN0VGlsZVBhaW50OwogCiAg
ICAgaWYgKGdyYXBoaWNzTGF5ZXIgPT0gbV9ncmFwaGljc0xheWVyLmdldCgpCisgICAgICAgIHx8
IGdyYXBoaWNzTGF5ZXIgPT0gbV9vdXRsaW5lTGF5ZXIuZ2V0KCkKICAgICAgICAgfHwgZ3JhcGhp
Y3NMYXllciA9PSBtX2ZvcmVncm91bmRMYXllci5nZXQoKQogICAgICAgICB8fCBncmFwaGljc0xh
eWVyID09IG1fYmFja2dyb3VuZExheWVyLmdldCgpCiAgICAgICAgIHx8IGdyYXBoaWNzTGF5ZXIg
PT0gbV9tYXNrTGF5ZXIuZ2V0KCkKQEAgLTM4NjksNiArMzk2Myw4IEBAIGRvdWJsZSBSZW5kZXJM
YXllckJhY2tpbmc6OmJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCkgY29uc3QKICAgICAKICAg
ICAvLyBMYXllcnMgaW4gbV9hbmNlc3RvckNsaXBwaW5nU3RhY2ssIG1fY29udGVudHNDb250YWlu
bWVudExheWVyIGFuZCBtX2NoaWxkQ29udGFpbm1lbnRMYXllciBhcmUganVzdCB1c2VkIGZvciBt
YXNraW5nIG9yIGNvbnRhaW5tZW50LCBzbyBoYXZlIG5vIGJhY2tpbmcuCiAgICAgYmFja2luZ01l
bW9yeSA9IG1fZ3JhcGhpY3NMYXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsKKyAg
ICBpZiAobV9vdXRsaW5lTGF5ZXIpCisgICAgICAgIGJhY2tpbmdNZW1vcnkgKz0gbV9vdXRsaW5l
TGF5ZXItPmJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCk7CiAgICAgaWYgKG1fZm9yZWdyb3Vu
ZExheWVyKQogICAgICAgICBiYWNraW5nTWVtb3J5ICs9IG1fZm9yZWdyb3VuZExheWVyLT5iYWNr
aW5nU3RvcmVNZW1vcnlFc3RpbWF0ZSgpOwogICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCAxOTNj
NWQxNzVjZWU5OGRmYzA2MGRlMWM4ZDZhMjMxOTQ4OWNkNDdkLi5iODg0NDgwYzQzZjA2MGY1NTc2
M2RmYzFlNzBjNjhjOWYwZTc1OWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5oCkBAIC0xMTksNiArMTE5LDcgQEAgcHVibGljOgogCiAgICAgR3Jh
cGhpY3NMYXllciogY29udGVudHNDb250YWlubWVudExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50c0NvbnRhaW5tZW50TGF5ZXIuZ2V0KCk7IH0KIAorICAgIEdyYXBoaWNzTGF5ZXIqIG91
dGxpbmVMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fb3V0bGluZUxheWVyLmdldCgpOyB9CiAgICAg
R3JhcGhpY3NMYXllciogZm9yZWdyb3VuZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9mb3JlZ3Jv
dW5kTGF5ZXIuZ2V0KCk7IH0KICAgICBHcmFwaGljc0xheWVyKiBiYWNrZ3JvdW5kTGF5ZXIoKSBj
b25zdCB7IHJldHVybiBtX2JhY2tncm91bmRMYXllci5nZXQoKTsgfQogICAgIGJvb2wgYmFja2dy
b3VuZExheWVyUGFpbnRzRml4ZWRSb290QmFja2dyb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFj
a2dyb3VuZExheWVyUGFpbnRzRml4ZWRSb290QmFja2dyb3VuZDsgfQpAQCAtMzEwLDYgKzMxMSw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCB1cGRhdGVBbmNlc3RvckNsaXBwaW5nKGJvb2wgbmVlZHNB
bmNlc3RvckNsaXAsIGNvbnN0IFJlbmRlckxheWVyKiBjb21wb3NpdGluZ0FuY2VzdG9yKTsKICAg
ICBib29sIHVwZGF0ZURlc2NlbmRhbnRDbGlwcGluZ0xheWVyKGJvb2wgbmVlZHNEZXNjZW5kYW50
Q2xpcCk7CiAgICAgYm9vbCB1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKGJvb2wgbmVlZHNI
b3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXIsIGJvb2wgbmVlZHNWZXJ0aWNhbFNjcm9sbGJhckxheWVy
LCBib29sIG5lZWRzU2Nyb2xsQ29ybmVyTGF5ZXIpOworICAgIGJvb2wgdXBkYXRlT3V0bGluZUxh
eWVyKGJvb2wgbmVlZHNPdXRsaW5lTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlRm9yZWdyb3VuZExh
eWVyKGJvb2wgbmVlZHNGb3JlZ3JvdW5kTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlQmFja2dyb3Vu
ZExheWVyKGJvb2wgbmVlZHNCYWNrZ3JvdW5kTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlTWFza2lu
Z0xheWVyKGJvb2wgaGFzTWFzaywgYm9vbCBoYXNDbGlwUGF0aCk7CkBAIC00MTUsNiArNDE3LDcg
QEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2NvbnRlbnRzQ29udGFp
bm1lbnRMYXllcjsgLy8gT25seSB1c2VkIGlmIHdlIGhhdmUgYSBiYWNrZ3JvdW5kIGxheWVyOyB0
YWtlcyB0aGUgdHJhbnNmb3JtLgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2dyYXBoaWNz
TGF5ZXI7CisgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fb3V0bGluZUxheWVyOyAvLyBPbmx5
IHVzZWQgaWYgdGhlIG91dGxpbmUgaGFzIGEgbmVnYXRpdmUgb2Zmc2V0IGFuZCB0aGVyZSBhcmUg
b3ZlcmZsb3cgY29udHJvbHMuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fZm9yZWdyb3Vu
ZExheWVyOyAvLyBPbmx5IHVzZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBkcmF3IHRoZSBm
b3JlZ3JvdW5kIHNlcGFyYXRlbHkuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fYmFja2dy
b3VuZExheWVyOyAvLyBPbmx5IHVzZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBkcmF3IHRo
ZSBiYWNrZ3JvdW5kIHNlcGFyYXRlbHkuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fY2hp
bGRDb250YWlubWVudExheWVyOyAvLyBPbmx5IHVzZWQgaWYgd2UgaGF2ZSBjbGlwcGluZyBvbiBh
IHN0YWNraW5nIGNvbnRleHQgd2l0aCBjb21wb3NpdGluZyBjaGlsZHJlbiwgb3IgaWYgdGhlIGxh
eWVyIGhhcyBhIHRpbGUgY2FjaGUuCkBAIC00MjUsNiArNDI4LDcgQEAgcHJpdmF0ZToKICAgICBS
ZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclZlcnRpY2FsU2Nyb2xsYmFyOwogICAgIFJl
ZlB0cjxHcmFwaGljc0xheWVyPiBtX2xheWVyRm9yU2Nyb2xsQ29ybmVyOwogICAgIFJlZlB0cjxH
cmFwaGljc0xheWVyPiBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXI7CisgICAgUmVmUHRyPEdy
YXBoaWNzTGF5ZXI+IG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyOwogCiAgICAg
UmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXI7IC8vIE9ubHkgdXNl
ZCBpZiB0aGUgbGF5ZXIgaXMgdXNpbmcgY29tcG9zaXRlZCBzY3JvbGxpbmcuCiAgICAgUmVmUHRy
PEdyYXBoaWNzTGF5ZXI+IG1fc2Nyb2xsZWRDb250ZW50c0xheWVyOyAvLyBPbmx5IHVzZWQgaWYg
dGhlIGxheWVyIGlzIHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431846</attachid>
            <date>2021-06-21 04:40:26 -0700</date>
            <delta_ts>2021-06-22 03:19:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227061-20210621124024.patch</filename>
            <type>text/plain</type>
            <size>40212</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZkNzFlZDQ3ZDQzOGUw
NzM0MmNhNGViMjk5NWQwM2Q3YWY5N2FkZC4uOGRjYWE0ZGNjOThhYjFjNzFkYzExODQ4ZDkwMWRk
YzkzNzkyYmViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA2LTE3ICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBOZWdhdGl2ZSBDU1Mgb3V0bGlu
ZS1vZmZzZXQgYXBwZWFycyBiZW5lYXRoIHNjcm9sbCBjb250cm9scyB3aGVuIGFzeW5jIG92ZXJm
bG93IHNjcm9sbGluZyBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjcwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGNvbXBvc2l0ZWQgc2Nyb2xsZWQgY29udGVudCBoYXMgYW4g
b3V0bGluZSB3aXRoIGEgbmVnYXRpdmUKKyAgICAgICAgb2Zmc2V0LCBkcmF3IHRoZSBvdXRsaW5l
IG9uIGEgc2VwYXJhdGUgbGF5ZXIgc28gdGhhdCBpdCBhcHBlYXJzIG92ZXIKKyAgICAgICAgb3Zl
cmZsb3cgY29udHJvbHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6OmNhbGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6On5SZW5kZXJMYXllckJh
Y2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVEZWJ1
Z0luZGljYXRvcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0
cm95R3JhcGhpY3NMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
Ojp1cGRhdGVBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxh
dGl2ZVRvQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVPdXRsaW5lTGF5ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNw
bGF5SW5SZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRJ
bnRvTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludEZs
YWdzRm9yTGF5ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6
YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaDoKKwogMjAyMS0wNi0xNiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBu
b3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gY2xhbmcgYW5hbHlzaXM6
IFVubG9ja2VkIGFjY2VzcyBpbiBJbWFnZURlY29kZXJHU3RyZWFtZXIuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGM1
ZDFlMDhmZjg4NmI0MjFiMTgxMjViNjkzMzNjYjFjMDNmNjEwMzYuLjdkYjljMmM2ZjI4MWIyOGU3
ZDQwNzc4M2I2Njg1MzlkYjI3MWI2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0xMDM2LDYgKzEwMzYsNyBAQCBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQ
aGFzZSBwaGFzZSkKICAgICBzd2l0Y2ggKHBoYXNlKSB7CiAgICAgY2FzZSBHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZDogdHMgPDwgImJhY2tncm91bmQiOyBicmVhazsKICAg
ICBjYXNlIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kOiB0cyA8PCAiZm9y
ZWdyb3VuZCI7IGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91
dGxpbmU6IHRzIDw8ICJvdXRsaW5lIjsgYnJlYWs7CiAgICAgY2FzZSBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6TWFzazogdHMgPDwgIm1hc2siOyBicmVhazsKICAgICBjYXNlIEdyYXBoaWNz
TGF5ZXJQYWludGluZ1BoYXNlOjpDbGlwUGF0aDogdHMgPDwgImNsaXAtcGF0aCI7IGJyZWFrOwog
ICAgIGNhc2UgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVudHM6IHRz
IDw8ICJvdmVyZmxvdy1jb250ZW50cyI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDdjN2Q0ZmNjOWVkMjIzMGQ4NzA5
NWU2NzRlNTljMmQxNzU4NWQwNmEuLjUwZWQxMmI4ZGE3YjliNjJiMGE3ZDAzZDU3NzI0YTYzNTRh
MDgxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmgKQEAgLTcyMiw3ICs3MjIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBjb25zdCBUeXBl
IG1fdHlwZTsKICAgICBDdXN0b21BcHBlYXJhbmNlIG1fY3VzdG9tQXBwZWFyYW5jZSB7IEN1c3Rv
bUFwcGVhcmFuY2U6Ok5vbmUgfTsKLSAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5n
UGhhc2U+IG1fcGFpbnRpbmdQaGFzZSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3Jl
Z3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCB9OworICAgIE9w
dGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gbV9wYWludGluZ1BoYXNlIHsgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlOjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSB9
OwogICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBtX2NvbnRlbnRzT3JpZW50
YXRpb24geyBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb246OlRvcERvd24gfTsgLy8g
YWZmZWN0cyBvcmllbnRhdGlvbiBvZiBsYXllciBjb250ZW50cwogCiAgICAgYm9vbCBtX2JlaW5n
RGVzdHJveWVkIDogMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAppbmRleCAyYTQyMmVmM2ZhOTYxZjQxYmVkYzZiZmI3
YzBhYTUzYTZmOTU1ZjY5Li40NjNiZWZhY2U1ZWM3NmU3ZWFhYmNlNDY4YTI4MDZhNDk3OGE3Yjk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllckNsaWVudC5oCkBAIC00Nyw2ICs0Nyw3IEBAIGVudW0gY2xhc3MgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2UgewogICAgIE92ZXJmbG93Q29udGVudHMgICAgICA9IDEgPDwgNCwKICAg
ICBDb21wb3NpdGVkU2Nyb2xsICAgICAgPSAxIDw8IDUsCiAgICAgQ2hpbGRDbGlwcGluZ01hc2sg
ICAgID0gMSA8PCA2LAorICAgIE91dGxpbmUgICAgICAgICAgICAgICA9IDEgPDwgNwogfTsKIAog
ZW51bSBBbmltYXRlZFByb3BlcnR5SUQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggMWYxMWE5NzhlMzE1YmFkZDdhY2M4MjNiNzFkN2Q4NTA4OGYwM2VmMy4u
YjkzYWFhNmI4MGU0MmQyYTNkMzljZTI1NWIxNmZhZTMwNTRiNDE5MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zMjM3LDIxICszMjM3LDI2IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQs
IGNvbnN0IExheWVyUGFpbnRpCiAgICAgYm9vbCBpc1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCA9
IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3Np
dGluZ1Njcm9sbGluZ1BoYXNlKTsKICAgICBib29sIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdy
b3VuZCA9IGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdD
b21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nQ29tcG9zaXRl
ZEJhY2tncm91bmQgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBh
aW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UpOworICAgIGJvb2wgaXNQYWludGluZ091
dGxpbmUgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5n
T3V0bGluZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cyA9IGxvY2FsUGFp
bnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRz
KTsKICAgICBib29sIGlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uID0gbG9jYWxQYWludEZsYWdzLmNv
bnRhaW5zKFBhaW50TGF5ZXJGbGFnOjpDb2xsZWN0aW5nRXZlbnRSZWdpb24pOwogCiAgICAgYm9v
bCBpc1NlbGZQYWludGluZ0xheWVyID0gdGhpcy0+aXNTZWxmUGFpbnRpbmdMYXllcigpOwogCiAg
ICAgLy8gT3V0bGluZSBhbHdheXMgbmVlZHMgdG8gYmUgcGFpbnRlZCBldmVuIGlmIHdlIGhhdmUg
bm8gdmlzaWJsZSBjb250ZW50LiBBbHNvLAotICAgIC8vIHRoZSBvdXRsaW5lIGlzIHBhaW50ZWQg
aW4gdGhlIGJhY2tncm91bmQgcGhhc2UgZHVyaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgorICAg
IC8vIHRoZSBvdXRsaW5lIG1heSBiZSBwYWludGVkIGluIHRoZSBiYWNrZ3JvdW5kIHBoYXNlIGR1
cmluZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KICAgICAvLyBJZiBpdCB3ZXJlIHBhaW50ZWQgaW4g
dGhlIGZvcmVncm91bmQgcGhhc2UsIGl0IHdvdWxkIG1vdmUgd2l0aCB0aGUgc2Nyb2xsZWQKLSAg
ICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNjcm9sbGluZywgdGhlIG91dGxpbmUg
aXMgcGFpbnRlZCBpbiB0aGUKKyAgICAvLyBjb250ZW50LiBXaGVuIG5vdCBjb21wb3NpdGVkIHNj
cm9sbGluZywgdGhlIG91dGxpbmUgbWF5IGJlIHBhaW50ZWQgaW4gdGhlCiAgICAgLy8gZm9yZWdy
b3VuZCBwaGFzZS4gU2luY2Ugc2Nyb2xsZWQgY29udGVudHMgYXJlIG1vdmVkIGJ5IHJlcGFpbnRp
bmcgaW4gdGhpcwogICAgIC8vIGNhc2UsIHRoZSBvdXRsaW5lIHdvbid0IGdldCAnZHJhZ2dlZCBh
bG9uZycuCi0gICAgYm9vbCBzaG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVy
ICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVn
aW9uCisgICAgLy8gSW4gdGhlIGNhc2Ugb2YgY29tcG9zaXRlZCBzY3JvbGxlZCBjb250ZW50IHdp
dGggb3ZlcmZsb3cgY29udHJvbHMsIGlmIHRoZQorICAgIC8vIG91dGxpbmUgaGFzIGEgbmVnYXRp
dmUgb2Zmc2V0LCBpdCBpcyBwYWludGVkIG9uIGEgc2VwYXJhdGUgbGF5ZXIuCisgICAgYm9vbCBz
aG91bGRQYWludE91dGxpbmUgPSBpc1NlbGZQYWludGluZ0xheWVyICYmIGlzUGFpbnRpbmdPdXRs
aW5lICYmICFpc1BhaW50aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50
UmVnaW9uCiAgICAgICAgICYmIChyZW5kZXJlcigpLnZpZXcoKS5wcmludGluZygpIHx8IHJlbmRl
cmVyKCkudmlldygpLmhhc1JlbmRlcmVyc1dpdGhPdXRsaW5lKCkpCiAgICAgICAgICYmICgoaXNQ
YWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5k
KQotICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFpbnRpbmdD
b21wb3NpdGVkRm9yZWdyb3VuZCkpOworICAgICAgICB8fCAoIWlzUGFpbnRpbmdTY3JvbGxpbmdD
b250ZW50ICYmIGlzUGFpbnRpbmdDb21wb3NpdGVkRm9yZWdyb3VuZCkKKyAgICAgICAgfHwgKCFp
c1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCAmJiAhaXNQYWludGluZ0NvbXBvc2l0ZWRGb3JlZ3Jv
dW5kCisgICAgICAgICAgICAmJiAhaXNQYWludGluZ0NvbXBvc2l0ZWRCYWNrZ3JvdW5kICYmICFp
c1BhaW50aW5nT3ZlcmZsb3dDb250ZW50cykpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50
ID0gbV9oYXNWaXNpYmxlQ29udGVudCAmJiBpc1NlbGZQYWludGluZ0xheWVyICYmICFpc1BhaW50
aW5nT3ZlcmxheVNjcm9sbGJhcnMgJiYgIWlzQ29sbGVjdGluZ0V2ZW50UmVnaW9uOwogCiAgICAg
aWYgKGxvY2FsUGFpbnRGbGFncy5jb250YWlucyhQYWludExheWVyRmxhZzo6UGFpbnRpbmdSb290
QmFja2dyb3VuZE9ubHkpICYmICFyZW5kZXJlcigpLmlzUmVuZGVyVmlldygpICYmICFyZW5kZXJl
cigpLmlzRG9jdW1lbnRFbGVtZW50UmVuZGVyZXIoKSkgewpAQCAtNTI0MCw2ICs1MjQ1LDExIEBA
IGJvb2wgUmVuZGVyTGF5ZXI6Omhhc1Zpc2libGVCb3hEZWNvcmF0aW9ucygpIGNvbnN0CiAgICAg
cmV0dXJuIGhhc1Zpc2libGVCb3hEZWNvcmF0aW9uc09yQmFja2dyb3VuZCgpIHx8IChtX3Njcm9s
bGFibGVBcmVhICYmIG1fc2Nyb2xsYWJsZUFyZWEtPmhhc092ZXJmbG93Q29udHJvbHMoKSk7CiB9
CiAKK2Jvb2wgUmVuZGVyTGF5ZXI6Omhhc0luc2V0T3V0bGluZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHJlbmRlcmVyKCkuc3R5bGUoKS5vdXRsaW5lT2Zmc2V0KCkgPCAwOworfQorCiBib29sIFJl
bmRlckxheWVyOjppc1Zpc3VhbGx5Tm9uRW1wdHkoUGFpbnRlZENvbnRlbnRSZXF1ZXN0KiByZXF1
ZXN0KSBjb25zdAogewogICAgIEFTU0VSVCghbV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDA1NmNmNTAzODE3
MTBkYzRhMDMyOGU1MTBkYjAyZTkzYTcyNjE2YS4uMjJlZDNjOTMxMjU5YTFkZDkxNTdlOGJmOGM1
MWY0ZjZmMWE4NjJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAg
LTUzMSw3ICs1MzEsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhc1Zpc2libGVCb3hEZWNvcmF0
aW9uc09yQmFja2dyb3VuZCgpIGNvbnN0OwogICAgIGJvb2wgaGFzVmlzaWJsZUJveERlY29yYXRp
b25zKCkgY29uc3Q7Ci0gICAgCisgICAgYm9vbCBoYXNJbnNldE91dGxpbmUoKSBjb25zdDsKKwog
ICAgIGJvb2wgYmVoYXZlc0FzRml4ZWQoKSBjb25zdCB7IHJldHVybiBtX2JlaGF2ZXNBc0ZpeGVk
OyB9CiAKICAgICBzdHJ1Y3QgUGFpbnRlZENvbnRlbnRSZXF1ZXN0IHsKQEAgLTYyNCw5ICs2MjUs
MTAgQEAgcHVibGljOgogICAgICAgICBQYWludGluZ1Jvb3RCYWNrZ3JvdW5kT25seSAgICAgICAg
ICAgID0gMSA8PCAxMSwKICAgICAgICAgUGFpbnRpbmdTa2lwUm9vdEJhY2tncm91bmQgICAgICAg
ICAgICA9IDEgPDwgMTIsCiAgICAgICAgIFBhaW50aW5nQ2hpbGRDbGlwcGluZ01hc2tQaGFzZSAg
ICAgICAgPSAxIDw8IDEzLAotICAgICAgICBDb2xsZWN0aW5nRXZlbnRSZWdpb24gICAgICAgICAg
ICAgICAgID0gMSA8PCAxNCwKKyAgICAgICAgUGFpbnRpbmdPdXRsaW5lICAgICAgICAgICAgICAg
ICAgICAgICA9IDEgPDwgMTQsCisgICAgICAgIENvbGxlY3RpbmdFdmVudFJlZ2lvbiAgICAgICAg
ICAgICAgICAgPSAxIDw8IDE1LAogICAgIH07Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBPcHRpb25T
ZXQ8UGFpbnRMYXllckZsYWc+IHBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQWxsUGhhc2Vz
RmxhZ3MoKSB7IHJldHVybiB7IFBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nQmFj
a2dyb3VuZFBoYXNlLCBQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91
bmRQaGFzZSB9OyB9CisgICAgc3RhdGljIGNvbnN0ZXhwciBPcHRpb25TZXQ8UGFpbnRMYXllckZs
YWc+IHBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQWxsUGhhc2VzRmxhZ3MoKSB7IHJldHVy
biB7IFBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNlLCBQ
YWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSwgUGFpbnRM
YXllckZsYWc6OlBhaW50aW5nT3V0bGluZSB9OyB9CiAKICAgICBlbnVtIGNsYXNzIFNlY3VyaXR5
T3JpZ2luUGFpbnRQb2xpY3kgeyBBbnlPcmlnaW4sIEFjY2Vzc2libGVPcmlnaW5Pbmx5IH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5k
ZXggZGVhNWMxNTMxNzk5YTM1MWIxODRhNGYxZmNjZmQ0ZWM1ZjBiMzBlOS4uNWRmNDZjMDZhYzEy
NTE3NTE2MDdjYjFhMTkzYzQ1N2U1YjJhMWMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTI0OSw2ICsyNDksNyBAQCBSZW5kZXJM
YXllckJhY2tpbmc6On5SZW5kZXJMYXllckJhY2tpbmcoKQogICAgIHVwZGF0ZUNoaWxkQ2xpcHBp
bmdTdHJhdGVneShmYWxzZSk7CiAgICAgdXBkYXRlRGVzY2VuZGFudENsaXBwaW5nTGF5ZXIoZmFs
c2UpOwogICAgIHVwZGF0ZU92ZXJmbG93Q29udHJvbHNMYXllcnMoZmFsc2UsIGZhbHNlLCBmYWxz
ZSk7CisgICAgdXBkYXRlT3V0bGluZUxheWVyKGZhbHNlKTsKICAgICB1cGRhdGVGb3JlZ3JvdW5k
TGF5ZXIoZmFsc2UpOwogICAgIHVwZGF0ZUJhY2tncm91bmRMYXllcihmYWxzZSk7CiAgICAgdXBk
YXRlTWFza2luZ0xheWVyKGZhbHNlLCBmYWxzZSk7CkBAIC00NjgsNiArNDY5LDExIEBAIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVEZWJ1Z0luZGljYXRvcnMoYm9vbCBzaG93Qm9yZGVy
LCBib29sIHNob3dSZXBhaW50CiAgICAgICAgICAgICBlbnRyeS5jbGlwcGluZ0xheWVyLT5zZXRT
aG93RGVidWdCb3JkZXIoc2hvd0JvcmRlcik7CiAgICAgfQogCisgICAgaWYgKG1fb3V0bGluZUxh
eWVyKSB7CisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRTaG93RGVidWdCb3JkZXIoc2hvd0Jv
cmRlcik7CisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRTaG93UmVwYWludENvdW50ZXIoc2hv
d1JlcGFpbnRDb3VudGVyKTsKKyAgICB9CisKICAgICBpZiAobV9mb3JlZ3JvdW5kTGF5ZXIpIHsK
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldFNob3dEZWJ1Z0JvcmRlcihzaG93Qm9yZGVy
KTsKICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldFNob3dSZXBhaW50Q291bnRlcihzaG93
UmVwYWludENvdW50ZXIpOwpAQCAtNTA2LDggKzUxMiw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVEZWJ1Z0luZGljYXRvcnMoYm9vbCBzaG93Qm9yZGVyLCBib29sIHNob3dSZXBh
aW50CiAgICAgICAgIG1fc2Nyb2xsZWRDb250ZW50c0xheWVyLT5zZXRTaG93UmVwYWludENvdW50
ZXIoc2hvd1JlcGFpbnRDb3VudGVyKTsKICAgICB9CiAKLSAgICBpZiAobV9vdmVyZmxvd0NvbnRy
b2xzQ29udGFpbmVyKQotICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPnNldFNo
b3dEZWJ1Z0JvcmRlcihzaG93Qm9yZGVyKTsKKyAgICBpZiAobV9vdmVybGF5Q29udGFpbmVyKQor
ICAgICAgICBtX292ZXJsYXlDb250YWluZXItPnNldFNob3dEZWJ1Z0JvcmRlcihzaG93Qm9yZGVy
KTsKIH0KIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmNyZWF0ZVByaW1hcnlHcmFwaGljc0xh
eWVyKCkKQEAgLTU5Myw2ICs1OTksNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6ZGVzdHJv
eUdyYXBoaWNzTGF5ZXJzKCkKICAgICAgICAgcmVtb3ZlQ2xpcHBpbmdTdGFja0xheWVycygqbV9v
dmVyZmxvd0NvbnRyb2xzSG9zdExheWVyQW5jZXN0b3JDbGlwcGluZ1N0YWNrKTsKIAogICAgIEdy
YXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9jb250ZW50c0NvbnRhaW5tZW50TGF5ZXIp
OworICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9vdXRsaW5lTGF5ZXIpOwog
ICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9mb3JlZ3JvdW5kTGF5ZXIpOwog
ICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9iYWNrZ3JvdW5kTGF5ZXIpOwog
ICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9jaGlsZENvbnRhaW5tZW50TGF5
ZXIpOwpAQCAtODcxLDYgKzg3OCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVB
bGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcoY29uc3QgTGF5b3V0UmVjdCYgYWJzCiB7CiAgICAg
YXV0byBzZXRBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmcgPSBbJl0oYm9vbCBhbGxvd0RldGFj
aGluZykgewogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldEFsbG93c0JhY2tpbmdTdG9yZURl
dGFjaGluZyhhbGxvd0RldGFjaGluZyk7CisgICAgICAgIGlmIChtX291dGxpbmVMYXllcikKKyAg
ICAgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRBbGxvd3NCYWNraW5nU3RvcmVEZXRhY2hpbmco
YWxsb3dEZXRhY2hpbmcpOwogICAgICAgICBpZiAobV9mb3JlZ3JvdW5kTGF5ZXIpCiAgICAgICAg
ICAgICBtX2ZvcmVncm91bmRMYXllci0+c2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKGFs
bG93RGV0YWNoaW5nKTsKICAgICAgICAgaWYgKG1fYmFja2dyb3VuZExheWVyKQpAQCAtMTAwMSwx
NCArMTAxMCwxOCBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQ29uZmlndXJhdGlv
bihjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdBbmNlcwogICAgIGlmICh1cGRhdGVPdmVy
Zmxvd0NvbnRyb2xzTGF5ZXJzKHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCksIHJl
cXVpcmVzVmVydGljYWxTY3JvbGxiYXJMYXllcigpLCByZXF1aXJlc1Njcm9sbENvcm5lckxheWVy
KCkpKQogICAgICAgICBsYXllckNvbmZpZ0NoYW5nZWQgPSB0cnVlOwogCisgICAgLy8gT3V0bGlu
ZXMgd2l0aCBuZWdhdGl2ZSBvZmZzZXRzIG5lZWQgdG8gYXBwZWFyIGFib3ZlIHNjcm9sbCBVSS4K
KyAgICBpZiAodXBkYXRlT3V0bGluZUxheWVyKG1fb3ZlcmxheUNvbnRhaW5lciAmJiBtX293bmlu
Z0xheWVyLmhhc0luc2V0T3V0bGluZSgpKSkKKyAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0g
dHJ1ZTsKKwogICAgIGlmIChsYXllckNvbmZpZ0NoYW5nZWQpCiAgICAgICAgIHVwZGF0ZUludGVy
bmFsSGllcmFyY2h5KCk7CiAKLSAgICAvLyBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmFkanVzdE92
ZXJmbG93U2Nyb2xsYmFyQ29udGFpbmVyTGF5ZXJzKCkgbWF5IGhhdmUgcmVwYXJlbnRlZCB0aGUg
b3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lcgorICAgIC8vIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
YWRqdXN0T3ZlcmZsb3dTY3JvbGxiYXJDb250YWluZXJMYXllcnMoKSBtYXkgaGF2ZSByZXBhcmVu
dGVkIHRoZSBvdmVybGF5Q29udGFpbmVyTGF5ZXIKICAgICAvLyBpbiBhbiBlYXJsaWVyIHVwZGF0
ZSwgc28gYWx3YXlzIHB1dCBpdCBiYWNrIGhlcmUuIFdlIGRvbid0IHlldCBrbm93IGlmIGl0IHdp
bGwgZ2V0IHJlcGFyZW50ZWQgYWdhaW4uCi0gICAgaWYgKG1fb3ZlcmZsb3dDb250cm9sc0NvbnRh
aW5lciAmJiBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPnBhcmVudCgpICE9IG1fZ3JhcGhp
Y3NMYXllci5nZXQoKSkgewotICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPmFkZENoaWxkKCptX292
ZXJmbG93Q29udHJvbHNDb250YWluZXIpOwotICAgICAgICAvLyBFbnN1cmUgdGhhdCB3ZSBmaXgg
dXAgdGhlIHBvc2l0aW9uIG9mIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci4KKyAgICBpZiAo
bV9vdmVybGF5Q29udGFpbmVyICYmIG1fb3ZlcmxheUNvbnRhaW5lci0+cGFyZW50KCkgIT0gbV9n
cmFwaGljc0xheWVyLmdldCgpKSB7CisgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hpbGQo
Km1fb3ZlcmxheUNvbnRhaW5lcik7CisgICAgICAgIC8vIEVuc3VyZSB0aGF0IHdlIGZpeCB1cCB0
aGUgcG9zaXRpb24gb2YgbV9vdmVybGF5Q29udGFpbmVyLgogICAgICAgICBtX293bmluZ0xheWVy
LnNldE5lZWRzQ29tcG9zaXRpbmdHZW9tZXRyeVVwZGF0ZSgpOwogICAgIH0KIApAQCAtMTQyMSwx
NCArMTQzNCwyMSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoY29u
c3QgUmVuZGVyTGF5ZXIqIGNvbXBvc2l0ZWRBbmNlc3RvcikKICAgICAgICAgYWRqdXN0VGlsZWRC
YWNraW5nQ292ZXJhZ2UoKTsKICAgICB9CiAKLSAgICBpZiAobV9vdmVyZmxvd0NvbnRyb2xzQ29u
dGFpbmVyKSB7CisgICAgaWYgKG1fb3ZlcmxheUNvbnRhaW5lcikgewogICAgICAgICBMYXlvdXRS
ZWN0IG92ZXJmbG93Q29udHJvbHNCb3ggPSBvdmVyZmxvd0NvbnRyb2xzSG9zdExheWVyUmVjdChk
b3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpKTsKICAgICAgICAgTGF5b3V0U2l6ZSBib3hP
ZmZzZXRGcm9tR3JhcGhpY3NMYXllciA9IHRvTGF5b3V0U2l6ZShvdmVyZmxvd0NvbnRyb2xzQm94
LmxvY2F0aW9uKCkpICsgcmVuZGVyZXJPZmZzZXQuZnJvbVByaW1hcnlHcmFwaGljc0xheWVyKCk7
CiAgICAgICAgIFNuYXBwZWRSZWN0SW5mbyBzbmFwcGVkQm94SW5mbyA9IHNuYXBwZWRHcmFwaGlj
c0xheWVyKGJveE9mZnNldEZyb21HcmFwaGljc0xheWVyLCBvdmVyZmxvd0NvbnRyb2xzQm94LnNp
emUoKSwgZGV2aWNlU2NhbGVGYWN0b3IpOwogCi0gICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0Nv
bnRhaW5lci0+c2V0UG9zaXRpb24oc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5sb2NhdGlv
bigpKTsKLSAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5zZXRTaXplKHNuYXBw
ZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsKLSAgICAgICAgbV9vdmVyZmxvd0NvbnRy
b2xzQ29udGFpbmVyLT5zZXRNYXNrc1RvQm91bmRzKHRydWUpOworICAgICAgICBtX292ZXJsYXlD
b250YWluZXItPnNldFBvc2l0aW9uKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3QubG9jYXRp
b24oKSk7CisgICAgICAgIG1fb3ZlcmxheUNvbnRhaW5lci0+c2V0U2l6ZShzbmFwcGVkQm94SW5m
by5tX3NuYXBwZWRSZWN0LnNpemUoKSk7CisgICAgICAgIGlmIChtX292ZXJmbG93Q29udHJvbHND
bGlwcGluZ01hc2tMYXllcikKKyAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5n
TWFza0xheWVyLT5zZXRTaXplKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3Quc2l6ZSgpKTsK
KworICAgICAgICBpZiAobV9vdXRsaW5lTGF5ZXIpIHsKKyAgICAgICAgICAgIG1fb3V0bGluZUxh
eWVyLT5zZXRQb3NpdGlvbigtc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5sb2NhdGlvbigp
KTsKKyAgICAgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRTaXplKHByaW1hcnlHcmFwaGljc0xh
eWVyUmVjdC5zaXplKCkpOworICAgICAgICAgICAgbV9vdXRsaW5lTGF5ZXItPnNldE9mZnNldEZy
b21SZW5kZXJlcihtX2dyYXBoaWNzTGF5ZXItPm9mZnNldEZyb21SZW5kZXJlcigpKTsKKyAgICAg
ICAgfQogICAgIH0KIAogICAgIGlmIChtX2ZvcmVncm91bmRMYXllcikgewpAQCAtMTQ4OCw3ICsx
NTA4LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KGNvbnN0IFJl
bmRlckxheWVyKiBjb21wb3NpdGVkQW5jZXN0b3IpCiAKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5n
OjphZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxhdGl2ZVRvQW5jZXN0b3IoY29uc3Qg
UmVuZGVyTGF5ZXImIGFuY2VzdG9yTGF5ZXIpCiB7Ci0gICAgQVNTRVJUKG1fb3ZlcmZsb3dDb250
cm9sc0NvbnRhaW5lcik7CisgICAgQVNTRVJUKG1fb3ZlcmxheUNvbnRhaW5lcik7CiAgICAgQVNT
RVJUKGFuY2VzdG9yTGF5ZXIuaXNDb21wb3NpdGVkKCkpOwogICAgIGF1dG8gYW5jZXN0b3JCYWNr
aW5nID0gYW5jZXN0b3JMYXllci5iYWNraW5nKCk7CiAgICAgaWYgKCFhbmNlc3RvckJhY2tpbmcp
CkBAIC0xNTA3LDggKzE1MjcsMTAgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmFkanVzdE92
ZXJmbG93Q29udHJvbHNQb3NpdGlvblJlbGF0aXZlVG9BbmNlc3Rvcihjb25zdAogICAgIExheW91
dFNpemUgYm94T2Zmc2V0RnJvbUdyYXBoaWNzTGF5ZXIgPSB0b0xheW91dFNpemUob3ZlcmZsb3dD
b250cm9sc1JlY3QubG9jYXRpb24oKSkgKyByZW5kZXJlck9mZnNldC5mcm9tUGFyZW50R3JhcGhp
Y3NMYXllcigpOwogICAgIFNuYXBwZWRSZWN0SW5mbyBzbmFwcGVkQm94SW5mbyA9IHNuYXBwZWRH
cmFwaGljc0xheWVyKGJveE9mZnNldEZyb21HcmFwaGljc0xheWVyLCBvdmVyZmxvd0NvbnRyb2xz
UmVjdC5zaXplKCksIGRldmljZVNjYWxlRmFjdG9yKCkpOwogCi0gICAgbV9vdmVyZmxvd0NvbnRy
b2xzQ29udGFpbmVyLT5zZXRQb3NpdGlvbihzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0Lmxv
Y2F0aW9uKCkpOwotICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+c2V0U2l6ZShzbmFw
cGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LnNpemUoKSk7CisgICAgbV9vdmVybGF5Q29udGFpbmVy
LT5zZXRQb3NpdGlvbihzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LmxvY2F0aW9uKCkpOwor
ICAgIG1fb3ZlcmxheUNvbnRhaW5lci0+c2V0U2l6ZShzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRS
ZWN0LnNpemUoKSk7CisgICAgaWYgKG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVy
KQorICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllci0+c2V0U2l6ZShz
bmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LnNpemUoKSk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjpzZXRMb2NhdGlvbk9mU2Nyb2xsZWRDb250ZW50cyhTY3JvbGxPZmZzZXQgc2Ny
b2xsT2Zmc2V0LCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uIHNldE9yU3luYykKQEAgLTE2
NTIsMTggKzE2NzQsMjcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUludGVybmFs
SGllcmFyY2h5KCkKICAgICAvLyBUaGUgY2xpcCBmb3IgY2hpbGQgbGF5ZXJzIGRvZXMgbm90IGlu
Y2x1ZGUgc3BhY2UgZm9yIG92ZXJmbG93IGNvbnRyb2xzLCBzbyB0aGV5IGV4aXN0IGFzCiAgICAg
Ly8gc2libGluZ3Mgb2YgdGhlIGNsaXBwaW5nIGxheWVyIGlmIHdlIGhhdmUgb25lLiBOb3JtYWwg
Y2hpbGRyZW4gb2YgdGhpcyBsYXllciBhcmUgc2V0IGFzCiAgICAgLy8gY2hpbGRyZW4gb2YgdGhl
IGNsaXBwaW5nIGxheWVyLgotICAgIGlmIChtX292ZXJmbG93Q29udHJvbHNDb250YWluZXIpIHsK
KyAgICBpZiAobV9vdmVybGF5Q29udGFpbmVyKSB7CisgICAgICAgIGF1dG8gY2xpcHBpbmdDb250
YWluZXIgPSBtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA/IG1fb3ZlcmZsb3dD
b250cm9sc0NsaXBwaW5nTWFza0xheWVyIDogbV9vdmVybGF5Q29udGFpbmVyOworICAgICAgICBj
bGlwcGluZ0NvbnRhaW5lci0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsKKworICAgICAgICBpZiAo
bV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIpCisgICAgICAgICAgICBtX292ZXJs
YXlDb250YWluZXItPmFkZENoaWxkKCptX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXll
cik7CisKICAgICAgICAgaWYgKG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKQotICAgICAg
ICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXllckZvckhv
cml6b250YWxTY3JvbGxiYXIpOworICAgICAgICAgICAgY2xpcHBpbmdDb250YWluZXItPmFkZENo
aWxkKCptX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcik7CiAKICAgICAgICAgaWYgKG1fbGF5
ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcikKLSAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0Nv
bnRhaW5lci0+YWRkQ2hpbGQoKm1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcik7CisgICAgICAg
ICAgICBjbGlwcGluZ0NvbnRhaW5lci0+YWRkQ2hpbGQoKm1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9s
bGJhcik7CiAKICAgICAgICAgaWYgKG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXIpCi0gICAgICAgICAg
ICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPmFkZENoaWxkKCptX2xheWVyRm9yU2Nyb2xs
Q29ybmVyKTsKKyAgICAgICAgICAgIGNsaXBwaW5nQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXll
ckZvclNjcm9sbENvcm5lcik7CisKKyAgICAgICAgLy8gbV9vdmVybGF5Q29udGFpbmVyIG1heSBn
ZXQgcmVwYXJlbnRlZCBsYXRlci4KKyAgICAgICAgbV9ncmFwaGljc0xheWVyLT5hZGRDaGlsZCgq
bV9vdmVybGF5Q29udGFpbmVyKTsKIAotICAgICAgICAvLyBtX292ZXJmbG93Q29udHJvbHNDb250
YWluZXIgbWF5IGdldCByZXBhcmVudGVkIGxhdGVyLgotICAgICAgICBtX2dyYXBoaWNzTGF5ZXIt
PmFkZENoaWxkKCptX292ZXJmbG93Q29udHJvbHNDb250YWluZXIpOworICAgICAgICBpZiAobV9v
dXRsaW5lTGF5ZXIpCisgICAgICAgICAgICBtX292ZXJsYXlDb250YWluZXItPmFkZENoaWxkKCpt
X291dGxpbmVMYXllcik7CiAgICAgfQogfQogCkBAIC0xNzIzLDYgKzE3NTQsOSBAQCB2b2lkIFJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlRHJhd3NDb250ZW50KFBhaW50ZWRDb250ZW50c0luZm8m
IGNvbnRlbnRzSW5mbykKICAgICB9IGVsc2UKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRT
dXBwb3J0c1N1YnBpeGVsQW50aWFsaWFzZWRUZXh0KG1fcGFpbnRzU3VicGl4ZWxBbnRpYWxpYXNl
ZFRleHQpOwogCisgICAgaWYgKG1fb3V0bGluZUxheWVyKQorICAgICAgICBtX291dGxpbmVMYXll
ci0+c2V0RHJhd3NDb250ZW50KGhhc1BhaW50ZWRDb250ZW50KTsKKwogICAgIGlmIChtX2JhY2tn
cm91bmRMYXllcikKICAgICAgICAgbV9iYWNrZ3JvdW5kTGF5ZXItPnNldERyYXdzQ29udGVudCht
X2JhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQgPyBoYXNQYWludGVkQ29u
dGVudCA6IGNvbnRlbnRzSW5mby5wYWludHNCb3hEZWNvcmF0aW9ucygpKTsKIH0KQEAgLTIwOTgs
NyArMjEzMiwxOSBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlT3ZlcmZsb3dDb250
cm9sc0xheWVycyhib29sIG5lZWRzSG9yaXpvbnRhbFNjcm9sbAogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9OwogCi0gICAgYm9vbCBsYXllcnNDaGFuZ2VkID0gY3JlYXRlT3JEZXN0cm95TGF5
ZXIobV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLCBuZWVkc0hvcml6b250YWxTY3JvbGxiYXJM
YXllciB8fCBuZWVkc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIgfHwgbmVlZHNTY3JvbGxDb3JuZXJM
YXllciwgZmFsc2UsICJvdmVyZmxvdyBjb250cm9scyBjb250YWluZXIiKTsKKyAgICBib29sIG5l
ZWRzT3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lciA9IG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxh
eWVyIHx8IG5lZWRzVmVydGljYWxTY3JvbGxiYXJMYXllciB8fCBuZWVkc1Njcm9sbENvcm5lckxh
eWVyOworICAgIGJvb2wgbGF5ZXJzQ2hhbmdlZCA9IGNyZWF0ZU9yRGVzdHJveUxheWVyKG1fb3Zl
cmxheUNvbnRhaW5lciwgbmVlZHNPdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLCBmYWxzZSwgIm92
ZXJsYXkgY29udGFpbmVyIik7CisKKyAgICBib29sIG5lZWRzQ29udHJvbHNDbGlwcGluZ01hc2tM
YXllciA9IG5lZWRzT3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lciAmJiBtX293bmluZ0xheWVyLmhh
c0luc2V0T3V0bGluZSgpOworICAgIGlmIChuZWVkc0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIg
JiYgIW1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyKSB7CisgICAgICAgIG1fb3Zl
cmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcigib3Zl
cmZsb3cgY29udHJvbHMgY2xpcHBpbmcgbGF5ZXIiKTsKKyAgICAgICAgbV9vdmVyZmxvd0NvbnRy
b2xzQ2xpcHBpbmdNYXNrTGF5ZXItPnNldFBhaW50aW5nUGhhc2UoeyB9KTsKKyAgICAgICAgbV9v
dmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXItPnNldERyYXdzQ29udGVudChmYWxzZSk7
CisgICAgfQorICAgIGlmICghbmVlZHNDb250cm9sc0NsaXBwaW5nTWFza0xheWVyICYmIG1fb3Zl
cmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyKSB7CisgICAgICAgIHdpbGxEZXN0cm95TGF5
ZXIobV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIuZ2V0KCkpOworICAgICAgICBH
cmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5n
TWFza0xheWVyKTsKKyAgICB9CiAKICAgICBib29sIGhvcml6b250YWxTY3JvbGxiYXJMYXllckNo
YW5nZWQgPSBjcmVhdGVPckRlc3Ryb3lMYXllcihtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJh
ciwgbmVlZHNIb3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXIsIHRydWUsICJob3Jpem9udGFsIHNjcm9s
bGJhciIpOwogICAgIGxheWVyc0NoYW5nZWQgfD0gaG9yaXpvbnRhbFNjcm9sbGJhckxheWVyQ2hh
bmdlZDsKQEAgLTIxMjksNyArMjE3NSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwb3Np
dGlvbk92ZXJmbG93Q29udHJvbHNMYXllcnMoKQogICAgIGF1dG8gYm94ID0gcmVuZGVyQm94KCk7
CiAgICAgYXV0byBib3JkZXJCb3ggPSBzbmFwcGVkSW50UmVjdChib3gtPmJvcmRlckJveFJlY3Qo
KSk7CiAKLSAgICAvLyBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXIgaXMgcG9zaXRpb25lZCB1
c2luZyB0aGUgcGFkZGluZ0JveFJlY3RJbmNsdWRpbmdTY3JvbGxiYXIuCisgICAgLy8gbV9vdmVy
bGF5Q29udGFpbmVyIGlzIHBvc2l0aW9uZWQgdXNpbmcgdGhlIHBhZGRpbmdCb3hSZWN0SW5jbHVk
aW5nU2Nyb2xsYmFyLgogICAgIGF1dG8gcGFkZGluZ0JveCA9IHNuYXBwZWRJbnRSZWN0KGJveC0+
cGFkZGluZ0JveFJlY3RJbmNsdWRpbmdTY3JvbGxiYXIoKSk7CiAgICAgYXV0byBwYWRkaW5nQm94
SW5zZXQgPSBwYWRkaW5nQm94LmxvY2F0aW9uKCkgLSBib3JkZXJCb3gubG9jYXRpb24oKTsKIApA
QCAtMjE2Myw2ICsyMjA5LDI3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwb3NpdGlvbk92
ZXJmbG93Q29udHJvbHNMYXllcnMoKQogICAgIH0KIH0KIAorYm9vbCBSZW5kZXJMYXllckJhY2tp
bmc6OnVwZGF0ZU91dGxpbmVMYXllcihib29sIG5lZWRzT3V0bGluZUxheWVyKQoreworICAgIGJv
b2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7CisgICAgaWYgKG5lZWRzT3V0bGluZUxheWVyKSB7Cisg
ICAgICAgIGlmICghbV9vdXRsaW5lTGF5ZXIpIHsKKyAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygi
Q3JlYXRpbmcgb3V0bGluZSBsYXllciIpOworICAgICAgICAgICAgU3RyaW5nIGxheWVyTmFtZSA9
IG1fb3duaW5nTGF5ZXIubmFtZSgpICsgIiAob3V0bGluZSkiOworICAgICAgICAgICAgbV9vdXRs
aW5lTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKGxheWVyTmFtZSk7CisgICAgICAgICAgICBt
X291dGxpbmVMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOworICAgICAgICAgICAgbGF5ZXJD
aGFuZ2VkID0gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0gZWxzZSBpZiAobV9vdXRsaW5lTGF5ZXIp
IHsKKyAgICAgICAgV1RGTG9nQWx3YXlzKCJEZXN0cm95aW5nIG91dGxpbmUgbGF5ZXIiKTsKKyAg
ICAgICAgd2lsbERlc3Ryb3lMYXllcihtX291dGxpbmVMYXllci5nZXQoKSk7CisgICAgICAgIEdy
YXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9vdXRsaW5lTGF5ZXIpOworICAgICAgICBs
YXllckNoYW5nZWQgPSB0cnVlOworICAgIH0KKworICAgIHJldHVybiBsYXllckNoYW5nZWQ7Cit9
CisKIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoYm9vbCBu
ZWVkc0ZvcmVncm91bmRMYXllcikKIHsKICAgICBib29sIGxheWVyQ2hhbmdlZCA9IGZhbHNlOwpA
QCAtMjU5MiwyMCArMjY1OSwzMiBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlUm9v
dExheWVyQ29uZmlndXJhdGlvbigpCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlUGFp
bnRpbmdQaGFzZXMoKQogewogICAgIC8vIFBoYXNlcyBmb3IgbV9jaGlsZENsaXBwaW5nTWFza0xh
eWVyIGFuZCBtX21hc2tMYXllciBhcmUgc2V0IGVsc2V3aGVyZS4KLSAgICBPcHRpb25TZXQ8R3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U+IHByaW1hcnlMYXllclBoYXNlcyA9IHsgR3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2U6OkJhY2tncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
OjpGb3JlZ3JvdW5kIH07Ci0gICAgCisgICAgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlPiBwcmltYXJ5TGF5ZXJQaGFzZXMgPSB7IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
OjpCYWNrZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Rm9yZWdyb3VuZCwgR3Jh
cGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91dGxpbmUgfTsKKworICAgIGlmIChtX291dGxpbmVM
YXllcikgeworICAgICAgICBtX291dGxpbmVMYXllci0+c2V0UGFpbnRpbmdQaGFzZShHcmFwaGlj
c0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSk7CisgICAgICAgIHByaW1hcnlMYXllclBoYXNl
cy5yZW1vdmUoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91dGxpbmUpOworICAgIH0KKwog
ICAgIGlmIChtX2ZvcmVncm91bmRMYXllcikgewogICAgICAgICBPcHRpb25TZXQ8R3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2U+IGZvcmVncm91bmRMYXllclBoYXNlcyB7IEdyYXBoaWNzTGF5ZXJQ
YWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kIH07CiAgICAgICAgIAogICAgICAgICBpZiAobV9zY3Jv
bGxlZENvbnRlbnRzTGF5ZXIpCiAgICAgICAgICAgICBmb3JlZ3JvdW5kTGF5ZXJQaGFzZXMuYWRk
KEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKTsKKyAgICAgICAg
aWYgKCFtX291dGxpbmVMYXllcikKKyAgICAgICAgICAgIGZvcmVncm91bmRMYXllclBoYXNlcy5h
ZGQoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91dGxpbmUpOwogCiAgICAgICAgIG1fZm9y
ZWdyb3VuZExheWVyLT5zZXRQYWludGluZ1BoYXNlKGZvcmVncm91bmRMYXllclBoYXNlcyk7CiAg
ICAgICAgIHByaW1hcnlMYXllclBoYXNlcy5yZW1vdmUoR3JhcGhpY3NMYXllclBhaW50aW5nUGhh
c2U6OkZvcmVncm91bmQpOwogICAgIH0KIAogICAgIGlmIChtX2JhY2tncm91bmRMYXllcikgewot
ICAgICAgICBtX2JhY2tncm91bmRMYXllci0+c2V0UGFpbnRpbmdQaGFzZShHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCk7CisgICAgICAgIE9wdGlvblNldDxHcmFwaGljc0xh
eWVyUGFpbnRpbmdQaGFzZT4gYmFja2dyb3VuZExheWVyUGhhc2VzIHsgR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2U6OkJhY2tncm91bmQgfTsKKworICAgICAgICBpZiAoIW1fb3V0bGluZUxheWVy
KQorICAgICAgICAgICAgYmFja2dyb3VuZExheWVyUGhhc2VzLmFkZChHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6T3V0bGluZSk7CisKKyAgICAgICAgbV9iYWNrZ3JvdW5kTGF5ZXItPnNldFBh
aW50aW5nUGhhc2UoYmFja2dyb3VuZExheWVyUGhhc2VzKTsKICAgICAgICAgcHJpbWFyeUxheWVy
UGhhc2VzLnJlbW92ZShHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCk7CiAg
ICAgfQogCkBAIC0yNjEzLDYgKzI2OTIsOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlUGFpbnRpbmdQaGFzZXMoKQogICAgICAgICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50
aW5nUGhhc2U+IHNjcm9sbGVkQ29udGVudExheWVyUGhhc2VzID0geyBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6T3ZlcmZsb3dDb250ZW50cywgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6
OkNvbXBvc2l0ZWRTY3JvbGwgfTsKICAgICAgICAgaWYgKCFtX2ZvcmVncm91bmRMYXllcikKICAg
ICAgICAgICAgIHNjcm9sbGVkQ29udGVudExheWVyUGhhc2VzLmFkZChHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6Rm9yZWdyb3VuZCk7CisgICAgICAgIGVsc2UgaWYgKG1fYmFja2dyb3VuZExh
eWVyKQorICAgICAgICAgICAgcHJpbWFyeUxheWVyUGhhc2VzLnJlbW92ZShHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6T3V0bGluZSk7CiAgICAgICAgIG1fc2Nyb2xsZWRDb250ZW50c0xheWVy
LT5zZXRQYWludGluZ1BoYXNlKHNjcm9sbGVkQ29udGVudExheWVyUGhhc2VzKTsKIAogICAgICAg
ICBwcmltYXJ5TGF5ZXJQaGFzZXMucmVtb3ZlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpG
b3JlZ3JvdW5kKTsKQEAgLTMwNzMsNiArMzE1NCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5n
OjpzZXRDb250ZW50c05lZWREaXNwbGF5KEdyYXBoaWNzTGF5ZXI6OlNob3VsZENsaXBUb0xheWVy
CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3RUb1Jl
cGFpbnQsIHNob3VsZENsaXApOwogICAgIH0KIAorICAgIGlmIChtX291dGxpbmVMYXllciAmJiBt
X291dGxpbmVMYXllci0+ZHJhd3NDb250ZW50KCkpCisgICAgICAgIG1fb3V0bGluZUxheWVyLT5z
ZXROZWVkc0Rpc3BsYXkoKTsKKwogICAgIGlmIChtX2ZvcmVncm91bmRMYXllciAmJiBtX2ZvcmVn
cm91bmRMYXllci0+ZHJhd3NDb250ZW50KCkpCiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5z
ZXROZWVkc0Rpc3BsYXkoKTsKIApAQCAtMzExMSw2ICszMTk1LDEyIEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KGNvbnN0IExheW91dFJlY3Qm
IHIsIEdyYXBoCiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0
KGxheWVyRGlydHlSZWN0LCBzaG91bGRDbGlwKTsKICAgICB9CiAKKyAgICBpZiAobV9vdXRsaW5l
TGF5ZXIgJiYgbV9vdXRsaW5lTGF5ZXItPmRyYXdzQ29udGVudCgpKSB7CisgICAgICAgIEZsb2F0
UmVjdCBsYXllckRpcnR5UmVjdCA9IHBpeGVsU25hcHBlZFJlY3RGb3JQYWludGluZzsKKyAgICAg
ICAgbGF5ZXJEaXJ0eVJlY3QubW92ZSgtbV9vdXRsaW5lTGF5ZXItPm9mZnNldEZyb21SZW5kZXJl
cigpIC0gbV9zdWJwaXhlbE9mZnNldEZyb21SZW5kZXJlcik7CisgICAgICAgIG1fb3V0bGluZUxh
eWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOwor
ICAgIH0KKwogICAgIGlmIChtX2ZvcmVncm91bmRMYXllciAmJiBtX2ZvcmVncm91bmRMYXllci0+
ZHJhd3NDb250ZW50KCkpIHsKICAgICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4
ZWxTbmFwcGVkUmVjdEZvclBhaW50aW5nOwogICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1t
X2ZvcmVncm91bmRMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkgLSBtX3N1YnBpeGVsT2Zmc2V0
RnJvbVJlbmRlcmVyKTsKQEAgLTMyMTEsNyArMzMwMSw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNr
aW5nOjpwYWludEludG9MYXllcihjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBH
cmFwCiAgICAgaWYgKGdyYXBoaWNzTGF5ZXIgPT0gZGVzdGluYXRpb25Gb3JTaGFyaW5nTGF5ZXJz
KSB7CiAgICAgICAgIE9wdGlvblNldDxSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc+IHNoYXJp
bmdMYXllclBhaW50RmxhZ3MgPSB7CiAgICAgICAgICAgICBSZW5kZXJMYXllcjo6UGFpbnRMYXll
ckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdCYWNrZ3JvdW5kUGhhc2UsCi0gICAgICAgICAgICBS
ZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5k
UGhhc2UgfTsKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRp
bmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFzZSwKKyAgICAgICAgICAgIFJlbmRlckxheWVyOjpQ
YWludExheWVyRmxhZzo6UGFpbnRpbmdPdXRsaW5lIH07CiAKICAgICAgICAgaWYgKGdyYXBoaWNz
TGF5ZXItPnBhaW50aW5nUGhhc2UoKS5jb250YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFz
ZTo6T3ZlcmZsb3dDb250ZW50cykpCiAgICAgICAgICAgICBzaGFyaW5nTGF5ZXJQYWludEZsYWdz
LmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nT3ZlcmZsb3dDb250ZW50
cyk7CkBAIC0zMjUwLDYgKzMzNDEsOCBAQCBPcHRpb25TZXQ8UmVuZGVyTGF5ZXI6OlBhaW50TGF5
ZXJGbGFnPiBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50RmxhZ3NGb3JMYXllcihjbwogICAgICAg
ICBwYWludEZsYWdzLmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nT3Zl
cmZsb3dDb250ZW50cyk7CiAgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2U6OkNvbXBvc2l0ZWRTY3JvbGwpKQogICAgICAgICBwYWludEZsYWdz
LmFkZChSZW5kZXJMYXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdTY3Jv
bGxpbmdQaGFzZSk7CisgICAgaWYgKHBhaW50aW5nUGhhc2UuY29udGFpbnMoR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2U6Ok91dGxpbmUpKQorICAgICAgICBwYWludEZsYWdzLmFkZChSZW5kZXJM
YXllcjo6UGFpbnRMYXllckZsYWc6OlBhaW50aW5nT3V0bGluZSk7CiAKICAgICBpZiAoJmdyYXBo
aWNzTGF5ZXIgPT0gbV9iYWNrZ3JvdW5kTGF5ZXIuZ2V0KCkgJiYgbV9iYWNrZ3JvdW5kTGF5ZXJQ
YWludHNGaXhlZFJvb3RCYWNrZ3JvdW5kKQogICAgICAgICBwYWludEZsYWdzLmFkZCh7IFJlbmRl
ckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHksIFJlbmRl
ckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91bmRQaGFz
ZSB9KTsgLy8gTmVlZCBQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0ZvcmVncm91
bmRQaGFzZSB0byB3YWxrIGNoaWxkIGxheWVycy4KQEAgLTM0NDksNiArMzU0Miw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIsIEdyYXBoCiAgICAgICAgIGxheWVyUGFpbnRCZWhhdmlvciB8PSBHcmFwaGlj
c0xheWVyUGFpbnRGaXJzdFRpbGVQYWludDsKIAogICAgIGlmIChncmFwaGljc0xheWVyID09IG1f
Z3JhcGhpY3NMYXllci5nZXQoKQorICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fb3V0bGlu
ZUxheWVyLmdldCgpCiAgICAgICAgIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9mb3JlZ3JvdW5kTGF5
ZXIuZ2V0KCkKICAgICAgICAgfHwgZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllci5n
ZXQoKQogICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fbWFza0xheWVyLmdldCgpCkBAIC0z
ODY5LDYgKzM5NjMsOCBAQCBkb3VibGUgUmVuZGVyTGF5ZXJCYWNraW5nOjpiYWNraW5nU3RvcmVN
ZW1vcnlFc3RpbWF0ZSgpIGNvbnN0CiAgICAgCiAgICAgLy8gTGF5ZXJzIGluIG1fYW5jZXN0b3JD
bGlwcGluZ1N0YWNrLCBtX2NvbnRlbnRzQ29udGFpbm1lbnRMYXllciBhbmQgbV9jaGlsZENvbnRh
aW5tZW50TGF5ZXIgYXJlIGp1c3QgdXNlZCBmb3IgbWFza2luZyBvciBjb250YWlubWVudCwgc28g
aGF2ZSBubyBiYWNraW5nLgogICAgIGJhY2tpbmdNZW1vcnkgPSBtX2dyYXBoaWNzTGF5ZXItPmJh
Y2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCk7CisgICAgaWYgKG1fb3V0bGluZUxheWVyKQorICAg
ICAgICBiYWNraW5nTWVtb3J5ICs9IG1fb3V0bGluZUxheWVyLT5iYWNraW5nU3RvcmVNZW1vcnlF
c3RpbWF0ZSgpOwogICAgIGlmIChtX2ZvcmVncm91bmRMYXllcikKICAgICAgICAgYmFja2luZ01l
bW9yeSArPSBtX2ZvcmVncm91bmRMYXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsK
ICAgICBpZiAobV9iYWNrZ3JvdW5kTGF5ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggMTkzYzVkMTc1Y2VlOThkZmMwNjBkZTFjOGQ2YTIz
MTk0ODljZDQ3ZC4uMDU2NjA2NGRlNjkyMDM3ZWVkMWZhNjQ2NWMzZGJhYjQwMTVjOWYwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTE5
LDYgKzExOSw3IEBAIHB1YmxpYzoKIAogICAgIEdyYXBoaWNzTGF5ZXIqIGNvbnRlbnRzQ29udGFp
bm1lbnRMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNDb250YWlubWVudExheWVyLmdl
dCgpOyB9CiAKKyAgICBHcmFwaGljc0xheWVyKiBvdXRsaW5lTGF5ZXIoKSBjb25zdCB7IHJldHVy
biBtX291dGxpbmVMYXllci5nZXQoKTsgfQogICAgIEdyYXBoaWNzTGF5ZXIqIGZvcmVncm91bmRM
YXllcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyLmdldCgpOyB9CiAgICAgR3Jh
cGhpY3NMYXllciogYmFja2dyb3VuZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZ3JvdW5k
TGF5ZXIuZ2V0KCk7IH0KICAgICBib29sIGJhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJh
Y2tncm91bmQoKSBjb25zdCB7IHJldHVybiBtX2JhY2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9v
dEJhY2tncm91bmQ7IH0KQEAgLTI2OSw3ICsyNzAsNyBAQCBwdWJsaWM6CiAgICAgR3JhcGhpY3NM
YXllciogbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9sYXll
ckZvckhvcml6b250YWxTY3JvbGxiYXIuZ2V0KCk7IH0KICAgICBHcmFwaGljc0xheWVyKiBsYXll
ckZvclZlcnRpY2FsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gbV9sYXllckZvclZlcnRpY2Fs
U2Nyb2xsYmFyLmdldCgpOyB9CiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXJGb3JTY3JvbGxDb3Ju
ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyRm9yU2Nyb2xsQ29ybmVyLmdldCgpOyB9Ci0gICAg
R3JhcGhpY3NMYXllciogb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJu
IG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci5nZXQoKTsgfQorICAgIEdyYXBoaWNzTGF5ZXIq
IG92ZXJsYXlDb250YWluZXIoKSBjb25zdCB7IHJldHVybiBtX292ZXJsYXlDb250YWluZXIuZ2V0
KCk7IH0KIAogICAgIHZvaWQgYWRqdXN0T3ZlcmZsb3dDb250cm9sc1Bvc2l0aW9uUmVsYXRpdmVU
b0FuY2VzdG9yKGNvbnN0IFJlbmRlckxheWVyJik7CiAKQEAgLTMxMCw2ICszMTEsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgdXBkYXRlQW5jZXN0b3JDbGlwcGluZyhib29sIG5lZWRzQW5jZXN0b3JD
bGlwLCBjb25zdCBSZW5kZXJMYXllciogY29tcG9zaXRpbmdBbmNlc3Rvcik7CiAgICAgYm9vbCB1
cGRhdGVEZXNjZW5kYW50Q2xpcHBpbmdMYXllcihib29sIG5lZWRzRGVzY2VuZGFudENsaXApOwog
ICAgIGJvb2wgdXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyhib29sIG5lZWRzSG9yaXpvbnRh
bFNjcm9sbGJhckxheWVyLCBib29sIG5lZWRzVmVydGljYWxTY3JvbGxiYXJMYXllciwgYm9vbCBu
ZWVkc1Njcm9sbENvcm5lckxheWVyKTsKKyAgICBib29sIHVwZGF0ZU91dGxpbmVMYXllcihib29s
IG5lZWRzT3V0bGluZUxheWVyKTsKICAgICBib29sIHVwZGF0ZUZvcmVncm91bmRMYXllcihib29s
IG5lZWRzRm9yZWdyb3VuZExheWVyKTsKICAgICBib29sIHVwZGF0ZUJhY2tncm91bmRMYXllcihi
b29sIG5lZWRzQmFja2dyb3VuZExheWVyKTsKICAgICBib29sIHVwZGF0ZU1hc2tpbmdMYXllcihi
b29sIGhhc01hc2ssIGJvb2wgaGFzQ2xpcFBhdGgpOwpAQCAtNDE1LDYgKzQxNyw3IEBAIHByaXZh
dGU6CiAKICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9jb250ZW50c0NvbnRhaW5tZW50TGF5
ZXI7IC8vIE9ubHkgdXNlZCBpZiB3ZSBoYXZlIGEgYmFja2dyb3VuZCBsYXllcjsgdGFrZXMgdGhl
IHRyYW5zZm9ybS4KICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9ncmFwaGljc0xheWVyOwor
ICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX291dGxpbmVMYXllcjsgLy8gT25seSB1c2VkIGlm
IHRoZSBvdXRsaW5lIGhhcyBhIG5lZ2F0aXZlIG9mZnNldCBhbmQgdGhlcmUgYXJlIG92ZXJmbG93
IGNvbnRyb2xzLgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2ZvcmVncm91bmRMYXllcjsg
Ly8gT25seSB1c2VkIGluIGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8gZHJhdyB0aGUgZm9yZWdyb3Vu
ZCBzZXBhcmF0ZWx5LgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2JhY2tncm91bmRMYXll
cjsgLy8gT25seSB1c2VkIGluIGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8gZHJhdyB0aGUgYmFja2dy
b3VuZCBzZXBhcmF0ZWx5LgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2NoaWxkQ29udGFp
bm1lbnRMYXllcjsgLy8gT25seSB1c2VkIGlmIHdlIGhhdmUgY2xpcHBpbmcgb24gYSBzdGFja2lu
ZyBjb250ZXh0IHdpdGggY29tcG9zaXRpbmcgY2hpbGRyZW4sIG9yIGlmIHRoZSBsYXllciBoYXMg
YSB0aWxlIGNhY2hlLgpAQCAtNDI0LDcgKzQyNyw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEdy
YXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyOwogICAgIFJlZlB0cjxH
cmFwaGljc0xheWVyPiBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXI7CiAgICAgUmVmUHRyPEdy
YXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXI7Ci0gICAgUmVmUHRyPEdyYXBoaWNz
TGF5ZXI+IG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lcjsKKyAgICBSZWZQdHI8R3JhcGhpY3NM
YXllcj4gbV9vdmVybGF5Q29udGFpbmVyOworICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX292
ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcjsKIAogICAgIFJlZlB0cjxHcmFwaGljc0xh
eWVyPiBtX3Njcm9sbENvbnRhaW5lckxheWVyOyAvLyBPbmx5IHVzZWQgaWYgdGhlIGxheWVyIGlz
IHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBt
X3Njcm9sbGVkQ29udGVudHNMYXllcjsgLy8gT25seSB1c2VkIGlmIHRoZSBsYXllciBpcyB1c2lu
ZyBjb21wb3NpdGVkIHNjcm9sbGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMTFjOWZmN2FkNGViM2ZlMWUyYjExODcw
ZDk0Mjg1MjhkZmVlNTVlNi4uZWRhZjE1YjkxNzUwYjI5OWEyY2NhYzdiOWMzMGFiN2Y1OTJjMjRl
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKQEAgLTEzODYsMTQgKzEzODYsMTQgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnVwZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkoUmVuZGVyTGF5ZXImIGxheWVyLCBWZWN0b3IK
ICAgICAgICAgICAgICAgICBwYXJlbnRlZCA9IHBhcmVudEZyYW1lQ29udGVudExheWVycyhkb3du
Y2FzdDxSZW5kZXJXaWRnZXQ+KGxheWVyLnJlbmRlcmVyKCkpKTsKIAogICAgICAgICAgICAgaWYg
KCFwYXJlbnRlZCkgewotICAgICAgICAgICAgICAgIC8vIElmIHRoZSBsYXllciBoYXMgYSBjbGlw
cGluZyBsYXllciB0aGUgb3ZlcmZsb3cgY29udHJvbHMgbGF5ZXJzIHdpbGwgYmUgc2libGluZ3Mg
b2YgdGhlIGNsaXBwaW5nIGxheWVyLgotICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgdGhl
IG92ZXJmbG93IGNvbnRyb2wgbGF5ZXJzIGFyZSBub3JtYWwgY2hpbGRyZW4uCisgICAgICAgICAg
ICAgICAgLy8gSWYgdGhlIGxheWVyIGhhcyBhIGNsaXBwaW5nIGxheWVyIHRoZSBvdmVybGF5IGxh
eWVycyB3aWxsIGJlIHNpYmxpbmdzIG9mIHRoZSBjbGlwcGluZyBsYXllci4KKyAgICAgICAgICAg
ICAgICAvLyBPdGhlcndpc2UsIHRoZSBvdmVybGF5IGxheWVycyBhcmUgbm9ybWFsIGNoaWxkcmVu
LgogICAgICAgICAgICAgICAgIGlmICghbGF5ZXJCYWNraW5nLT5oYXNDbGlwcGluZ0xheWVyKCkg
JiYgIWxheWVyQmFja2luZy0+aGFzU2Nyb2xsaW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoYXV0byogb3ZlcmZsb3dDb250cm9sTGF5ZXIgPSBsYXllckJhY2tpbmctPm92ZXJm
bG93Q29udHJvbHNDb250YWluZXIoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyQ2hp
bGRyZW4uYXBwZW5kKCpvdmVyZmxvd0NvbnRyb2xMYXllcik7CisgICAgICAgICAgICAgICAgICAg
IGlmIChhdXRvKiBvdmVybGF5TGF5ZXIgPSBsYXllckJhY2tpbmctPm92ZXJsYXlDb250YWluZXIo
KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyQ2hpbGRyZW4uYXBwZW5kKCpvdmVybGF5
TGF5ZXIpOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGFkanVzdE92ZXJm
bG93U2Nyb2xsYmFyQ29udGFpbmVyTGF5ZXJzKGxheWVyLCBjb21wb3NpdGVkT3ZlcmZsb3dTY3Jv
bGxMYXllcnMsIGxheWVyc0NsaXBwZWRCeVNjcm9sbGVycywgbGF5ZXJDaGlsZHJlbik7CisgICAg
ICAgICAgICAgICAgYWRqdXN0T3ZlcmxheUxheWVycyhsYXllciwgY29tcG9zaXRlZE92ZXJmbG93
U2Nyb2xsTGF5ZXJzLCBsYXllcnNDbGlwcGVkQnlTY3JvbGxlcnMsIGxheWVyQ2hpbGRyZW4pOwog
ICAgICAgICAgICAgICAgIGxheWVyQmFja2luZy0+cGFyZW50Rm9yU3VibGF5ZXJzKCktPnNldENo
aWxkcmVuKFdURk1vdmUobGF5ZXJDaGlsZHJlbikpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CkBAIC0xNDEyLDkgKzE0MTIsMTAgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0
ZUJhY2tpbmdBbmRIaWVyYXJjaHkoUmVuZGVyTGF5ZXImIGxheWVyLCBWZWN0b3IKICAgICBsYXll
ci5jbGVhclVwZGF0ZUJhY2tpbmdPckhpZXJhcmNoeVRyYXZlcnNhbFN0YXRlKCk7CiB9CiAKLS8v
IEZpbmRzIHRoZSBzZXQgb2Ygb3ZlcmZsb3c6c2Nyb2xsIGxheWVycyB3aG9zZSBvdmVyZmxvdyBj
b250cm9scyBob3N0aW5nIGxheWVyIG5lZWRzIHRvIGJlIHJlcGFyZW50ZWQsCi0vLyB0byBlbnN1
cmUgdGhhdCB0aGUgc2Nyb2xsYmFycyBzaG93IG9uIHRvcCBvZiBwb3NpdGlvbmVkIGNvbnRlbnQg
aW5zaWRlIHRoZSBzY3JvbGxlci4KLXZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGp1c3RP
dmVyZmxvd1Njcm9sbGJhckNvbnRhaW5lckxheWVycyhSZW5kZXJMYXllciYgc3RhY2tpbmdDb250
ZXh0TGF5ZXIsIGNvbnN0IFZlY3RvcjxSZW5kZXJMYXllcio+JiBvdmVyZmxvd1Njcm9sbExheWVy
cywgY29uc3QgVmVjdG9yPFJlbmRlckxheWVyKj4mIGxheWVyc0NsaXBwZWRCeVNjcm9sbGVycywg
VmVjdG9yPFJlZjxHcmFwaGljc0xheWVyPj4mIGxheWVyQ2hpbGRyZW4pCisvLyBGaW5kcyB0aGUg
c2V0IG9mIG92ZXJmbG93OnNjcm9sbCBsYXllcnMgd2hvc2Ugb3ZlcmxheSBsYXllciBuZWVkcyB0
byBiZSByZXBhcmVudGVkLAorLy8gdG8gZW5zdXJlIHRoYXQgdGhlIHNjcm9sbGJhcnMgYW5kIGlu
c2V0IG91dGxpbmVzIHNob3cgb24gdG9wIG9mIHBvc2l0aW9uZWQgY29udGVudAorLy8gaW5zaWRl
IHRoZSBzY3JvbGxlci4KK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGp1c3RPdmVybGF5
TGF5ZXJzKFJlbmRlckxheWVyJiBzdGFja2luZ0NvbnRleHRMYXllciwgY29uc3QgVmVjdG9yPFJl
bmRlckxheWVyKj4mIG92ZXJmbG93U2Nyb2xsTGF5ZXJzLCBjb25zdCBWZWN0b3I8UmVuZGVyTGF5
ZXIqPiYgbGF5ZXJzQ2xpcHBlZEJ5U2Nyb2xsZXJzLCBWZWN0b3I8UmVmPEdyYXBoaWNzTGF5ZXI+
PiYgbGF5ZXJDaGlsZHJlbikKIHsKICAgICBpZiAobGF5ZXJzQ2xpcHBlZEJ5U2Nyb2xsZXJzLmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTQ0NywyMiArMTQ0OCwyMiBAQCB2b2lkIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6YWRqdXN0T3ZlcmZsb3dTY3JvbGxiYXJDb250YWluZXJMYXll
cnMoUmVuZGVyTGF5ZXImCiAgICAgICAgIGlmICghb3ZlcmZsb3dCYWNraW5nKQogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIAotICAgICAgICBhdXRvKiBvdmVyZmxvd0NvbnRhaW5lckxh
eWVyID0gb3ZlcmZsb3dCYWNraW5nLT5vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyKCk7Ci0gICAg
ICAgIGlmICghb3ZlcmZsb3dDb250YWluZXJMYXllcikKKyAgICAgICAgYXV0byogb3ZlcmxheUNv
bnRhaW5lckxheWVyID0gb3ZlcmZsb3dCYWNraW5nLT5vdmVybGF5Q29udGFpbmVyKCk7CisgICAg
ICAgIGlmICghb3ZlcmxheUNvbnRhaW5lckxheWVyKQogICAgICAgICAgICAgY29udGludWU7CiAK
LSAgICAgICAgTE9HX1dJVEhfU1RSRUFNKENvbXBvc2l0aW5nLCBzdHJlYW0gPDwgIk1vdmluZyBv
dmVyZmxvdyBjb250cm9scyBsYXllciBmb3IgIiA8PCBvdmVyZmxvd1Njcm9sbGluZ0xheWVyIDw8
ICIgdG8gYXBwZWFyIGFmdGVyICIgPDwgbGFzdENvbnRhaW5lZERlc2NlbmRhbnQpOworICAgICAg
ICBMT0dfV0lUSF9TVFJFQU0oQ29tcG9zaXRpbmcsIHN0cmVhbSA8PCAiTW92aW5nIG92ZXJsYXkg
Y29udGFpbmVyIGxheWVyIGZvciAiIDw8IG92ZXJmbG93U2Nyb2xsaW5nTGF5ZXIgPDwgIiB0byBh
cHBlYXIgYWZ0ZXIgIiA8PCBsYXN0Q29udGFpbmVkRGVzY2VuZGFudCk7CiAKLSAgICAgICAgb3Zl
cmZsb3dDb250YWluZXJMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOworICAgICAgICBvdmVybGF5
Q29udGFpbmVyTGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKIAogICAgICAgICBpZiAob3ZlcmZs
b3dCYWNraW5nLT5oYXNBbmNlc3RvckNsaXBwaW5nTGF5ZXJzKCkpCiAgICAgICAgICAgICBvdmVy
Zmxvd0JhY2tpbmctPmVuc3VyZU92ZXJmbG93Q29udHJvbHNIb3N0TGF5ZXJBbmNlc3RvckNsaXBw
aW5nU3RhY2soJnN0YWNraW5nQ29udGV4dExheWVyKTsKIAogICAgICAgICBpZiAoYXV0byogb3Zl
cmZsb3dDb250cm9sc0FuY2VzdG9yQ2xpcHBpbmdTdGFjayA9IG92ZXJmbG93QmFja2luZy0+b3Zl
cmZsb3dDb250cm9sc0hvc3RMYXllckFuY2VzdG9yQ2xpcHBpbmdTdGFjaygpKSB7CiAgICAgICAg
ICAgICBWZWN0b3I8UmVmPEdyYXBoaWNzTGF5ZXI+PiBjaGlsZHJlbjsKLSAgICAgICAgICAgIGNo
aWxkcmVuLmFwcGVuZCgqb3ZlcmZsb3dDb250YWluZXJMYXllcik7CisgICAgICAgICAgICBjaGls
ZHJlbi5hcHBlbmQoKm92ZXJsYXlDb250YWluZXJMYXllcik7CiAgICAgICAgICAgICBvdmVyZmxv
d0NvbnRyb2xzQW5jZXN0b3JDbGlwcGluZ1N0YWNrLT5sYXN0Q2xpcHBpbmdMYXllcigpLT5zZXRD
aGlsZHJlbihXVEZNb3ZlKGNoaWxkcmVuKSk7Ci0gICAgICAgICAgICBvdmVyZmxvd0NvbnRhaW5l
ckxheWVyID0gb3ZlcmZsb3dDb250cm9sc0FuY2VzdG9yQ2xpcHBpbmdTdGFjay0+Zmlyc3RDbGlw
cGluZ0xheWVyKCk7CisgICAgICAgICAgICBvdmVybGF5Q29udGFpbmVyTGF5ZXIgPSBvdmVyZmxv
d0NvbnRyb2xzQW5jZXN0b3JDbGlwcGluZ1N0YWNrLT5maXJzdENsaXBwaW5nTGF5ZXIoKTsKICAg
ICAgICAgfQogCiAgICAgICAgIGF1dG8qIGxhc3REZXNjZW5kYW50R3JhcGhpY3NMYXllciA9IGxh
c3RDb250YWluZWREZXNjZW5kYW50QmFja2luZy0+Y2hpbGRGb3JTdXBlcmxheWVycygpOwpAQCAt
MTQ3MSw3ICsxNDcyLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmFkanVzdE92ZXJm
bG93U2Nyb2xsYmFyQ29udGFpbmVyTGF5ZXJzKFJlbmRlckxheWVyJgogICAgICAgICB9KTsKIAog
ICAgICAgICBpZiAobGFzdERlc2NlbmRhbnRJbmRleCAhPSBub3RGb3VuZCkKLSAgICAgICAgICAg
IGxheWVyQ2hpbGRyZW4uaW5zZXJ0KGxhc3REZXNjZW5kYW50SW5kZXggKyAxLCAqb3ZlcmZsb3dD
b250YWluZXJMYXllcik7CisgICAgICAgICAgICBsYXllckNoaWxkcmVuLmluc2VydChsYXN0RGVz
Y2VuZGFudEluZGV4ICsgMSwgKm92ZXJsYXlDb250YWluZXJMYXllcik7CiAKICAgICAgICAgb3Zl
cmZsb3dCYWNraW5nLT5hZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxhdGl2ZVRvQW5j
ZXN0b3Ioc3RhY2tpbmdDb250ZXh0TGF5ZXIpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBkNmJiZjJmMzg3OWUxZTk1
MzkzMzRjOTlhYjFiYjkxOGFlNWUyZGQzLi4zZGE2YTcyMmZmZDQzMTY0MWIzOGYzMmQ1Y2YzYjQx
ZmFmYzA1ODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5oCkBAIC00NTMsNyArNDUzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBSZWN1cnNl
cyBkb3duIHRoZSB0cmVlLCBwYXJlbnRpbmcgZGVzY2VuZGFudCBjb21wb3NpdGluZyBsYXllcnMg
YW5kIGNvbGxlY3RpbmcgYW4gYXJyYXkgb2YgY2hpbGQgbGF5ZXJzIGZvciB0aGUgY3VycmVudCBj
b21wb3NpdGluZyBsYXllci4KICAgICB2b2lkIHVwZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkoUmVu
ZGVyTGF5ZXImLCBWZWN0b3I8UmVmPEdyYXBoaWNzTGF5ZXI+PiYgY2hpbGRHcmFwaGljc0xheWVy
c09mRW5jbG9zaW5nTGF5ZXIsIHN0cnVjdCBVcGRhdGVCYWNraW5nVHJhdmVyc2FsU3RhdGUmLCBz
dHJ1Y3QgU2Nyb2xsaW5nVHJlZVN0YXRlJiwgT3B0aW9uU2V0PFVwZGF0ZUxldmVsPiA9IHsgfSk7
CiAKLSAgICB2b2lkIGFkanVzdE92ZXJmbG93U2Nyb2xsYmFyQ29udGFpbmVyTGF5ZXJzKFJlbmRl
ckxheWVyJiBzdGFja2luZ0NvbnRleHRMYXllciwgY29uc3QgVmVjdG9yPFJlbmRlckxheWVyKj4m
IG92ZXJmbG93U2Nyb2xsTGF5ZXJzLCBjb25zdCBWZWN0b3I8UmVuZGVyTGF5ZXIqPiYgbGF5ZXJz
Q2xpcHBlZEJ5U2Nyb2xsZXJzLCBWZWN0b3I8UmVmPEdyYXBoaWNzTGF5ZXI+PiYpOworICAgIHZv
aWQgYWRqdXN0T3ZlcmxheUxheWVycyhSZW5kZXJMYXllciYgc3RhY2tpbmdDb250ZXh0TGF5ZXIs
IGNvbnN0IFZlY3RvcjxSZW5kZXJMYXllcio+JiBvdmVyZmxvd1Njcm9sbExheWVycywgY29uc3Qg
VmVjdG9yPFJlbmRlckxheWVyKj4mIGxheWVyc0NsaXBwZWRCeVNjcm9sbGVycywgVmVjdG9yPFJl
ZjxHcmFwaGljc0xheWVyPj4mKTsKIAogICAgIGJvb2wgbGF5ZXJIYXMzRENvbnRlbnQoY29uc3Qg
UmVuZGVyTGF5ZXImKSBjb25zdDsKICAgICBib29sIGlzUnVubmluZ1RyYW5zZm9ybUFuaW1hdGlv
bihSZW5kZXJMYXllck1vZGVsT2JqZWN0JikgY29uc3Q7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9zdGFja2luZy1jb250ZXh0LWNvbXBvc2l0ZWQtc2Nyb2xs
ZXItd2l0aC1mb3JlZ3JvdW5kLXBhaW50LXBoYXNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9zdGFja2luZy1jb250ZXh0LWNvbXBvc2l0ZWQtc2Nyb2xs
ZXItd2l0aC1mb3JlZ3JvdW5kLXBhaW50LXBoYXNlcy1leHBlY3RlZC50eHQKaW5kZXggNTUyMzFi
ZjMxN2RkNDJmMTA1Yzg5ODhjYWM5NmM2NzM1MzA1NjRiZC4uNWYwNDJiMjE1MDdiNzY5ZjQ3YjFl
OTAxMzNlOGUzNzNiNjUyNjFlMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
b3ZlcmZsb3cvc3RhY2tpbmctY29udGV4dC1jb21wb3NpdGVkLXNjcm9sbGVyLXdpdGgtZm9yZWdy
b3VuZC1wYWludC1waGFzZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL292ZXJmbG93L3N0YWNraW5nLWNvbnRleHQtY29tcG9zaXRlZC1zY3JvbGxlci13aXRoLWZv
cmVncm91bmQtcGFpbnQtcGhhc2VzLWV4cGVjdGVkLnR4dApAQCAtMiwxOCArMiwxOCBAQCBTY3Jv
bGxlZCBjb250ZW50cwogKEdyYXBoaWNzTGF5ZXIKICAgKGFuY2hvciAwLjAwIDAuMDApCiAgIChi
b3VuZHMgODAwLjAwIDYwMC4wMCkKLSAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBmb3Jl
Z3JvdW5kXSkKKyAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBmb3JlZ3JvdW5kLCBvdXRs
aW5lXSkKICAgKGNoaWxkcmVuIDEKICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgKGJvdW5kcyA4
MDAuMDAgNjAwLjAwKQogICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCi0gICAgICAocGFpbnRpbmdQ
aGFzZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmRdKQorICAgICAgKHBhaW50aW5nUGhhc2VzIFti
YWNrZ3JvdW5kLCBmb3JlZ3JvdW5kLCBvdXRsaW5lXSkKICAgICAgIChjaGlsZHJlbiAxCiAgICAg
ICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDguMDAgOC4wMCkKICAgICAg
ICAgICAoYm91bmRzIDMyMi4wMCAzMjIuMDApCiAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQot
ICAgICAgICAgIChwYWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgY29tcG9zaXRlZC1zY3JvbGxd
KQorICAgICAgICAgIChwYWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgY29tcG9zaXRlZC1zY3Jv
bGwsIG91dGxpbmVdKQogICAgICAgICAgIChjaGlsZHJlbiAyCiAgICAgICAgICAgICAoR3JhcGhp
Y3NMYXllcgogICAgICAgICAgICAgICAob2Zmc2V0RnJvbVJlbmRlcmVyIHdpZHRoPTEgaGVpZ2h0
PTEpCkBAIC0zMSwxMyArMzEsMTMgQEAgU2Nyb2xsZWQgY29udGVudHMKICAgICAgICAgICAgICAg
ICAgICAgICAocG9zaXRpb24gMzAuMDAgNTAuMDApCiAgICAgICAgICAgICAgICAgICAgICAgKGJv
dW5kcyAxMDAuMDAgMTAwLjAwKQogICAgICAgICAgICAgICAgICAgICAgIChjb250ZW50c09wYXF1
ZSAxKQotICAgICAgICAgICAgICAgICAgICAgIChwYWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwg
Zm9yZWdyb3VuZF0pCisgICAgICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNr
Z3JvdW5kLCBmb3JlZ3JvdW5kLCBvdXRsaW5lXSkKICAgICAgICAgICAgICAgICAgICAgKQogICAg
ICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgICAgICAgICAgICAgIChv
ZmZzZXRGcm9tUmVuZGVyZXIgd2lkdGg9MSBoZWlnaHQ9MSkKICAgICAgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDMwNS4wMCAxMDIwLjAwKQogICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0Nv
bnRlbnQgMSkKLSAgICAgICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMgW2ZvcmVncm91
bmQsIG92ZXJmbG93LWNvbnRlbnRzXSkKKyAgICAgICAgICAgICAgICAgICAgICAocGFpbnRpbmdQ
aGFzZXMgW2ZvcmVncm91bmQsIG92ZXJmbG93LWNvbnRlbnRzLCBvdXRsaW5lXSkKICAgICAgICAg
ICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICkKQEAg
LTUxLDE5ICs1MSwxOSBAQCBTY3JvbGxlZCBjb250ZW50cwogICAgICAgICAgICAgICAgICAgKHBv
c2l0aW9uIDAuMDAgMzA1LjAwKQogICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzMDUuMDAgMTUu
MDApCiAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCi0gICAgICAgICAgICAgICAg
ICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmRdKQorICAgICAgICAgICAg
ICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBmb3JlZ3JvdW5kLCBvdXRsaW5lXSkK
ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAg
ICAgICAgICAgICAgIChwb3NpdGlvbiAzMDUuMDAgMC4wMCkKICAgICAgICAgICAgICAgICAgIChi
b3VuZHMgMTUuMDAgMzA1LjAwKQogICAgICAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQot
ICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBmb3JlZ3JvdW5k
XSkKKyAgICAgICAgICAgICAgICAgIChwYWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgZm9yZWdy
b3VuZCwgb3V0bGluZV0pCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgIChHcmFw
aGljc0xheWVyCiAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gMzA1LjAwIDMwNS4wMCkKICAg
ICAgICAgICAgICAgICAgIChib3VuZHMgMTUuMDAgMTUuMDApCiAgICAgICAgICAgICAgICAgICAo
ZHJhd3NDb250ZW50IDEpCi0gICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMgW2JhY2tn
cm91bmQsIGZvcmVncm91bmRdKQorICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFti
YWNrZ3JvdW5kLCBmb3JlZ3JvdW5kLCBvdXRsaW5lXSkKICAgICAgICAgICAgICAgICApCiAgICAg
ICAgICAgICAgICkKICAgICAgICAgICAgICkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431953</attachid>
            <date>2021-06-22 03:21:54 -0700</date>
            <delta_ts>2021-06-22 03:21:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227061-20210622112153.patch</filename>
            <type>text/plain</type>
            <size>48590</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZkNzFlZDQ3ZDQzOGUw
NzM0MmNhNGViMjk5NWQwM2Q3YWY5N2FkZC4uYjNjNjE2OTc1NmVjNWI3YzVhMTExNTU2ZGNkODA3
ZGU0ZjU5MzFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIxLTA2LTIyICBDaHJp
cyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KKworICAgICAgICBOZWdhdGl2ZSBDU1Mgb3V0bGlu
ZS1vZmZzZXQgYXBwZWFycyBiZW5lYXRoIHNjcm9sbCBjb250cm9scyB3aGVuIGFzeW5jIG92ZXJm
bG93IHNjcm9sbGluZyBpcyBlbmFibGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjcwNjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXaGVuIGNvbXBvc2l0ZWQgc2Nyb2xsZWQgY29udGVudCBoYXMgYW4g
b3V0bGluZSB3aXRoIGEgbmVnYXRpdmUKKyAgICAgICAgb2Zmc2V0LCBkcmF3IHRoZSBvdXRsaW5l
IG9uIGEgc2VwYXJhdGUgbGF5ZXIgc28gdGhhdCBpdCBhcHBlYXJzIG92ZXIKKyAgICAgICAgb3Zl
cmZsb3cgY29udHJvbHMuIFRoaXMgcmVuYW1lcyB0aGUgIm92ZXJmbG93IGNvbnRyb2xzIGNvbnRh
aW5lciIgdGhlCisgICAgICAgICJvdmVybGF5IGNvbnRhaW5lciIsIGFzIGl0IGNhbiBjb250YWlu
IGFueXRoaW5nIHRoYXQgbmVlZHMgdG8gb3ZlcmxhcAorICAgICAgICB0aGUgbGF5ZXIgKGluY2x1
ZGluZyBhbnkgb3ZlcmZsb3cgY29udHJvbHMpLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5n
L3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvaW5zZXQtb3V0bGluZS1vdmVybGFw
cy1zY3JvbGwtdWkuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NMYXllckNsaWVudC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjYWxjdWxhdGVDbGlwUmVjdHMgY29u
c3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnBhaW50TGF5ZXJQYWludGluZ0NvbXBvc2l0aW5nQWxsUGhhc2VzRmxh
Z3MpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp+UmVuZGVyTGF5ZXJCYWNraW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRGVidWdJbmRpY2F0b3Jz
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6ZGVzdHJveUdyYXBoaWNz
TGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQWxs
b3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlQ29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQmFja2luZzo6YWRqdXN0T3ZlcmZsb3dDb250cm9sc1Bvc2l0aW9uUmVsYXRpdmVUb0FuY2Vz
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJu
YWxIaWVyYXJjaHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVEcmF3c0NvbnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1
cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQmFja2luZzo6cG9zaXRpb25PdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlT3V0bGluZUxheWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlUGFpbnRpbmdQaGFzZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVk
RGlzcGxheUluUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnBh
aW50SW50b0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFp
bnRGbGFnc0ZvckxheWVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFj
a2luZzo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tp
bmc6OmJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
Q29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OnVwZGF0ZUJhY2tpbmdBbmRIaWVyYXJjaHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjphZGp1c3RPdmVybGF5TGF5ZXJzKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisKIDIwMjEtMDYtMTYgIFBoaWxpcHBlIE5vcm1hbmQg
IDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIGNsYW5nIGFuYWx5
c2lzOiBVbmxvY2tlZCBhY2Nlc3MgaW4gSW1hZ2VEZWNvZGVyR1N0cmVhbWVyLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAppbmRl
eCBjNWQxZTA4ZmY4ODZiNDIxYjE4MTI1YjY5MzMzY2IxYzAzZjYxMDM2Li43ZGI5YzJjNmYyODFi
MjhlN2Q0MDc3ODNiNjY4NTM5ZGIyNzFiNjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcApAQCAtMTAzNiw2ICsxMDM2LDcgQEAg
VGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgR3JhcGhpY3NMYXllclBhaW50
aW5nUGhhc2UgcGhhc2UpCiAgICAgc3dpdGNoIChwaGFzZSkgewogICAgIGNhc2UgR3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2U6OkJhY2tncm91bmQ6IHRzIDw8ICJiYWNrZ3JvdW5kIjsgYnJlYWs7
CiAgICAgY2FzZSBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Rm9yZWdyb3VuZDogdHMgPDwg
ImZvcmVncm91bmQiOyBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
OjpPdXRsaW5lOiB0cyA8PCAib3V0bGluZSI7IGJyZWFrOwogICAgIGNhc2UgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2U6Ok1hc2s6IHRzIDw8ICJtYXNrIjsgYnJlYWs7CiAgICAgY2FzZSBHcmFw
aGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q2xpcFBhdGg6IHRzIDw8ICJjbGlwLXBhdGgiOyBicmVh
azsKICAgICBjYXNlIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRz
OiB0cyA8PCAib3ZlcmZsb3ctY29udGVudHMiOyBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCA3YzdkNGZjYzllZDIyMzBk
ODcwOTVlNjc0ZTU5YzJkMTc1ODVkMDZhLi41MGVkMTJiOGRhN2I5YjYyYjBhN2QwM2Q1NzcyNGE2
MzU0YTA4MWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5oCkBAIC03MjIsNyArNzIyLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgY29uc3Qg
VHlwZSBtX3R5cGU7CiAgICAgQ3VzdG9tQXBwZWFyYW5jZSBtX2N1c3RvbUFwcGVhcmFuY2UgeyBD
dXN0b21BcHBlYXJhbmNlOjpOb25lIH07Ci0gICAgT3B0aW9uU2V0PEdyYXBoaWNzTGF5ZXJQYWlu
dGluZ1BoYXNlPiBtX3BhaW50aW5nUGhhc2UgeyBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6
Rm9yZWdyb3VuZCwgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkJhY2tncm91bmQgfTsKKyAg
ICBPcHRpb25TZXQ8R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U+IG1fcGFpbnRpbmdQaGFzZSB7
IEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFp
bnRpbmdQaGFzZTo6QmFja2dyb3VuZCwgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok91dGxp
bmUgfTsKICAgICBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50YXRpb24gbV9jb250ZW50c09y
aWVudGF0aW9uIHsgQ29tcG9zaXRpbmdDb29yZGluYXRlc09yaWVudGF0aW9uOjpUb3BEb3duIH07
IC8vIGFmZmVjdHMgb3JpZW50YXRpb24gb2YgbGF5ZXIgY29udGVudHMKIAogICAgIGJvb2wgbV9i
ZWluZ0Rlc3Ryb3llZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKaW5kZXggMmE0MjJlZjNmYTk2MWY0MWJlZGM2
YmZiN2MwYWE1M2E2Zjk1NWY2OS4uNDYzYmVmYWNlNWVjNzZlN2VhYWJjZTQ2OGEyODA2YTQ5Nzhh
N2I5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtNDcsNiArNDcsNyBAQCBlbnVtIGNsYXNzIEdyYXBoaWNz
TGF5ZXJQYWludGluZ1BoYXNlIHsKICAgICBPdmVyZmxvd0NvbnRlbnRzICAgICAgPSAxIDw8IDQs
CiAgICAgQ29tcG9zaXRlZFNjcm9sbCAgICAgID0gMSA8PCA1LAogICAgIENoaWxkQ2xpcHBpbmdN
YXNrICAgICA9IDEgPDwgNiwKKyAgICBPdXRsaW5lICAgICAgICAgICAgICAgPSAxIDw8IDcKIH07
CiAKIGVudW0gQW5pbWF0ZWRQcm9wZXJ0eUlEIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDFmMTFhOTc4ZTMxNWJhZGQ3YWNjODIzYjcxZDdkODUwODhmMDNl
ZjMuLmI5M2FhYTZiODBlNDJkMmEzZDM5Y2UyNTViMTZmYWUzMDU0YjQxOTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzIzNywyMSArMzIzNywyNiBAQCB2
b2lkIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMoR3JhcGhpY3NDb250ZXh0JiBjb250
ZXh0LCBjb25zdCBMYXllclBhaW50aQogICAgIGJvb2wgaXNQYWludGluZ1Njcm9sbGluZ0NvbnRl
bnQgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29t
cG9zaXRpbmdTY3JvbGxpbmdQaGFzZSk7CiAgICAgYm9vbCBpc1BhaW50aW5nQ29tcG9zaXRlZEZv
cmVncm91bmQgPSBsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50
aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UpOwogICAgIGJvb2wgaXNQYWludGluZ0NvbXBv
c2l0ZWRCYWNrZ3JvdW5kID0gbG9jYWxQYWludEZsYWdzLmNvbnRhaW5zKFBhaW50TGF5ZXJGbGFn
OjpQYWludGluZ0NvbXBvc2l0aW5nQmFja2dyb3VuZFBoYXNlKTsKKyAgICBib29sIGlzUGFpbnRp
bmdPdXRsaW5lID0gbG9jYWxQYWludEZsYWdzLmNvbnRhaW5zKFBhaW50TGF5ZXJGbGFnOjpQYWlu
dGluZ091dGxpbmUpOwogICAgIGJvb2wgaXNQYWludGluZ092ZXJmbG93Q29udGVudHMgPSBsb2Nh
bFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5nT3ZlcmZsb3dDb250
ZW50cyk7CiAgICAgYm9vbCBpc0NvbGxlY3RpbmdFdmVudFJlZ2lvbiA9IGxvY2FsUGFpbnRGbGFn
cy5jb250YWlucyhQYWludExheWVyRmxhZzo6Q29sbGVjdGluZ0V2ZW50UmVnaW9uKTsKIAogICAg
IGJvb2wgaXNTZWxmUGFpbnRpbmdMYXllciA9IHRoaXMtPmlzU2VsZlBhaW50aW5nTGF5ZXIoKTsK
IAogICAgIC8vIE91dGxpbmUgYWx3YXlzIG5lZWRzIHRvIGJlIHBhaW50ZWQgZXZlbiBpZiB3ZSBo
YXZlIG5vIHZpc2libGUgY29udGVudC4gQWxzbywKLSAgICAvLyB0aGUgb3V0bGluZSBpcyBwYWlu
dGVkIGluIHRoZSBiYWNrZ3JvdW5kIHBoYXNlIGR1cmluZyBjb21wb3NpdGVkIHNjcm9sbGluZy4K
KyAgICAvLyB0aGUgb3V0bGluZSBtYXkgYmUgcGFpbnRlZCBpbiB0aGUgYmFja2dyb3VuZCBwaGFz
ZSBkdXJpbmcgY29tcG9zaXRlZCBzY3JvbGxpbmcuCiAgICAgLy8gSWYgaXQgd2VyZSBwYWludGVk
IGluIHRoZSBmb3JlZ3JvdW5kIHBoYXNlLCBpdCB3b3VsZCBtb3ZlIHdpdGggdGhlIHNjcm9sbGVk
Ci0gICAgLy8gY29udGVudC4gV2hlbiBub3QgY29tcG9zaXRlZCBzY3JvbGxpbmcsIHRoZSBvdXRs
aW5lIGlzIHBhaW50ZWQgaW4gdGhlCisgICAgLy8gY29udGVudC4gV2hlbiBub3QgY29tcG9zaXRl
ZCBzY3JvbGxpbmcsIHRoZSBvdXRsaW5lIG1heSBiZSBwYWludGVkIGluIHRoZQogICAgIC8vIGZv
cmVncm91bmQgcGhhc2UuIFNpbmNlIHNjcm9sbGVkIGNvbnRlbnRzIGFyZSBtb3ZlZCBieSByZXBh
aW50aW5nIGluIHRoaXMKICAgICAvLyBjYXNlLCB0aGUgb3V0bGluZSB3b24ndCBnZXQgJ2RyYWdn
ZWQgYWxvbmcnLgotICAgIGJvb2wgc2hvdWxkUGFpbnRPdXRsaW5lID0gaXNTZWxmUGFpbnRpbmdM
YXllciAmJiAhaXNQYWludGluZ092ZXJsYXlTY3JvbGxiYXJzICYmICFpc0NvbGxlY3RpbmdFdmVu
dFJlZ2lvbgorICAgIC8vIEluIHRoZSBjYXNlIG9mIGNvbXBvc2l0ZWQgc2Nyb2xsZWQgY29udGVu
dCB3aXRoIG92ZXJmbG93IGNvbnRyb2xzLCBpZiB0aGUKKyAgICAvLyBvdXRsaW5lIGhhcyBhIG5l
Z2F0aXZlIG9mZnNldCwgaXQgaXMgcGFpbnRlZCBvbiBhIHNlcGFyYXRlIGxheWVyLgorICAgIGJv
b2wgc2hvdWxkUGFpbnRPdXRsaW5lID0gaXNTZWxmUGFpbnRpbmdMYXllciAmJiBpc1BhaW50aW5n
T3V0bGluZSAmJiAhaXNQYWludGluZ092ZXJsYXlTY3JvbGxiYXJzICYmICFpc0NvbGxlY3RpbmdF
dmVudFJlZ2lvbgogICAgICAgICAmJiAocmVuZGVyZXIoKS52aWV3KCkucHJpbnRpbmcoKSB8fCBy
ZW5kZXJlcigpLnZpZXcoKS5oYXNSZW5kZXJlcnNXaXRoT3V0bGluZSgpKQogICAgICAgICAmJiAo
KGlzUGFpbnRpbmdTY3JvbGxpbmdDb250ZW50ICYmIGlzUGFpbnRpbmdDb21wb3NpdGVkQmFja2dy
b3VuZCkKLSAgICAgICAgfHwgKCFpc1BhaW50aW5nU2Nyb2xsaW5nQ29udGVudCAmJiBpc1BhaW50
aW5nQ29tcG9zaXRlZEZvcmVncm91bmQpKTsKKyAgICAgICAgfHwgKCFpc1BhaW50aW5nU2Nyb2xs
aW5nQ29udGVudCAmJiBpc1BhaW50aW5nQ29tcG9zaXRlZEZvcmVncm91bmQpCisgICAgICAgIHx8
ICghaXNQYWludGluZ1Njcm9sbGluZ0NvbnRlbnQgJiYgIWlzUGFpbnRpbmdDb21wb3NpdGVkRm9y
ZWdyb3VuZAorICAgICAgICAgICAgJiYgIWlzUGFpbnRpbmdDb21wb3NpdGVkQmFja2dyb3VuZCAm
JiAhaXNQYWludGluZ092ZXJmbG93Q29udGVudHMpKTsKICAgICBib29sIHNob3VsZFBhaW50Q29u
dGVudCA9IG1faGFzVmlzaWJsZUNvbnRlbnQgJiYgaXNTZWxmUGFpbnRpbmdMYXllciAmJiAhaXNQ
YWludGluZ092ZXJsYXlTY3JvbGxiYXJzICYmICFpc0NvbGxlY3RpbmdFdmVudFJlZ2lvbjsKIAog
ICAgIGlmIChsb2NhbFBhaW50RmxhZ3MuY29udGFpbnMoUGFpbnRMYXllckZsYWc6OlBhaW50aW5n
Um9vdEJhY2tncm91bmRPbmx5KSAmJiAhcmVuZGVyZXIoKS5pc1JlbmRlclZpZXcoKSAmJiAhcmVu
ZGVyZXIoKS5pc0RvY3VtZW50RWxlbWVudFJlbmRlcmVyKCkpIHsKQEAgLTUyNDAsNiArNTI0NSwx
MSBAQCBib29sIFJlbmRlckxheWVyOjpoYXNWaXNpYmxlQm94RGVjb3JhdGlvbnMoKSBjb25zdAog
ICAgIHJldHVybiBoYXNWaXNpYmxlQm94RGVjb3JhdGlvbnNPckJhY2tncm91bmQoKSB8fCAobV9z
Y3JvbGxhYmxlQXJlYSAmJiBtX3Njcm9sbGFibGVBcmVhLT5oYXNPdmVyZmxvd0NvbnRyb2xzKCkp
OwogfQogCitib29sIFJlbmRlckxheWVyOjpoYXNJbnNldE91dGxpbmUoKSBjb25zdAoreworICAg
IHJldHVybiByZW5kZXJlcigpLnN0eWxlKCkub3V0bGluZU9mZnNldCgpIDwgMDsKK30KKwogYm9v
bCBSZW5kZXJMYXllcjo6aXNWaXN1YWxseU5vbkVtcHR5KFBhaW50ZWRDb250ZW50UmVxdWVzdCog
cmVxdWVzdCkgY29uc3QKIHsKICAgICBBU1NFUlQoIW1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNE
aXJ0eSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDAwNTZjZjUw
MzgxNzEwZGM0YTAzMjhlNTEwZGIwMmU5M2E3MjYxNmEuLjIyZWQzYzkzMTI1OWExZGQ5MTU3ZThi
ZjhjNTFmNGY2ZjFhODYyYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CkBAIC01MzEsNyArNTMxLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNWaXNpYmxlQm94RGVj
b3JhdGlvbnNPckJhY2tncm91bmQoKSBjb25zdDsKICAgICBib29sIGhhc1Zpc2libGVCb3hEZWNv
cmF0aW9ucygpIGNvbnN0OwotICAgIAorICAgIGJvb2wgaGFzSW5zZXRPdXRsaW5lKCkgY29uc3Q7
CisKICAgICBib29sIGJlaGF2ZXNBc0ZpeGVkKCkgY29uc3QgeyByZXR1cm4gbV9iZWhhdmVzQXNG
aXhlZDsgfQogCiAgICAgc3RydWN0IFBhaW50ZWRDb250ZW50UmVxdWVzdCB7CkBAIC02MjQsOSAr
NjI1LDEwIEBAIHB1YmxpYzoKICAgICAgICAgUGFpbnRpbmdSb290QmFja2dyb3VuZE9ubHkgICAg
ICAgICAgICA9IDEgPDwgMTEsCiAgICAgICAgIFBhaW50aW5nU2tpcFJvb3RCYWNrZ3JvdW5kICAg
ICAgICAgICAgPSAxIDw8IDEyLAogICAgICAgICBQYWludGluZ0NoaWxkQ2xpcHBpbmdNYXNrUGhh
c2UgICAgICAgID0gMSA8PCAxMywKLSAgICAgICAgQ29sbGVjdGluZ0V2ZW50UmVnaW9uICAgICAg
ICAgICAgICAgICA9IDEgPDwgMTQsCisgICAgICAgIFBhaW50aW5nT3V0bGluZSAgICAgICAgICAg
ICAgICAgICAgICAgPSAxIDw8IDE0LAorICAgICAgICBDb2xsZWN0aW5nRXZlbnRSZWdpb24gICAg
ICAgICAgICAgICAgID0gMSA8PCAxNSwKICAgICB9OwotICAgIHN0YXRpYyBjb25zdGV4cHIgT3B0
aW9uU2V0PFBhaW50TGF5ZXJGbGFnPiBwYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0FsbFBo
YXNlc0ZsYWdzKCkgeyByZXR1cm4geyBQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGlu
Z0JhY2tncm91bmRQaGFzZSwgUGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdGb3Jl
Z3JvdW5kUGhhc2UgfTsgfQorICAgIHN0YXRpYyBjb25zdGV4cHIgT3B0aW9uU2V0PFBhaW50TGF5
ZXJGbGFnPiBwYWludExheWVyUGFpbnRpbmdDb21wb3NpdGluZ0FsbFBoYXNlc0ZsYWdzKCkgeyBy
ZXR1cm4geyBQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFz
ZSwgUGFpbnRMYXllckZsYWc6OlBhaW50aW5nQ29tcG9zaXRpbmdGb3JlZ3JvdW5kUGhhc2UsIFBh
aW50TGF5ZXJGbGFnOjpQYWludGluZ091dGxpbmUgfTsgfQogCiAgICAgZW51bSBjbGFzcyBTZWN1
cml0eU9yaWdpblBhaW50UG9saWN5IHsgQW55T3JpZ2luLCBBY2Nlc3NpYmxlT3JpZ2luT25seSB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
CmluZGV4IGRlYTVjMTUzMTc5OWEzNTFiMTg0YTRmMWZjY2ZkNGVjNWYwYjMwZTkuLmM2YjE4MDhj
ZWIxNzNmN2YyODY1MTM3ZGE0ZTE4NjFlM2QwMjc4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0yNDksNiArMjQ5LDcgQEAgUmVu
ZGVyTGF5ZXJCYWNraW5nOjp+UmVuZGVyTGF5ZXJCYWNraW5nKCkKICAgICB1cGRhdGVDaGlsZENs
aXBwaW5nU3RyYXRlZ3koZmFsc2UpOwogICAgIHVwZGF0ZURlc2NlbmRhbnRDbGlwcGluZ0xheWVy
KGZhbHNlKTsKICAgICB1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKGZhbHNlLCBmYWxzZSwg
ZmFsc2UpOworICAgIHVwZGF0ZU91dGxpbmVMYXllcihmYWxzZSk7CiAgICAgdXBkYXRlRm9yZWdy
b3VuZExheWVyKGZhbHNlKTsKICAgICB1cGRhdGVCYWNrZ3JvdW5kTGF5ZXIoZmFsc2UpOwogICAg
IHVwZGF0ZU1hc2tpbmdMYXllcihmYWxzZSwgZmFsc2UpOwpAQCAtNDY4LDYgKzQ2OSwxMSBAQCB2
b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRGVidWdJbmRpY2F0b3JzKGJvb2wgc2hvd0Jv
cmRlciwgYm9vbCBzaG93UmVwYWludAogICAgICAgICAgICAgZW50cnkuY2xpcHBpbmdMYXllci0+
c2V0U2hvd0RlYnVnQm9yZGVyKHNob3dCb3JkZXIpOwogICAgIH0KIAorICAgIGlmIChtX291dGxp
bmVMYXllcikgeworICAgICAgICBtX291dGxpbmVMYXllci0+c2V0U2hvd0RlYnVnQm9yZGVyKHNo
b3dCb3JkZXIpOworICAgICAgICBtX291dGxpbmVMYXllci0+c2V0U2hvd1JlcGFpbnRDb3VudGVy
KHNob3dSZXBhaW50Q291bnRlcik7CisgICAgfQorCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVy
KSB7CiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRTaG93RGVidWdCb3JkZXIoc2hvd0Jv
cmRlcik7CiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRTaG93UmVwYWludENvdW50ZXIo
c2hvd1JlcGFpbnRDb3VudGVyKTsKQEAgLTUwNiw4ICs1MTIsOCBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlRGVidWdJbmRpY2F0b3JzKGJvb2wgc2hvd0JvcmRlciwgYm9vbCBzaG93
UmVwYWludAogICAgICAgICBtX3Njcm9sbGVkQ29udGVudHNMYXllci0+c2V0U2hvd1JlcGFpbnRD
b3VudGVyKHNob3dSZXBhaW50Q291bnRlcik7CiAgICAgfQogCi0gICAgaWYgKG1fb3ZlcmZsb3dD
b250cm9sc0NvbnRhaW5lcikKLSAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5z
ZXRTaG93RGVidWdCb3JkZXIoc2hvd0JvcmRlcik7CisgICAgaWYgKG1fb3ZlcmxheUNvbnRhaW5l
cikKKyAgICAgICAgbV9vdmVybGF5Q29udGFpbmVyLT5zZXRTaG93RGVidWdCb3JkZXIoc2hvd0Jv
cmRlcik7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpjcmVhdGVQcmltYXJ5R3JhcGhp
Y3NMYXllcigpCkBAIC01OTMsNiArNTk5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmRl
c3Ryb3lHcmFwaGljc0xheWVycygpCiAgICAgICAgIHJlbW92ZUNsaXBwaW5nU3RhY2tMYXllcnMo
Km1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllckFuY2VzdG9yQ2xpcHBpbmdTdGFjayk7CiAKICAg
ICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY29udGVudHNDb250YWlubWVudExh
eWVyKTsKKyAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fb3V0bGluZUxheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fZm9yZWdyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fYmFja2dyb3VuZExheWVy
KTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fY2hpbGRDb250YWlubWVu
dExheWVyKTsKQEAgLTg3MSw2ICs4NzgsOCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBk
YXRlQWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nKGNvbnN0IExheW91dFJlY3QmIGFicwogewog
ICAgIGF1dG8gc2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNoaW5nID0gWyZdKGJvb2wgYWxsb3dE
ZXRhY2hpbmcpIHsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRBbGxvd3NCYWNraW5nU3Rv
cmVEZXRhY2hpbmcoYWxsb3dEZXRhY2hpbmcpOworICAgICAgICBpZiAobV9vdXRsaW5lTGF5ZXIp
CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0QWxsb3dzQmFja2luZ1N0b3JlRGV0YWNo
aW5nKGFsbG93RGV0YWNoaW5nKTsKICAgICAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKQogICAg
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldEFsbG93c0JhY2tpbmdTdG9yZURldGFjaGlu
ZyhhbGxvd0RldGFjaGluZyk7CiAgICAgICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKQEAgLTEw
MDEsMTQgKzEwMTAsMTggQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNvbmZpZ3Vy
YXRpb24oY29uc3QgUmVuZGVyTGF5ZXIqIGNvbXBvc2l0aW5nQW5jZXMKICAgICBpZiAodXBkYXRl
T3ZlcmZsb3dDb250cm9sc0xheWVycyhyZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXllcigp
LCByZXF1aXJlc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIoKSwgcmVxdWlyZXNTY3JvbGxDb3JuZXJM
YXllcigpKSkKICAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2VkID0gdHJ1ZTsKIAorICAgIC8vIE91
dGxpbmVzIHdpdGggbmVnYXRpdmUgb2Zmc2V0cyBuZWVkIHRvIGFwcGVhciBhYm92ZSBzY3JvbGwg
VUkuCisgICAgaWYgKHVwZGF0ZU91dGxpbmVMYXllcihtX292ZXJsYXlDb250YWluZXIgJiYgbV9v
d25pbmdMYXllci5oYXNJbnNldE91dGxpbmUoKSkpCisgICAgICAgIGxheWVyQ29uZmlnQ2hhbmdl
ZCA9IHRydWU7CisKICAgICBpZiAobGF5ZXJDb25maWdDaGFuZ2VkKQogICAgICAgICB1cGRhdGVJ
bnRlcm5hbEhpZXJhcmNoeSgpOwogCi0gICAgLy8gUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGp1
c3RPdmVyZmxvd1Njcm9sbGJhckNvbnRhaW5lckxheWVycygpIG1heSBoYXZlIHJlcGFyZW50ZWQg
dGhlIG92ZXJmbG93Q29udHJvbHNDb250YWluZXIKKyAgICAvLyBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OmFkanVzdE92ZXJmbG93U2Nyb2xsYmFyQ29udGFpbmVyTGF5ZXJzKCkgbWF5IGhhdmUgcmVw
YXJlbnRlZCB0aGUgb3ZlcmxheUNvbnRhaW5lckxheWVyCiAgICAgLy8gaW4gYW4gZWFybGllciB1
cGRhdGUsIHNvIGFsd2F5cyBwdXQgaXQgYmFjayBoZXJlLiBXZSBkb24ndCB5ZXQga25vdyBpZiBp
dCB3aWxsIGdldCByZXBhcmVudGVkIGFnYWluLgotICAgIGlmIChtX292ZXJmbG93Q29udHJvbHND
b250YWluZXIgJiYgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5wYXJlbnQoKSAhPSBtX2dy
YXBoaWNzTGF5ZXIuZ2V0KCkpIHsKLSAgICAgICAgbV9ncmFwaGljc0xheWVyLT5hZGRDaGlsZCgq
bV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyKTsKLSAgICAgICAgLy8gRW5zdXJlIHRoYXQgd2Ug
Zml4IHVwIHRoZSBwb3NpdGlvbiBvZiBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXIuCisgICAg
aWYgKG1fb3ZlcmxheUNvbnRhaW5lciAmJiBtX292ZXJsYXlDb250YWluZXItPnBhcmVudCgpICE9
IG1fZ3JhcGhpY3NMYXllci5nZXQoKSkgeworICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPmFkZENo
aWxkKCptX292ZXJsYXlDb250YWluZXIpOworICAgICAgICAvLyBFbnN1cmUgdGhhdCB3ZSBmaXgg
dXAgdGhlIHBvc2l0aW9uIG9mIG1fb3ZlcmxheUNvbnRhaW5lci4KICAgICAgICAgbV9vd25pbmdM
YXllci5zZXROZWVkc0NvbXBvc2l0aW5nR2VvbWV0cnlVcGRhdGUoKTsKICAgICB9CiAKQEAgLTE0
MjEsMTQgKzE0MzQsMjEgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5
KGNvbnN0IFJlbmRlckxheWVyKiBjb21wb3NpdGVkQW5jZXN0b3IpCiAgICAgICAgIGFkanVzdFRp
bGVkQmFja2luZ0NvdmVyYWdlKCk7CiAgICAgfQogCi0gICAgaWYgKG1fb3ZlcmZsb3dDb250cm9s
c0NvbnRhaW5lcikgeworICAgIGlmIChtX292ZXJsYXlDb250YWluZXIpIHsKICAgICAgICAgTGF5
b3V0UmVjdCBvdmVyZmxvd0NvbnRyb2xzQm94ID0gb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllclJl
Y3QoZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKSk7CiAgICAgICAgIExheW91dFNpemUg
Ym94T2Zmc2V0RnJvbUdyYXBoaWNzTGF5ZXIgPSB0b0xheW91dFNpemUob3ZlcmZsb3dDb250cm9s
c0JveC5sb2NhdGlvbigpKSArIHJlbmRlcmVyT2Zmc2V0LmZyb21QcmltYXJ5R3JhcGhpY3NMYXll
cigpOwogICAgICAgICBTbmFwcGVkUmVjdEluZm8gc25hcHBlZEJveEluZm8gPSBzbmFwcGVkR3Jh
cGhpY3NMYXllcihib3hPZmZzZXRGcm9tR3JhcGhpY3NMYXllciwgb3ZlcmZsb3dDb250cm9sc0Jv
eC5zaXplKCksIGRldmljZVNjYWxlRmFjdG9yKTsKIAotICAgICAgICBtX292ZXJmbG93Q29udHJv
bHNDb250YWluZXItPnNldFBvc2l0aW9uKHNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3QubG9j
YXRpb24oKSk7Ci0gICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+c2V0U2l6ZShz
bmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LnNpemUoKSk7Ci0gICAgICAgIG1fb3ZlcmZsb3dD
b250cm9sc0NvbnRhaW5lci0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsKKyAgICAgICAgbV9vdmVy
bGF5Q29udGFpbmVyLT5zZXRQb3NpdGlvbihzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0Lmxv
Y2F0aW9uKCkpOworICAgICAgICBtX292ZXJsYXlDb250YWluZXItPnNldFNpemUoc25hcHBlZEJv
eEluZm8ubV9zbmFwcGVkUmVjdC5zaXplKCkpOworICAgICAgICBpZiAobV9vdmVyZmxvd0NvbnRy
b2xzQ2xpcHBpbmdNYXNrTGF5ZXIpCisgICAgICAgICAgICBtX292ZXJmbG93Q29udHJvbHNDbGlw
cGluZ01hc2tMYXllci0+c2V0U2l6ZShzbmFwcGVkQm94SW5mby5tX3NuYXBwZWRSZWN0LnNpemUo
KSk7CisKKyAgICAgICAgaWYgKG1fb3V0bGluZUxheWVyKSB7CisgICAgICAgICAgICBtX291dGxp
bmVMYXllci0+c2V0UG9zaXRpb24oLXNuYXBwZWRCb3hJbmZvLm1fc25hcHBlZFJlY3QubG9jYXRp
b24oKSk7CisgICAgICAgICAgICBtX291dGxpbmVMYXllci0+c2V0U2l6ZShwcmltYXJ5R3JhcGhp
Y3NMYXllclJlY3Quc2l6ZSgpKTsKKyAgICAgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRPZmZz
ZXRGcm9tUmVuZGVyZXIobV9ncmFwaGljc0xheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSk7Cisg
ICAgICAgIH0KICAgICB9CiAKICAgICBpZiAobV9mb3JlZ3JvdW5kTGF5ZXIpIHsKQEAgLTE0ODgs
NyArMTUwOCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHZW9tZXRyeShjb25z
dCBSZW5kZXJMYXllciogY29tcG9zaXRlZEFuY2VzdG9yKQogCiB2b2lkIFJlbmRlckxheWVyQmFj
a2luZzo6YWRqdXN0T3ZlcmZsb3dDb250cm9sc1Bvc2l0aW9uUmVsYXRpdmVUb0FuY2VzdG9yKGNv
bnN0IFJlbmRlckxheWVyJiBhbmNlc3RvckxheWVyKQogewotICAgIEFTU0VSVChtX292ZXJmbG93
Q29udHJvbHNDb250YWluZXIpOworICAgIEFTU0VSVChtX292ZXJsYXlDb250YWluZXIpOwogICAg
IEFTU0VSVChhbmNlc3RvckxheWVyLmlzQ29tcG9zaXRlZCgpKTsKICAgICBhdXRvIGFuY2VzdG9y
QmFja2luZyA9IGFuY2VzdG9yTGF5ZXIuYmFja2luZygpOwogICAgIGlmICghYW5jZXN0b3JCYWNr
aW5nKQpAQCAtMTUwNyw4ICsxNTI3LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjphZGp1
c3RPdmVyZmxvd0NvbnRyb2xzUG9zaXRpb25SZWxhdGl2ZVRvQW5jZXN0b3IoY29uc3QKICAgICBM
YXlvdXRTaXplIGJveE9mZnNldEZyb21HcmFwaGljc0xheWVyID0gdG9MYXlvdXRTaXplKG92ZXJm
bG93Q29udHJvbHNSZWN0LmxvY2F0aW9uKCkpICsgcmVuZGVyZXJPZmZzZXQuZnJvbVBhcmVudEdy
YXBoaWNzTGF5ZXIoKTsKICAgICBTbmFwcGVkUmVjdEluZm8gc25hcHBlZEJveEluZm8gPSBzbmFw
cGVkR3JhcGhpY3NMYXllcihib3hPZmZzZXRGcm9tR3JhcGhpY3NMYXllciwgb3ZlcmZsb3dDb250
cm9sc1JlY3Quc2l6ZSgpLCBkZXZpY2VTY2FsZUZhY3RvcigpKTsKIAotICAgIG1fb3ZlcmZsb3dD
b250cm9sc0NvbnRhaW5lci0+c2V0UG9zaXRpb24oc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVj
dC5sb2NhdGlvbigpKTsKLSAgICBtX292ZXJmbG93Q29udHJvbHNDb250YWluZXItPnNldFNpemUo
c25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5zaXplKCkpOworICAgIG1fb3ZlcmxheUNvbnRh
aW5lci0+c2V0UG9zaXRpb24oc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5sb2NhdGlvbigp
KTsKKyAgICBtX292ZXJsYXlDb250YWluZXItPnNldFNpemUoc25hcHBlZEJveEluZm8ubV9zbmFw
cGVkUmVjdC5zaXplKCkpOworICAgIGlmIChtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tM
YXllcikKKyAgICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXItPnNldFNp
emUoc25hcHBlZEJveEluZm8ubV9zbmFwcGVkUmVjdC5zaXplKCkpOwogfQogCiB2b2lkIFJlbmRl
ckxheWVyQmFja2luZzo6c2V0TG9jYXRpb25PZlNjcm9sbGVkQ29udGVudHMoU2Nyb2xsT2Zmc2V0
IHNjcm9sbE9mZnNldCwgU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbkFjdGlvbiBzZXRPclN5bmMpCkBA
IC0xNjUyLDE4ICsxNjc0LDI3IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVJbnRl
cm5hbEhpZXJhcmNoeSgpCiAgICAgLy8gVGhlIGNsaXAgZm9yIGNoaWxkIGxheWVycyBkb2VzIG5v
dCBpbmNsdWRlIHNwYWNlIGZvciBvdmVyZmxvdyBjb250cm9scywgc28gdGhleSBleGlzdCBhcwog
ICAgIC8vIHNpYmxpbmdzIG9mIHRoZSBjbGlwcGluZyBsYXllciBpZiB3ZSBoYXZlIG9uZS4gTm9y
bWFsIGNoaWxkcmVuIG9mIHRoaXMgbGF5ZXIgYXJlIHNldCBhcwogICAgIC8vIGNoaWxkcmVuIG9m
IHRoZSBjbGlwcGluZyBsYXllci4KLSAgICBpZiAobV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVy
KSB7CisgICAgaWYgKG1fb3ZlcmxheUNvbnRhaW5lcikgeworICAgICAgICBhdXRvIGNsaXBwaW5n
Q29udGFpbmVyID0gbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNrTGF5ZXIgPyBtX292ZXJm
bG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA6IG1fb3ZlcmxheUNvbnRhaW5lcjsKKyAgICAg
ICAgY2xpcHBpbmdDb250YWluZXItPnNldE1hc2tzVG9Cb3VuZHModHJ1ZSk7CisKKyAgICAgICAg
aWYgKG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyKQorICAgICAgICAgICAgbV9v
dmVybGF5Q29udGFpbmVyLT5hZGRDaGlsZCgqbV9vdmVyZmxvd0NvbnRyb2xzQ2xpcHBpbmdNYXNr
TGF5ZXIpOworCiAgICAgICAgIGlmIChtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcikKLSAg
ICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lci0+YWRkQ2hpbGQoKm1fbGF5ZXJG
b3JIb3Jpem9udGFsU2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIGNsaXBwaW5nQ29udGFpbmVyLT5h
ZGRDaGlsZCgqbV9sYXllckZvckhvcml6b250YWxTY3JvbGxiYXIpOwogCiAgICAgICAgIGlmICht
X2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIpCi0gICAgICAgICAgICBtX292ZXJmbG93Q29udHJv
bHNDb250YWluZXItPmFkZENoaWxkKCptX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIpOworICAg
ICAgICAgICAgY2xpcHBpbmdDb250YWluZXItPmFkZENoaWxkKCptX2xheWVyRm9yVmVydGljYWxT
Y3JvbGxiYXIpOwogCiAgICAgICAgIGlmIChtX2xheWVyRm9yU2Nyb2xsQ29ybmVyKQotICAgICAg
ICAgICAgbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLT5hZGRDaGlsZCgqbV9sYXllckZvclNj
cm9sbENvcm5lcik7CisgICAgICAgICAgICBjbGlwcGluZ0NvbnRhaW5lci0+YWRkQ2hpbGQoKm1f
bGF5ZXJGb3JTY3JvbGxDb3JuZXIpOworCisgICAgICAgIC8vIG1fb3ZlcmxheUNvbnRhaW5lciBt
YXkgZ2V0IHJlcGFyZW50ZWQgbGF0ZXIuCisgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hp
bGQoKm1fb3ZlcmxheUNvbnRhaW5lcik7CiAKLSAgICAgICAgLy8gbV9vdmVyZmxvd0NvbnRyb2xz
Q29udGFpbmVyIG1heSBnZXQgcmVwYXJlbnRlZCBsYXRlci4KLSAgICAgICAgbV9ncmFwaGljc0xh
eWVyLT5hZGRDaGlsZCgqbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyKTsKKyAgICAgICAgaWYg
KG1fb3V0bGluZUxheWVyKQorICAgICAgICAgICAgbV9vdmVybGF5Q29udGFpbmVyLT5hZGRDaGls
ZCgqbV9vdXRsaW5lTGF5ZXIpOwogICAgIH0KIH0KIApAQCAtMTcyMyw2ICsxNzU0LDkgQEAgdm9p
ZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURyYXdzQ29udGVudChQYWludGVkQ29udGVudHNJ
bmZvJiBjb250ZW50c0luZm8pCiAgICAgfSBlbHNlCiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+
c2V0U3VwcG9ydHNTdWJwaXhlbEFudGlhbGlhc2VkVGV4dChtX3BhaW50c1N1YnBpeGVsQW50aWFs
aWFzZWRUZXh0KTsKIAorICAgIGlmIChtX291dGxpbmVMYXllcikKKyAgICAgICAgbV9vdXRsaW5l
TGF5ZXItPnNldERyYXdzQ29udGVudChoYXNQYWludGVkQ29udGVudCk7CisKICAgICBpZiAobV9i
YWNrZ3JvdW5kTGF5ZXIpCiAgICAgICAgIG1fYmFja2dyb3VuZExheWVyLT5zZXREcmF3c0NvbnRl
bnQobV9iYWNrZ3JvdW5kTGF5ZXJQYWludHNGaXhlZFJvb3RCYWNrZ3JvdW5kID8gaGFzUGFpbnRl
ZENvbnRlbnQgOiBjb250ZW50c0luZm8ucGFpbnRzQm94RGVjb3JhdGlvbnMoKSk7CiB9CkBAIC0y
MDk4LDcgKzIxMzIsMTkgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU92ZXJmbG93
Q29udHJvbHNMYXllcnMoYm9vbCBuZWVkc0hvcml6b250YWxTY3JvbGwKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfTsKIAotICAgIGJvb2wgbGF5ZXJzQ2hhbmdlZCA9IGNyZWF0ZU9yRGVzdHJv
eUxheWVyKG1fb3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lciwgbmVlZHNIb3Jpem9udGFsU2Nyb2xs
YmFyTGF5ZXIgfHwgbmVlZHNWZXJ0aWNhbFNjcm9sbGJhckxheWVyIHx8IG5lZWRzU2Nyb2xsQ29y
bmVyTGF5ZXIsIGZhbHNlLCAib3ZlcmZsb3cgY29udHJvbHMgY29udGFpbmVyIik7CisgICAgYm9v
bCBuZWVkc092ZXJmbG93Q29udHJvbHNDb250YWluZXIgPSBuZWVkc0hvcml6b250YWxTY3JvbGxi
YXJMYXllciB8fCBuZWVkc1ZlcnRpY2FsU2Nyb2xsYmFyTGF5ZXIgfHwgbmVlZHNTY3JvbGxDb3Ju
ZXJMYXllcjsKKyAgICBib29sIGxheWVyc0NoYW5nZWQgPSBjcmVhdGVPckRlc3Ryb3lMYXllciht
X292ZXJsYXlDb250YWluZXIsIG5lZWRzT3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lciwgZmFsc2Us
ICJvdmVybGF5IGNvbnRhaW5lciIpOworCisgICAgYm9vbCBuZWVkc0NvbnRyb2xzQ2xpcHBpbmdN
YXNrTGF5ZXIgPSBuZWVkc092ZXJmbG93Q29udHJvbHNDb250YWluZXIgJiYgbV9vd25pbmdMYXll
ci5oYXNJbnNldE91dGxpbmUoKTsKKyAgICBpZiAobmVlZHNDb250cm9sc0NsaXBwaW5nTWFza0xh
eWVyICYmICFtX292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcikgeworICAgICAgICBt
X292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIo
Im92ZXJmbG93IGNvbnRyb2xzIGNsaXBwaW5nIGxheWVyIik7CisgICAgICAgIG1fb3ZlcmZsb3dD
b250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXRQYWludGluZ1BoYXNlKHsgfSk7CisgICAgICAg
IG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLT5zZXREcmF3c0NvbnRlbnQoZmFs
c2UpOworICAgIH0KKyAgICBpZiAoIW5lZWRzQ29udHJvbHNDbGlwcGluZ01hc2tMYXllciAmJiBt
X292ZXJmbG93Q29udHJvbHNDbGlwcGluZ01hc2tMYXllcikgeworICAgICAgICB3aWxsRGVzdHJv
eUxheWVyKG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyLmdldCgpKTsKKyAgICAg
ICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVhcihtX292ZXJmbG93Q29udHJvbHNDbGlw
cGluZ01hc2tMYXllcik7CisgICAgfQogCiAgICAgYm9vbCBob3Jpem9udGFsU2Nyb2xsYmFyTGF5
ZXJDaGFuZ2VkID0gY3JlYXRlT3JEZXN0cm95TGF5ZXIobV9sYXllckZvckhvcml6b250YWxTY3Jv
bGxiYXIsIG5lZWRzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyLCB0cnVlLCAiaG9yaXpvbnRhbCBz
Y3JvbGxiYXIiKTsKICAgICBsYXllcnNDaGFuZ2VkIHw9IGhvcml6b250YWxTY3JvbGxiYXJMYXll
ckNoYW5nZWQ7CkBAIC0yMTI5LDcgKzIxNzUsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6
cG9zaXRpb25PdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKCkKICAgICBhdXRvIGJveCA9IHJlbmRlckJv
eCgpOwogICAgIGF1dG8gYm9yZGVyQm94ID0gc25hcHBlZEludFJlY3QoYm94LT5ib3JkZXJCb3hS
ZWN0KCkpOwogCi0gICAgLy8gbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyIGlzIHBvc2l0aW9u
ZWQgdXNpbmcgdGhlIHBhZGRpbmdCb3hSZWN0SW5jbHVkaW5nU2Nyb2xsYmFyLgorICAgIC8vIG1f
b3ZlcmxheUNvbnRhaW5lciBpcyBwb3NpdGlvbmVkIHVzaW5nIHRoZSBwYWRkaW5nQm94UmVjdElu
Y2x1ZGluZ1Njcm9sbGJhci4KICAgICBhdXRvIHBhZGRpbmdCb3ggPSBzbmFwcGVkSW50UmVjdChi
b3gtPnBhZGRpbmdCb3hSZWN0SW5jbHVkaW5nU2Nyb2xsYmFyKCkpOwogICAgIGF1dG8gcGFkZGlu
Z0JveEluc2V0ID0gcGFkZGluZ0JveC5sb2NhdGlvbigpIC0gYm9yZGVyQm94LmxvY2F0aW9uKCk7
CiAKQEAgLTIxNjMsNiArMjIwOSwyNSBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6cG9zaXRp
b25PdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKCkKICAgICB9CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVPdXRsaW5lTGF5ZXIoYm9vbCBuZWVkc091dGxpbmVMYXllcikKK3sKKyAg
ICBib29sIGxheWVyQ2hhbmdlZCA9IGZhbHNlOworICAgIGlmIChuZWVkc091dGxpbmVMYXllcikg
eworICAgICAgICBpZiAoIW1fb3V0bGluZUxheWVyKSB7CisgICAgICAgICAgICBTdHJpbmcgbGF5
ZXJOYW1lID0gbV9vd25pbmdMYXllci5uYW1lKCkgKyAiIChvdXRsaW5lKSI7CisgICAgICAgICAg
ICBtX291dGxpbmVMYXllciA9IGNyZWF0ZUdyYXBoaWNzTGF5ZXIobGF5ZXJOYW1lKTsKKyAgICAg
ICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CisgICAgICAgICAg
ICBsYXllckNoYW5nZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChtX291dGxp
bmVMYXllcikgeworICAgICAgICB3aWxsRGVzdHJveUxheWVyKG1fb3V0bGluZUxheWVyLmdldCgp
KTsKKyAgICAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVhcihtX291dGxpbmVMYXll
cik7CisgICAgICAgIGxheWVyQ2hhbmdlZCA9IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGxh
eWVyQ2hhbmdlZDsKK30KKwogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91
bmRMYXllcihib29sIG5lZWRzRm9yZWdyb3VuZExheWVyKQogewogICAgIGJvb2wgbGF5ZXJDaGFu
Z2VkID0gZmFsc2U7CkBAIC0yNTkyLDIwICsyNjU3LDMyIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVSb290TGF5ZXJDb25maWd1cmF0aW9uKCkKIHZvaWQgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcygpCiB7CiAgICAgLy8gUGhhc2VzIGZvciBtX2NoaWxk
Q2xpcHBpbmdNYXNrTGF5ZXIgYW5kIG1fbWFza0xheWVyIGFyZSBzZXQgZWxzZXdoZXJlLgotICAg
IE9wdGlvblNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gcHJpbWFyeUxheWVyUGhhc2Vz
ID0geyBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCwgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQgfTsKLSAgICAKKyAgICBPcHRpb25TZXQ8R3JhcGhp
Y3NMYXllclBhaW50aW5nUGhhc2U+IHByaW1hcnlMYXllclBoYXNlcyA9IHsgR3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2U6OkJhY2tncm91bmQsIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpG
b3JlZ3JvdW5kLCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSB9OworCisgICAg
aWYgKG1fb3V0bGluZUxheWVyKSB7CisgICAgICAgIG1fb3V0bGluZUxheWVyLT5zZXRQYWludGlu
Z1BoYXNlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdXRsaW5lKTsKKyAgICAgICAgcHJp
bWFyeUxheWVyUGhhc2VzLnJlbW92ZShHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGlu
ZSk7CisgICAgfQorCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7CiAgICAgICAgIE9wdGlv
blNldDxHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZT4gZm9yZWdyb3VuZExheWVyUGhhc2VzIHsg
R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6OkZvcmVncm91bmQgfTsKICAgICAgICAgCiAgICAg
ICAgIGlmIChtX3Njcm9sbGVkQ29udGVudHNMYXllcikKICAgICAgICAgICAgIGZvcmVncm91bmRM
YXllclBoYXNlcy5hZGQoR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2U6Ok92ZXJmbG93Q29udGVu
dHMpOworICAgICAgICBpZiAoIW1fb3V0bGluZUxheWVyKQorICAgICAgICAgICAgZm9yZWdyb3Vu
ZExheWVyUGhhc2VzLmFkZChHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSk7CiAK
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldFBhaW50aW5nUGhhc2UoZm9yZWdyb3VuZExh
eWVyUGhhc2VzKTsKICAgICAgICAgcHJpbWFyeUxheWVyUGhhc2VzLnJlbW92ZShHcmFwaGljc0xh
eWVyUGFpbnRpbmdQaGFzZTo6Rm9yZWdyb3VuZCk7CiAgICAgfQogCiAgICAgaWYgKG1fYmFja2dy
b3VuZExheWVyKSB7Ci0gICAgICAgIG1fYmFja2dyb3VuZExheWVyLT5zZXRQYWludGluZ1BoYXNl
KEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpCYWNrZ3JvdW5kKTsKKyAgICAgICAgT3B0aW9u
U2V0PEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlPiBiYWNrZ3JvdW5kTGF5ZXJQaGFzZXMgeyBH
cmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6QmFja2dyb3VuZCB9OworCisgICAgICAgIGlmICgh
bV9vdXRsaW5lTGF5ZXIpCisgICAgICAgICAgICBiYWNrZ3JvdW5kTGF5ZXJQaGFzZXMuYWRkKEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdXRsaW5lKTsKKworICAgICAgICBtX2JhY2tncm91
bmRMYXllci0+c2V0UGFpbnRpbmdQaGFzZShiYWNrZ3JvdW5kTGF5ZXJQaGFzZXMpOwogICAgICAg
ICBwcmltYXJ5TGF5ZXJQaGFzZXMucmVtb3ZlKEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpC
YWNrZ3JvdW5kKTsKICAgICB9CiAKQEAgLTI2MTMsNiArMjY5MCw4IEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVQYWludGluZ1BoYXNlcygpCiAgICAgICAgIE9wdGlvblNldDxHcmFw
aGljc0xheWVyUGFpbnRpbmdQaGFzZT4gc2Nyb2xsZWRDb250ZW50TGF5ZXJQaGFzZXMgPSB7IEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzLCBHcmFwaGljc0xheWVy
UGFpbnRpbmdQaGFzZTo6Q29tcG9zaXRlZFNjcm9sbCB9OwogICAgICAgICBpZiAoIW1fZm9yZWdy
b3VuZExheWVyKQogICAgICAgICAgICAgc2Nyb2xsZWRDb250ZW50TGF5ZXJQaGFzZXMuYWRkKEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpGb3JlZ3JvdW5kKTsKKyAgICAgICAgZWxzZSBpZiAo
bV9iYWNrZ3JvdW5kTGF5ZXIpCisgICAgICAgICAgICBwcmltYXJ5TGF5ZXJQaGFzZXMucmVtb3Zl
KEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlOjpPdXRsaW5lKTsKICAgICAgICAgbV9zY3JvbGxl
ZENvbnRlbnRzTGF5ZXItPnNldFBhaW50aW5nUGhhc2Uoc2Nyb2xsZWRDb250ZW50TGF5ZXJQaGFz
ZXMpOwogCiAgICAgICAgIHByaW1hcnlMYXllclBoYXNlcy5yZW1vdmUoR3JhcGhpY3NMYXllclBh
aW50aW5nUGhhc2U6OkZvcmVncm91bmQpOwpAQCAtMzA3Myw2ICszMTUyLDkgQEAgdm9pZCBSZW5k
ZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkoR3JhcGhpY3NMYXllcjo6U2hv
dWxkQ2xpcFRvTGF5ZXIKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVkc0Rpc3BsYXlJ
blJlY3QocmVjdFRvUmVwYWludCwgc2hvdWxkQ2xpcCk7CiAgICAgfQogCisgICAgaWYgKG1fb3V0
bGluZUxheWVyICYmIG1fb3V0bGluZUxheWVyLT5kcmF3c0NvbnRlbnQoKSkKKyAgICAgICAgbV9v
dXRsaW5lTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOworCiAgICAgaWYgKG1fZm9yZWdyb3VuZExh
eWVyICYmIG1fZm9yZWdyb3VuZExheWVyLT5kcmF3c0NvbnRlbnQoKSkKICAgICAgICAgbV9mb3Jl
Z3JvdW5kTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwogCkBAIC0zMTExLDYgKzMxOTMsMTIgQEAg
dm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29u
c3QgTGF5b3V0UmVjdCYgciwgR3JhcGgKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVk
c0Rpc3BsYXlJblJlY3QobGF5ZXJEaXJ0eVJlY3QsIHNob3VsZENsaXApOwogICAgIH0KIAorICAg
IGlmIChtX291dGxpbmVMYXllciAmJiBtX291dGxpbmVMYXllci0+ZHJhd3NDb250ZW50KCkpIHsK
KyAgICAgICAgRmxvYXRSZWN0IGxheWVyRGlydHlSZWN0ID0gcGl4ZWxTbmFwcGVkUmVjdEZvclBh
aW50aW5nOworICAgICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX291dGxpbmVMYXllci0+b2Zm
c2V0RnJvbVJlbmRlcmVyKCkgLSBtX3N1YnBpeGVsT2Zmc2V0RnJvbVJlbmRlcmVyKTsKKyAgICAg
ICAgbV9vdXRsaW5lTGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChsYXllckRpcnR5UmVjdCwg
c2hvdWxkQ2xpcCk7CisgICAgfQorCiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyICYmIG1fZm9y
ZWdyb3VuZExheWVyLT5kcmF3c0NvbnRlbnQoKSkgewogICAgICAgICBGbG9hdFJlY3QgbGF5ZXJE
aXJ0eVJlY3QgPSBwaXhlbFNuYXBwZWRSZWN0Rm9yUGFpbnRpbmc7CiAgICAgICAgIGxheWVyRGly
dHlSZWN0Lm1vdmUoLW1fZm9yZWdyb3VuZExheWVyLT5vZmZzZXRGcm9tUmVuZGVyZXIoKSAtIG1f
c3VicGl4ZWxPZmZzZXRGcm9tUmVuZGVyZXIpOwpAQCAtMzIxMSw3ICszMjk5LDggQEAgdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnBhaW50SW50b0xheWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIsIEdyYXAKICAgICBpZiAoZ3JhcGhpY3NMYXllciA9PSBkZXN0aW5hdGlvbkZv
clNoYXJpbmdMYXllcnMpIHsKICAgICAgICAgT3B0aW9uU2V0PFJlbmRlckxheWVyOjpQYWludExh
eWVyRmxhZz4gc2hhcmluZ0xheWVyUGFpbnRGbGFncyA9IHsKICAgICAgICAgICAgIFJlbmRlckxh
eWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3NpdGluZ0JhY2tncm91bmRQaGFzZSwK
LSAgICAgICAgICAgIFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdDb21wb3Np
dGluZ0ZvcmVncm91bmRQaGFzZSB9OworICAgICAgICAgICAgUmVuZGVyTGF5ZXI6OlBhaW50TGF5
ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5nRm9yZWdyb3VuZFBoYXNlLAorICAgICAgICAgICAg
UmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ091dGxpbmUgfTsKIAogICAgICAg
ICBpZiAoZ3JhcGhpY3NMYXllci0+cGFpbnRpbmdQaGFzZSgpLmNvbnRhaW5zKEdyYXBoaWNzTGF5
ZXJQYWludGluZ1BoYXNlOjpPdmVyZmxvd0NvbnRlbnRzKSkKICAgICAgICAgICAgIHNoYXJpbmdM
YXllclBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdP
dmVyZmxvd0NvbnRlbnRzKTsKQEAgLTMyNTAsNiArMzMzOSw4IEBAIE9wdGlvblNldDxSZW5kZXJM
YXllcjo6UGFpbnRMYXllckZsYWc+IFJlbmRlckxheWVyQmFja2luZzo6cGFpbnRGbGFnc0Zvckxh
eWVyKGNvCiAgICAgICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxh
Zzo6UGFpbnRpbmdPdmVyZmxvd0NvbnRlbnRzKTsKICAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250
YWlucyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6Q29tcG9zaXRlZFNjcm9sbCkpCiAgICAg
ICAgIHBhaW50RmxhZ3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdD
b21wb3NpdGluZ1Njcm9sbGluZ1BoYXNlKTsKKyAgICBpZiAocGFpbnRpbmdQaGFzZS5jb250YWlu
cyhHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZTo6T3V0bGluZSkpCisgICAgICAgIHBhaW50Rmxh
Z3MuYWRkKFJlbmRlckxheWVyOjpQYWludExheWVyRmxhZzo6UGFpbnRpbmdPdXRsaW5lKTsKIAog
ICAgIGlmICgmZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllci5nZXQoKSAmJiBtX2Jh
Y2tncm91bmRMYXllclBhaW50c0ZpeGVkUm9vdEJhY2tncm91bmQpCiAgICAgICAgIHBhaW50Rmxh
Z3MuYWRkKHsgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ1Jvb3RCYWNrZ3Jv
dW5kT25seSwgUmVuZGVyTGF5ZXI6OlBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBvc2l0aW5n
Rm9yZWdyb3VuZFBoYXNlIH0pOyAvLyBOZWVkIFBhaW50TGF5ZXJGbGFnOjpQYWludGluZ0NvbXBv
c2l0aW5nRm9yZWdyb3VuZFBoYXNlIHRvIHdhbGsgY2hpbGQgbGF5ZXJzLgpAQCAtMzQ0OSw2ICsz
NTQwLDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29uc3QgR3Jh
cGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgbGF5ZXJQYWludEJlaGF2
aW9yIHw9IEdyYXBoaWNzTGF5ZXJQYWludEZpcnN0VGlsZVBhaW50OwogCiAgICAgaWYgKGdyYXBo
aWNzTGF5ZXIgPT0gbV9ncmFwaGljc0xheWVyLmdldCgpCisgICAgICAgIHx8IGdyYXBoaWNzTGF5
ZXIgPT0gbV9vdXRsaW5lTGF5ZXIuZ2V0KCkKICAgICAgICAgfHwgZ3JhcGhpY3NMYXllciA9PSBt
X2ZvcmVncm91bmRMYXllci5nZXQoKQogICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fYmFj
a2dyb3VuZExheWVyLmdldCgpCiAgICAgICAgIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9tYXNrTGF5
ZXIuZ2V0KCkKQEAgLTM4NjksNiArMzk2MSw4IEBAIGRvdWJsZSBSZW5kZXJMYXllckJhY2tpbmc6
OmJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCkgY29uc3QKICAgICAKICAgICAvLyBMYXllcnMg
aW4gbV9hbmNlc3RvckNsaXBwaW5nU3RhY2ssIG1fY29udGVudHNDb250YWlubWVudExheWVyIGFu
ZCBtX2NoaWxkQ29udGFpbm1lbnRMYXllciBhcmUganVzdCB1c2VkIGZvciBtYXNraW5nIG9yIGNv
bnRhaW5tZW50LCBzbyBoYXZlIG5vIGJhY2tpbmcuCiAgICAgYmFja2luZ01lbW9yeSA9IG1fZ3Jh
cGhpY3NMYXllci0+YmFja2luZ1N0b3JlTWVtb3J5RXN0aW1hdGUoKTsKKyAgICBpZiAobV9vdXRs
aW5lTGF5ZXIpCisgICAgICAgIGJhY2tpbmdNZW1vcnkgKz0gbV9vdXRsaW5lTGF5ZXItPmJhY2tp
bmdTdG9yZU1lbW9yeUVzdGltYXRlKCk7CiAgICAgaWYgKG1fZm9yZWdyb3VuZExheWVyKQogICAg
ICAgICBiYWNraW5nTWVtb3J5ICs9IG1fZm9yZWdyb3VuZExheWVyLT5iYWNraW5nU3RvcmVNZW1v
cnlFc3RpbWF0ZSgpOwogICAgIGlmIChtX2JhY2tncm91bmRMYXllcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCAxOTNjNWQxNzVjZWU5OGRm
YzA2MGRlMWM4ZDZhMjMxOTQ4OWNkNDdkLi4wNTY2MDY0ZGU2OTIwMzdlZWQxZmE2NDY1YzNkYmFi
NDAxNWM5ZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5oCkBAIC0xMTksNiArMTE5LDcgQEAgcHVibGljOgogCiAgICAgR3JhcGhpY3NMYXllciog
Y29udGVudHNDb250YWlubWVudExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c0NvbnRh
aW5tZW50TGF5ZXIuZ2V0KCk7IH0KIAorICAgIEdyYXBoaWNzTGF5ZXIqIG91dGxpbmVMYXllcigp
IGNvbnN0IHsgcmV0dXJuIG1fb3V0bGluZUxheWVyLmdldCgpOyB9CiAgICAgR3JhcGhpY3NMYXll
ciogZm9yZWdyb3VuZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9mb3JlZ3JvdW5kTGF5ZXIuZ2V0
KCk7IH0KICAgICBHcmFwaGljc0xheWVyKiBiYWNrZ3JvdW5kTGF5ZXIoKSBjb25zdCB7IHJldHVy
biBtX2JhY2tncm91bmRMYXllci5nZXQoKTsgfQogICAgIGJvb2wgYmFja2dyb3VuZExheWVyUGFp
bnRzRml4ZWRSb290QmFja2dyb3VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2dyb3VuZExheWVy
UGFpbnRzRml4ZWRSb290QmFja2dyb3VuZDsgfQpAQCAtMjY5LDcgKzI3MCw3IEBAIHB1YmxpYzoK
ICAgICBHcmFwaGljc0xheWVyKiBsYXllckZvckhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdCB7
IHJldHVybiBtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhci5nZXQoKTsgfQogICAgIEdyYXBo
aWNzTGF5ZXIqIGxheWVyRm9yVmVydGljYWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX2xh
eWVyRm9yVmVydGljYWxTY3JvbGxiYXIuZ2V0KCk7IH0KICAgICBHcmFwaGljc0xheWVyKiBsYXll
ckZvclNjcm9sbENvcm5lcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXIu
Z2V0KCk7IH0KLSAgICBHcmFwaGljc0xheWVyKiBvdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyKCkg
Y29uc3QgeyByZXR1cm4gbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyLmdldCgpOyB9CisgICAg
R3JhcGhpY3NMYXllciogb3ZlcmxheUNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIG1fb3Zlcmxh
eUNvbnRhaW5lci5nZXQoKTsgfQogCiAgICAgdm9pZCBhZGp1c3RPdmVyZmxvd0NvbnRyb2xzUG9z
aXRpb25SZWxhdGl2ZVRvQW5jZXN0b3IoY29uc3QgUmVuZGVyTGF5ZXImKTsKIApAQCAtMzEwLDYg
KzMxMSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCB1cGRhdGVBbmNlc3RvckNsaXBwaW5nKGJvb2wg
bmVlZHNBbmNlc3RvckNsaXAsIGNvbnN0IFJlbmRlckxheWVyKiBjb21wb3NpdGluZ0FuY2VzdG9y
KTsKICAgICBib29sIHVwZGF0ZURlc2NlbmRhbnRDbGlwcGluZ0xheWVyKGJvb2wgbmVlZHNEZXNj
ZW5kYW50Q2xpcCk7CiAgICAgYm9vbCB1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKGJvb2wg
bmVlZHNIb3Jpem9udGFsU2Nyb2xsYmFyTGF5ZXIsIGJvb2wgbmVlZHNWZXJ0aWNhbFNjcm9sbGJh
ckxheWVyLCBib29sIG5lZWRzU2Nyb2xsQ29ybmVyTGF5ZXIpOworICAgIGJvb2wgdXBkYXRlT3V0
bGluZUxheWVyKGJvb2wgbmVlZHNPdXRsaW5lTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlRm9yZWdy
b3VuZExheWVyKGJvb2wgbmVlZHNGb3JlZ3JvdW5kTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRlQmFj
a2dyb3VuZExheWVyKGJvb2wgbmVlZHNCYWNrZ3JvdW5kTGF5ZXIpOwogICAgIGJvb2wgdXBkYXRl
TWFza2luZ0xheWVyKGJvb2wgaGFzTWFzaywgYm9vbCBoYXNDbGlwUGF0aCk7CkBAIC00MTUsNiAr
NDE3LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2NvbnRlbnRz
Q29udGFpbm1lbnRMYXllcjsgLy8gT25seSB1c2VkIGlmIHdlIGhhdmUgYSBiYWNrZ3JvdW5kIGxh
eWVyOyB0YWtlcyB0aGUgdHJhbnNmb3JtLgogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2dy
YXBoaWNzTGF5ZXI7CisgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fb3V0bGluZUxheWVyOyAv
LyBPbmx5IHVzZWQgaWYgdGhlIG91dGxpbmUgaGFzIGEgbmVnYXRpdmUgb2Zmc2V0IGFuZCB0aGVy
ZSBhcmUgb3ZlcmZsb3cgY29udHJvbHMuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fZm9y
ZWdyb3VuZExheWVyOyAvLyBPbmx5IHVzZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBkcmF3
IHRoZSBmb3JlZ3JvdW5kIHNlcGFyYXRlbHkuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1f
YmFja2dyb3VuZExheWVyOyAvLyBPbmx5IHVzZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBk
cmF3IHRoZSBiYWNrZ3JvdW5kIHNlcGFyYXRlbHkuCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+
IG1fY2hpbGRDb250YWlubWVudExheWVyOyAvLyBPbmx5IHVzZWQgaWYgd2UgaGF2ZSBjbGlwcGlu
ZyBvbiBhIHN0YWNraW5nIGNvbnRleHQgd2l0aCBjb21wb3NpdGluZyBjaGlsZHJlbiwgb3IgaWYg
dGhlIGxheWVyIGhhcyBhIHRpbGUgY2FjaGUuCkBAIC00MjQsNyArNDI3LDggQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvckhvcml6b250YWxTY3JvbGxiYXI7
CiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcjsK
ICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclNjcm9sbENvcm5lcjsKLSAgICBS
ZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9vdmVyZmxvd0NvbnRyb2xzQ29udGFpbmVyOworICAgIFJl
ZlB0cjxHcmFwaGljc0xheWVyPiBtX292ZXJsYXlDb250YWluZXI7CisgICAgUmVmUHRyPEdyYXBo
aWNzTGF5ZXI+IG1fb3ZlcmZsb3dDb250cm9sc0NsaXBwaW5nTWFza0xheWVyOwogCiAgICAgUmVm
UHRyPEdyYXBoaWNzTGF5ZXI+IG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXI7IC8vIE9ubHkgdXNlZCBp
ZiB0aGUgbGF5ZXIgaXMgdXNpbmcgY29tcG9zaXRlZCBzY3JvbGxpbmcuCiAgICAgUmVmUHRyPEdy
YXBoaWNzTGF5ZXI+IG1fc2Nyb2xsZWRDb250ZW50c0xheWVyOyAvLyBPbmx5IHVzZWQgaWYgdGhl
IGxheWVyIGlzIHVzaW5nIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAxMWM5ZmY3YWQ0
ZWIzZmUxZTJiMTE4NzBkOTQyODUyOGRmZWU1NWU2Li5lZGFmMTViOTE3NTBiMjk5YTJjY2FjN2I5
YzMwYWI3ZjU5MmMyNGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTM4NiwxNCArMTM4NiwxNCBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2luZ0FuZEhpZXJhcmNoeShSZW5kZXJMYXllciYg
bGF5ZXIsIFZlY3RvcgogICAgICAgICAgICAgICAgIHBhcmVudGVkID0gcGFyZW50RnJhbWVDb250
ZW50TGF5ZXJzKGRvd25jYXN0PFJlbmRlcldpZGdldD4obGF5ZXIucmVuZGVyZXIoKSkpOwogCiAg
ICAgICAgICAgICBpZiAoIXBhcmVudGVkKSB7Ci0gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGxh
eWVyIGhhcyBhIGNsaXBwaW5nIGxheWVyIHRoZSBvdmVyZmxvdyBjb250cm9scyBsYXllcnMgd2ls
bCBiZSBzaWJsaW5ncyBvZiB0aGUgY2xpcHBpbmcgbGF5ZXIuCi0gICAgICAgICAgICAgICAgLy8g
T3RoZXJ3aXNlLCB0aGUgb3ZlcmZsb3cgY29udHJvbCBsYXllcnMgYXJlIG5vcm1hbCBjaGlsZHJl
bi4KKyAgICAgICAgICAgICAgICAvLyBJZiB0aGUgbGF5ZXIgaGFzIGEgY2xpcHBpbmcgbGF5ZXIg
dGhlIG92ZXJsYXkgbGF5ZXJzIHdpbGwgYmUgc2libGluZ3Mgb2YgdGhlIGNsaXBwaW5nIGxheWVy
LgorICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgdGhlIG92ZXJsYXkgbGF5ZXJzIGFyZSBu
b3JtYWwgY2hpbGRyZW4uCiAgICAgICAgICAgICAgICAgaWYgKCFsYXllckJhY2tpbmctPmhhc0Ns
aXBwaW5nTGF5ZXIoKSAmJiAhbGF5ZXJCYWNraW5nLT5oYXNTY3JvbGxpbmdMYXllcigpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBvdmVyZmxvd0NvbnRyb2xMYXllciA9IGxheWVy
QmFja2luZy0+b3ZlcmZsb3dDb250cm9sc0NvbnRhaW5lcigpKQotICAgICAgICAgICAgICAgICAg
ICAgICAgbGF5ZXJDaGlsZHJlbi5hcHBlbmQoKm92ZXJmbG93Q29udHJvbExheWVyKTsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKGF1dG8qIG92ZXJsYXlMYXllciA9IGxheWVyQmFja2luZy0+b3Zl
cmxheUNvbnRhaW5lcigpKQorICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJDaGlsZHJlbi5h
cHBlbmQoKm92ZXJsYXlMYXllcik7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAg
ICAgYWRqdXN0T3ZlcmZsb3dTY3JvbGxiYXJDb250YWluZXJMYXllcnMobGF5ZXIsIGNvbXBvc2l0
ZWRPdmVyZmxvd1Njcm9sbExheWVycywgbGF5ZXJzQ2xpcHBlZEJ5U2Nyb2xsZXJzLCBsYXllckNo
aWxkcmVuKTsKKyAgICAgICAgICAgICAgICBhZGp1c3RPdmVybGF5TGF5ZXJzKGxheWVyLCBjb21w
b3NpdGVkT3ZlcmZsb3dTY3JvbGxMYXllcnMsIGxheWVyc0NsaXBwZWRCeVNjcm9sbGVycywgbGF5
ZXJDaGlsZHJlbik7CiAgICAgICAgICAgICAgICAgbGF5ZXJCYWNraW5nLT5wYXJlbnRGb3JTdWJs
YXllcnMoKS0+c2V0Q2hpbGRyZW4oV1RGTW92ZShsYXllckNoaWxkcmVuKSk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KQEAgLTE0MTIsOSArMTQxMiwxMCBAQCB2b2lkIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6dXBkYXRlQmFja2luZ0FuZEhpZXJhcmNoeShSZW5kZXJMYXllciYgbGF5ZXIsIFZl
Y3RvcgogICAgIGxheWVyLmNsZWFyVXBkYXRlQmFja2luZ09ySGllcmFyY2h5VHJhdmVyc2FsU3Rh
dGUoKTsKIH0KIAotLy8gRmluZHMgdGhlIHNldCBvZiBvdmVyZmxvdzpzY3JvbGwgbGF5ZXJzIHdo
b3NlIG92ZXJmbG93IGNvbnRyb2xzIGhvc3RpbmcgbGF5ZXIgbmVlZHMgdG8gYmUgcmVwYXJlbnRl
ZCwKLS8vIHRvIGVuc3VyZSB0aGF0IHRoZSBzY3JvbGxiYXJzIHNob3cgb24gdG9wIG9mIHBvc2l0
aW9uZWQgY29udGVudCBpbnNpZGUgdGhlIHNjcm9sbGVyLgotdm9pZCBSZW5kZXJMYXllckNvbXBv
c2l0b3I6OmFkanVzdE92ZXJmbG93U2Nyb2xsYmFyQ29udGFpbmVyTGF5ZXJzKFJlbmRlckxheWVy
JiBzdGFja2luZ0NvbnRleHRMYXllciwgY29uc3QgVmVjdG9yPFJlbmRlckxheWVyKj4mIG92ZXJm
bG93U2Nyb2xsTGF5ZXJzLCBjb25zdCBWZWN0b3I8UmVuZGVyTGF5ZXIqPiYgbGF5ZXJzQ2xpcHBl
ZEJ5U2Nyb2xsZXJzLCBWZWN0b3I8UmVmPEdyYXBoaWNzTGF5ZXI+PiYgbGF5ZXJDaGlsZHJlbikK
Ky8vIEZpbmRzIHRoZSBzZXQgb2Ygb3ZlcmZsb3c6c2Nyb2xsIGxheWVycyB3aG9zZSBvdmVybGF5
IGxheWVyIG5lZWRzIHRvIGJlIHJlcGFyZW50ZWQsCisvLyB0byBlbnN1cmUgdGhhdCB0aGUgc2Ny
b2xsYmFycyBhbmQgaW5zZXQgb3V0bGluZXMgc2hvdyBvbiB0b3Agb2YgcG9zaXRpb25lZCBjb250
ZW50CisvLyBpbnNpZGUgdGhlIHNjcm9sbGVyLgordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmFkanVzdE92ZXJsYXlMYXllcnMoUmVuZGVyTGF5ZXImIHN0YWNraW5nQ29udGV4dExheWVyLCBj
b25zdCBWZWN0b3I8UmVuZGVyTGF5ZXIqPiYgb3ZlcmZsb3dTY3JvbGxMYXllcnMsIGNvbnN0IFZl
Y3RvcjxSZW5kZXJMYXllcio+JiBsYXllcnNDbGlwcGVkQnlTY3JvbGxlcnMsIFZlY3RvcjxSZWY8
R3JhcGhpY3NMYXllcj4+JiBsYXllckNoaWxkcmVuKQogewogICAgIGlmIChsYXllcnNDbGlwcGVk
QnlTY3JvbGxlcnMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CkBAIC0xNDQ3LDIyICsxNDQ4
LDIyIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGp1c3RPdmVyZmxvd1Njcm9sbGJh
ckNvbnRhaW5lckxheWVycyhSZW5kZXJMYXllciYKICAgICAgICAgaWYgKCFvdmVyZmxvd0JhY2tp
bmcpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgCi0gICAgICAgIGF1dG8qIG92ZXJm
bG93Q29udGFpbmVyTGF5ZXIgPSBvdmVyZmxvd0JhY2tpbmctPm92ZXJmbG93Q29udHJvbHNDb250
YWluZXIoKTsKLSAgICAgICAgaWYgKCFvdmVyZmxvd0NvbnRhaW5lckxheWVyKQorICAgICAgICBh
dXRvKiBvdmVybGF5Q29udGFpbmVyTGF5ZXIgPSBvdmVyZmxvd0JhY2tpbmctPm92ZXJsYXlDb250
YWluZXIoKTsKKyAgICAgICAgaWYgKCFvdmVybGF5Q29udGFpbmVyTGF5ZXIpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAotICAgICAgICBMT0dfV0lUSF9TVFJFQU0oQ29tcG9zaXRpbmcsIHN0cmVh
bSA8PCAiTW92aW5nIG92ZXJmbG93IGNvbnRyb2xzIGxheWVyIGZvciAiIDw8IG92ZXJmbG93U2Ny
b2xsaW5nTGF5ZXIgPDwgIiB0byBhcHBlYXIgYWZ0ZXIgIiA8PCBsYXN0Q29udGFpbmVkRGVzY2Vu
ZGFudCk7CisgICAgICAgIExPR19XSVRIX1NUUkVBTShDb21wb3NpdGluZywgc3RyZWFtIDw8ICJN
b3Zpbmcgb3ZlcmxheSBjb250YWluZXIgbGF5ZXIgZm9yICIgPDwgb3ZlcmZsb3dTY3JvbGxpbmdM
YXllciA8PCAiIHRvIGFwcGVhciBhZnRlciAiIDw8IGxhc3RDb250YWluZWREZXNjZW5kYW50KTsK
IAotICAgICAgICBvdmVyZmxvd0NvbnRhaW5lckxheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7Cisg
ICAgICAgIG92ZXJsYXlDb250YWluZXJMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogCiAgICAg
ICAgIGlmIChvdmVyZmxvd0JhY2tpbmctPmhhc0FuY2VzdG9yQ2xpcHBpbmdMYXllcnMoKSkKICAg
ICAgICAgICAgIG92ZXJmbG93QmFja2luZy0+ZW5zdXJlT3ZlcmZsb3dDb250cm9sc0hvc3RMYXll
ckFuY2VzdG9yQ2xpcHBpbmdTdGFjaygmc3RhY2tpbmdDb250ZXh0TGF5ZXIpOwogCiAgICAgICAg
IGlmIChhdXRvKiBvdmVyZmxvd0NvbnRyb2xzQW5jZXN0b3JDbGlwcGluZ1N0YWNrID0gb3ZlcmZs
b3dCYWNraW5nLT5vdmVyZmxvd0NvbnRyb2xzSG9zdExheWVyQW5jZXN0b3JDbGlwcGluZ1N0YWNr
KCkpIHsKICAgICAgICAgICAgIFZlY3RvcjxSZWY8R3JhcGhpY3NMYXllcj4+IGNoaWxkcmVuOwot
ICAgICAgICAgICAgY2hpbGRyZW4uYXBwZW5kKCpvdmVyZmxvd0NvbnRhaW5lckxheWVyKTsKKyAg
ICAgICAgICAgIGNoaWxkcmVuLmFwcGVuZCgqb3ZlcmxheUNvbnRhaW5lckxheWVyKTsKICAgICAg
ICAgICAgIG92ZXJmbG93Q29udHJvbHNBbmNlc3RvckNsaXBwaW5nU3RhY2stPmxhc3RDbGlwcGlu
Z0xheWVyKCktPnNldENoaWxkcmVuKFdURk1vdmUoY2hpbGRyZW4pKTsKLSAgICAgICAgICAgIG92
ZXJmbG93Q29udGFpbmVyTGF5ZXIgPSBvdmVyZmxvd0NvbnRyb2xzQW5jZXN0b3JDbGlwcGluZ1N0
YWNrLT5maXJzdENsaXBwaW5nTGF5ZXIoKTsKKyAgICAgICAgICAgIG92ZXJsYXlDb250YWluZXJM
YXllciA9IG92ZXJmbG93Q29udHJvbHNBbmNlc3RvckNsaXBwaW5nU3RhY2stPmZpcnN0Q2xpcHBp
bmdMYXllcigpOwogICAgICAgICB9CiAKICAgICAgICAgYXV0byogbGFzdERlc2NlbmRhbnRHcmFw
aGljc0xheWVyID0gbGFzdENvbnRhaW5lZERlc2NlbmRhbnRCYWNraW5nLT5jaGlsZEZvclN1cGVy
bGF5ZXJzKCk7CkBAIC0xNDcxLDcgKzE0NzIsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6YWRqdXN0T3ZlcmZsb3dTY3JvbGxiYXJDb250YWluZXJMYXllcnMoUmVuZGVyTGF5ZXImCiAg
ICAgICAgIH0pOwogCiAgICAgICAgIGlmIChsYXN0RGVzY2VuZGFudEluZGV4ICE9IG5vdEZvdW5k
KQotICAgICAgICAgICAgbGF5ZXJDaGlsZHJlbi5pbnNlcnQobGFzdERlc2NlbmRhbnRJbmRleCAr
IDEsICpvdmVyZmxvd0NvbnRhaW5lckxheWVyKTsKKyAgICAgICAgICAgIGxheWVyQ2hpbGRyZW4u
aW5zZXJ0KGxhc3REZXNjZW5kYW50SW5kZXggKyAxLCAqb3ZlcmxheUNvbnRhaW5lckxheWVyKTsK
IAogICAgICAgICBvdmVyZmxvd0JhY2tpbmctPmFkanVzdE92ZXJmbG93Q29udHJvbHNQb3NpdGlv
blJlbGF0aXZlVG9BbmNlc3RvcihzdGFja2luZ0NvbnRleHRMYXllcik7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IGQ2
YmJmMmYzODc5ZTFlOTUzOTMzNGM5OWFiMWJiOTE4YWU1ZTJkZDMuLjNkYTZhNzIyZmZkNDMxNjQx
YjM4ZjMyZDVjZjNiNDFmYWZjMDU4MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTQ1Myw3ICs0NTMsNyBAQCBwcml2YXRlOgog
ICAgIC8vIFJlY3Vyc2VzIGRvd24gdGhlIHRyZWUsIHBhcmVudGluZyBkZXNjZW5kYW50IGNvbXBv
c2l0aW5nIGxheWVycyBhbmQgY29sbGVjdGluZyBhbiBhcnJheSBvZiBjaGlsZCBsYXllcnMgZm9y
IHRoZSBjdXJyZW50IGNvbXBvc2l0aW5nIGxheWVyLgogICAgIHZvaWQgdXBkYXRlQmFja2luZ0Fu
ZEhpZXJhcmNoeShSZW5kZXJMYXllciYsIFZlY3RvcjxSZWY8R3JhcGhpY3NMYXllcj4+JiBjaGls
ZEdyYXBoaWNzTGF5ZXJzT2ZFbmNsb3NpbmdMYXllciwgc3RydWN0IFVwZGF0ZUJhY2tpbmdUcmF2
ZXJzYWxTdGF0ZSYsIHN0cnVjdCBTY3JvbGxpbmdUcmVlU3RhdGUmLCBPcHRpb25TZXQ8VXBkYXRl
TGV2ZWw+ID0geyB9KTsKIAotICAgIHZvaWQgYWRqdXN0T3ZlcmZsb3dTY3JvbGxiYXJDb250YWlu
ZXJMYXllcnMoUmVuZGVyTGF5ZXImIHN0YWNraW5nQ29udGV4dExheWVyLCBjb25zdCBWZWN0b3I8
UmVuZGVyTGF5ZXIqPiYgb3ZlcmZsb3dTY3JvbGxMYXllcnMsIGNvbnN0IFZlY3RvcjxSZW5kZXJM
YXllcio+JiBsYXllcnNDbGlwcGVkQnlTY3JvbGxlcnMsIFZlY3RvcjxSZWY8R3JhcGhpY3NMYXll
cj4+Jik7CisgICAgdm9pZCBhZGp1c3RPdmVybGF5TGF5ZXJzKFJlbmRlckxheWVyJiBzdGFja2lu
Z0NvbnRleHRMYXllciwgY29uc3QgVmVjdG9yPFJlbmRlckxheWVyKj4mIG92ZXJmbG93U2Nyb2xs
TGF5ZXJzLCBjb25zdCBWZWN0b3I8UmVuZGVyTGF5ZXIqPiYgbGF5ZXJzQ2xpcHBlZEJ5U2Nyb2xs
ZXJzLCBWZWN0b3I8UmVmPEdyYXBoaWNzTGF5ZXI+PiYpOwogCiAgICAgYm9vbCBsYXllckhhczNE
Q29udGVudChjb25zdCBSZW5kZXJMYXllciYpIGNvbnN0OwogICAgIGJvb2wgaXNSdW5uaW5nVHJh
bnNmb3JtQW5pbWF0aW9uKFJlbmRlckxheWVyTW9kZWxPYmplY3QmKSBjb25zdDsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2
OGI4NDQ5OTg2NWZiZmU5MmZjYWVhODA3MGFkMjIxNWI5NjYwYmUwLi44NzE4ODZlMWQxNGI0NDVh
NjFiZTU3ZWEwYzZmNDc2ZDJkMzQ4YTcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDYt
MjIgIENocmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgorCisgICAgICAgIE5lZ2F0aXZlIENT
UyBvdXRsaW5lLW9mZnNldCBhcHBlYXJzIGJlbmVhdGggc2Nyb2xsIGNvbnRyb2xzIHdoZW4gYXN5
bmMgb3ZlcmZsb3cgc2Nyb2xsaW5nIGlzIGVuYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzA2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdG8gbWFrZSBzdXJlIHBhcnRpYWxs
eSBvdmVybGFwcGluZyBvdXRsaW5lcyB3b3JrIHdpdGgKKyAgICAgICAgYXN5bmMgb3ZlcmZsb3cg
c2Nyb2xsaW5nLCBhbmQgcmViYXNlbGluZSB0ZXN0cyBhZmZlY3RlZCBieSB0aGVyZSBub3cKKyAg
ICAgICAgc29tZXRpbWVzIGJlaW5nIGEgc2xpZ2h0bHkgZGlmZmVyZW50IGxheWVyIHRyZWUgdG8g
YWxsb3cgZm9yCisgICAgICAgIG92ZXJsYXBwaW5nIG91dGxpbmVzLgorCisgICAgICAgICogY29t
cG9zaXRpbmcvb3ZlcmZsb3cvc3RhY2tpbmctY29udGV4dC1jb21wb3NpdGVkLXNjcm9sbGVyLXdp
dGgtZm9yZWdyb3VuZC1wYWludC1waGFzZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNvbXBv
c2l0aW5nL3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvaW5zZXQtb3V0bGluZS1v
dmVybGFwcy1zY3JvbGwtdWktZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9z
aXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9pbnNldC1vdXRsaW5lLW92
ZXJsYXBzLXNjcm9sbC11aS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2sy
L2NvbXBvc2l0aW5nL292ZXJmbG93L3N0YWNraW5nLWNvbnRleHQtY29tcG9zaXRlZC1zY3JvbGxl
ci13aXRoLWZvcmVncm91bmQtcGFpbnQtcGhhc2VzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtd2sxL2NvbXBvc2l0aW5nL292ZXJmbG93L3N0YWNraW5nLWNvbnRleHQtY29t
cG9zaXRlZC1zY3JvbGxlci13aXRoLWZvcmVncm91bmQtcGFpbnQtcGhhc2VzLWV4cGVjdGVkLnR4
dDoKKwogMjAyMS0wNi0xNiAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZywgYWRk
IHNvbWUgbmV3IFRpbWluZy1BbGxvdy1PcmlnaW4gZmFpbHVyZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3N0YWNraW5nLWNvbnRleHQtY29tcG9zaXRlZC1z
Y3JvbGxlci13aXRoLWZvcmVncm91bmQtcGFpbnQtcGhhc2VzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L3N0YWNraW5nLWNvbnRleHQtY29tcG9zaXRlZC1z
Y3JvbGxlci13aXRoLWZvcmVncm91bmQtcGFpbnQtcGhhc2VzLWV4cGVjdGVkLnR4dAppbmRleCA1
NTIzMWJmMzE3ZGQ0MmYxMDVjODk4OGNhYzk2YzY3MzUzMDU2NGJkLi41ZjA0MmIyMTUwN2I3Njlm
NDdiMWU5MDEzM2U4ZTM3M2I2NTI2MWUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9vdmVyZmxvdy9zdGFja2luZy1jb250ZXh0LWNvbXBvc2l0ZWQtc2Nyb2xsZXItd2l0aC1m
b3JlZ3JvdW5kLXBhaW50LXBoYXNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvc3RhY2tpbmctY29udGV4dC1jb21wb3NpdGVkLXNjcm9sbGVyLXdp
dGgtZm9yZWdyb3VuZC1wYWludC1waGFzZXMtZXhwZWN0ZWQudHh0CkBAIC0yLDE4ICsyLDE4IEBA
IFNjcm9sbGVkIGNvbnRlbnRzCiAoR3JhcGhpY3NMYXllcgogICAoYW5jaG9yIDAuMDAgMC4wMCkK
ICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQotICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQs
IGZvcmVncm91bmRdKQorICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmQs
IG91dGxpbmVdKQogICAoY2hpbGRyZW4gMQogICAgIChHcmFwaGljc0xheWVyCiAgICAgICAoYm91
bmRzIDgwMC4wMCA2MDAuMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKLSAgICAgIChwYWlu
dGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgZm9yZWdyb3VuZF0pCisgICAgICAocGFpbnRpbmdQaGFz
ZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmQsIG91dGxpbmVdKQogICAgICAgKGNoaWxkcmVuIDEK
ICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQog
ICAgICAgICAgIChib3VuZHMgMzIyLjAwIDMyMi4wMCkKICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCi0gICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBjb21wb3NpdGVkLXNj
cm9sbF0pCisgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBjb21wb3NpdGVk
LXNjcm9sbCwgb3V0bGluZV0pCiAgICAgICAgICAgKGNoaWxkcmVuIDIKICAgICAgICAgICAgIChH
cmFwaGljc0xheWVyCiAgICAgICAgICAgICAgIChvZmZzZXRGcm9tUmVuZGVyZXIgd2lkdGg9MSBo
ZWlnaHQ9MSkKQEAgLTMxLDEzICszMSwxMyBAQCBTY3JvbGxlZCBjb250ZW50cwogICAgICAgICAg
ICAgICAgICAgICAgIChwb3NpdGlvbiAzMC4wMCA1MC4wMCkKICAgICAgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCiAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRlbnRz
T3BhcXVlIDEpCi0gICAgICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3Jv
dW5kLCBmb3JlZ3JvdW5kXSkKKyAgICAgICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMg
W2JhY2tncm91bmQsIGZvcmVncm91bmQsIG91dGxpbmVdKQogICAgICAgICAgICAgICAgICAgICAp
CiAgICAgICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCiAgICAgICAgICAgICAgICAgICAg
ICAgKG9mZnNldEZyb21SZW5kZXJlciB3aWR0aD0xIGhlaWdodD0xKQogICAgICAgICAgICAgICAg
ICAgICAgIChib3VuZHMgMzA1LjAwIDEwMjAuMDApCiAgICAgICAgICAgICAgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQotICAgICAgICAgICAgICAgICAgICAgIChwYWludGluZ1BoYXNlcyBbZm9y
ZWdyb3VuZCwgb3ZlcmZsb3ctY29udGVudHNdKQorICAgICAgICAgICAgICAgICAgICAgIChwYWlu
dGluZ1BoYXNlcyBbZm9yZWdyb3VuZCwgb3ZlcmZsb3ctY29udGVudHMsIG91dGxpbmVdKQogICAg
ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg
KQpAQCAtNTEsMTkgKzUxLDE5IEBAIFNjcm9sbGVkIGNvbnRlbnRzCiAgICAgICAgICAgICAgICAg
ICAocG9zaXRpb24gMC4wMCAzMDUuMDApCiAgICAgICAgICAgICAgICAgICAoYm91bmRzIDMwNS4w
MCAxNS4wMCkKICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAg
ICAgICAgIChwYWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgZm9yZWdyb3VuZF0pCisgICAgICAg
ICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmQsIG91dGxp
bmVdKQogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgog
ICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDMwNS4wMCAwLjAwKQogICAgICAgICAgICAgICAg
ICAgKGJvdW5kcyAxNS4wMCAzMDUuMDApCiAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCi0gICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIGZvcmVn
cm91bmRdKQorICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBm
b3JlZ3JvdW5kLCBvdXRsaW5lXSkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAzMDUuMDAgMzA1LjAw
KQogICAgICAgICAgICAgICAgICAgKGJvdW5kcyAxNS4wMCAxNS4wMCkKICAgICAgICAgICAgICAg
ICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAgICAgICAgIChwYWludGluZ1BoYXNlcyBb
YmFja2dyb3VuZCwgZm9yZWdyb3VuZF0pCisgICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFz
ZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmQsIG91dGxpbmVdKQogICAgICAgICAgICAgICAgICkK
ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9pbnNldC1vdXRs
aW5lLW92ZXJsYXBzLXNjcm9sbC11aS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvc2Nyb2xsaW5nL2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9pbnNldC1vdXRsaW5lLW92
ZXJsYXBzLXNjcm9sbC11aS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1OGIxOWIzZWE2MjIx
M2ZkODhlZGI2OGVkMTMzY2Q5Y2U2NThjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9zY3JvbGxpbmcvYXN5bmMtb3ZlcmZsb3ctc2Nyb2xsaW5nL2luc2V0LW91
dGxpbmUtb3ZlcmxhcHMtc2Nyb2xsLXVpLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgQXN5bmNPdmVyZmxvd1Nj
cm9sbGluZ0VuYWJsZWQ9dHJ1ZSBdIC0tPgorPHRpdGxlPkluc2V0IG91dGxpbmUgd2l0aCBhc3lu
YyBzY3JvbGxpbmcgKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0eWxlPgorI2JveCB7CisgIHdpZHRo
OiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0
eWxlPgorPGRpdiBpZD0iYm94Ij4KKzwvZGl2PgorPHA+VGhpcyBzaG91bGQgZGlzcGxheSBhIDEw
MHgxMDBweCBncmVlbiBzcXVhcmUsIG5vIHJlZCBzaG91bGQgYmUgdmlzaWJsZSwgbm8gc2Nyb2xs
YmFycyBzaG91bGQgYmUgdmlzaWJsZTwvcD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3Njcm9sbGluZy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvaW5zZXQtb3V0bGluZS1v
dmVybGFwcy1zY3JvbGwtdWkuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Njcm9sbGlu
Zy9hc3luYy1vdmVyZmxvdy1zY3JvbGxpbmcvaW5zZXQtb3V0bGluZS1vdmVybGFwcy1zY3JvbGwt
dWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41YmIxODgxZGQ1YmNkYTJhNmNjZjMwMjJlZGYyMTQzNzc0MWFk
NmNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvc2Nyb2xsaW5n
L2FzeW5jLW92ZXJmbG93LXNjcm9sbGluZy9pbnNldC1vdXRsaW5lLW92ZXJsYXBzLXNjcm9sbC11
aS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIEFzeW5jT3ZlcmZsb3dTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzx0aXRs
ZT5JbnNldCBvdXRsaW5lIHdpdGggYXN5bmMgc2Nyb2xsaW5nPC90aXRsZT4KKzxzdHlsZT4KK3Ag
eworICBwYWRkaW5nLXRvcDogMjBweDsKK30KKyNjb250YWluZXIgeworICBwb3NpdGlvbjogcmVs
YXRpdmU7CisgIHRvcDogMTBweDsKKyAgbGVmdDogMTBweDsKKyAgd2lkdGg6IDgwcHg7CisgIGhl
aWdodDogODBweDsKKyAgYmFja2dyb3VuZDogcmVkOworICBvdmVyZmxvdzogc2Nyb2xsOworICBv
dXRsaW5lOiBzb2xpZCAzMHB4IGdyZWVuOworICBvdXRsaW5lLW9mZnNldDogLTIwcHg7Cit9Cisj
Y2hpbGQgeworICBwb3NpdGlvbjogcmVsYXRpdmU7CisgIGhlaWdodDogMTAwMHB4OworICBiYWNr
Z3JvdW5kOiBncmVlbjsKKyAgbWFyZ2luOiAxMHB4OworfQorOjotd2Via2l0LXNjcm9sbGJhciB7
CisgIHdpZHRoOiAxMHB4OworfQorPC9zdHlsZT4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIDxk
aXYgaWQ9ImJhbm5lciI+PC9kaXY+CisgIDxkaXYgaWQ9ImNoaWxkIj48L2Rpdj4KKzwvZGl2Pgor
PHA+VGhpcyBzaG91bGQgZGlzcGxheSBhIDEwMHgxMDBweCBncmVlbiBzcXVhcmUsIG5vIHJlZCBz
aG91bGQgYmUgdmlzaWJsZSwgbm8gc2Nyb2xsYmFycyBzaG91bGQgYmUgdmlzaWJsZTwvcD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvc3RhY2tpbmctY29udGV4dC1jb21wb3NpdGVkLXNjcm9sbGVyLXdpdGgtZm9yZWdyb3VuZC1w
YWludC1waGFzZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9j
b21wb3NpdGluZy9vdmVyZmxvdy9zdGFja2luZy1jb250ZXh0LWNvbXBvc2l0ZWQtc2Nyb2xsZXIt
d2l0aC1mb3JlZ3JvdW5kLXBhaW50LXBoYXNlcy1leHBlY3RlZC50eHQKaW5kZXggZTU4MDg2NGM3
ZGQ3YWVkM2QwZmU4N2NmZTg5YTRlMmZkYWM4NWRhOS4uN2QwMmMzMDM0NDMxNWIwNmNlYTAwZDA1
MDFmOGEzZDIyYzNkNmNlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9jb21wb3NpdGluZy9vdmVyZmxvdy9zdGFja2luZy1jb250ZXh0LWNvbXBvc2l0ZWQtc2Nyb2xs
ZXItd2l0aC1mb3JlZ3JvdW5kLXBhaW50LXBoYXNlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9jb21wb3NpdGluZy9vdmVyZmxvdy9zdGFja2luZy1jb250
ZXh0LWNvbXBvc2l0ZWQtc2Nyb2xsZXItd2l0aC1mb3JlZ3JvdW5kLXBhaW50LXBoYXNlcy1leHBl
Y3RlZC50eHQKQEAgLTIsMTggKzIsMTggQEAgU2Nyb2xsZWQgY29udGVudHMKIChHcmFwaGljc0xh
eWVyCiAgIChhbmNob3IgMC4wMCAwLjAwKQogICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCi0gIChw
YWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgZm9yZWdyb3VuZF0pCisgIChwYWludGluZ1BoYXNl
cyBbYmFja2dyb3VuZCwgZm9yZWdyb3VuZCwgb3V0bGluZV0pCiAgIChjaGlsZHJlbiAxCiAgICAg
KEdyYXBoaWNzTGF5ZXIKICAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKICAgICAgIChjb250
ZW50c09wYXF1ZSAxKQotICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBmb3JlZ3Jv
dW5kXSkKKyAgICAgIChwYWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgZm9yZWdyb3VuZCwgb3V0
bGluZV0pCiAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAg
ICAgIChwb3NpdGlvbiA4LjAwIDguMDApCiAgICAgICAgICAgKGJvdW5kcyAzMjIuMDAgMzIyLjAw
KQogICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAocGFpbnRpbmdQaGFzZXMg
W2JhY2tncm91bmQsIGNvbXBvc2l0ZWQtc2Nyb2xsXSkKKyAgICAgICAgICAocGFpbnRpbmdQaGFz
ZXMgW2JhY2tncm91bmQsIGNvbXBvc2l0ZWQtc2Nyb2xsLCBvdXRsaW5lXSkKICAgICAgICAgICAo
Y2hpbGRyZW4gMQogICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgKG9m
ZnNldEZyb21SZW5kZXJlciB3aWR0aD0xIGhlaWdodD0xKQpAQCAtMzEsMTMgKzMxLDEzIEBAIFNj
cm9sbGVkIGNvbnRlbnRzCiAgICAgICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDMwLjAwIDUw
LjAwKQogICAgICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKICAgICAg
ICAgICAgICAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKLSAgICAgICAgICAgICAgICAgICAg
ICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmRdKQorICAgICAgICAgICAg
ICAgICAgICAgIChwYWludGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgZm9yZWdyb3VuZCwgb3V0bGlu
ZV0pCiAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKICAgICAgICAgICAgICAgICAgICAgICAob2Zmc2V0RnJvbVJlbmRlcmVyIHdpZHRoPTEg
aGVpZ2h0PTEpCiAgICAgICAgICAgICAgICAgICAgICAgKGJvdW5kcyAzMjAuMDAgMTAyMC4wMCkK
ICAgICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCi0gICAgICAgICAgICAgICAg
ICAgICAgKHBhaW50aW5nUGhhc2VzIFtmb3JlZ3JvdW5kLCBvdmVyZmxvdy1jb250ZW50c10pCisg
ICAgICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtmb3JlZ3JvdW5kLCBvdmVyZmxv
dy1jb250ZW50cywgb3V0bGluZV0pCiAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAg
ICAgICAgICkKICAgICAgICAgICAgICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2NvbXBvc2l0aW5nL292ZXJmbG93L3N0YWNraW5nLWNvbnRleHQtY29tcG9z
aXRlZC1zY3JvbGxlci13aXRoLWZvcmVncm91bmQtcGFpbnQtcGhhc2VzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvY29tcG9zaXRpbmcvb3ZlcmZsb3cvc3RhY2tp
bmctY29udGV4dC1jb21wb3NpdGVkLXNjcm9sbGVyLXdpdGgtZm9yZWdyb3VuZC1wYWludC1waGFz
ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDVlZmM3NTI0OWUzN2VhMTFjOTQ2ZTJlM2ZlYWNhN2Y0YWE1
N2VhZGUuLmYyOWZmOGE5NmY0NzQxYzRiMGZiYjljOGYyOTEzN2JlYTQyMTMzM2QgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvY29tcG9zaXRpbmcvb3ZlcmZsb3cvc3Rh
Y2tpbmctY29udGV4dC1jb21wb3NpdGVkLXNjcm9sbGVyLXdpdGgtZm9yZWdyb3VuZC1wYWludC1w
aGFzZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvc3RhY2tpbmctY29udGV4dC1jb21wb3NpdGVkLXNjcm9sbGVyLXdp
dGgtZm9yZWdyb3VuZC1wYWludC1waGFzZXMtZXhwZWN0ZWQudHh0CkBAIC0yLDM2ICsyLDM2IEBA
IFNjcm9sbGVkIGNvbnRlbnRzCiAoR3JhcGhpY3NMYXllcgogICAoYW5jaG9yIDAuMDAgMC4wMCkK
ICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQotICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQs
IGZvcmVncm91bmRdKQorICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmQs
IG91dGxpbmVdKQogICAoY2hpbGRyZW4gMQogICAgIChHcmFwaGljc0xheWVyCiAgICAgICAoYm91
bmRzIDgwMC4wMCA2MDAuMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKLSAgICAgIChwYWlu
dGluZ1BoYXNlcyBbYmFja2dyb3VuZCwgZm9yZWdyb3VuZF0pCisgICAgICAocGFpbnRpbmdQaGFz
ZXMgW2JhY2tncm91bmQsIGZvcmVncm91bmQsIG91dGxpbmVdKQogICAgICAgKGNoaWxkcmVuIDEK
ICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQog
ICAgICAgICAgIChib3VuZHMgMzIyLjAwIDMyMi4wMCkKICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCi0gICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kXSkKKyAgICAgICAgICAo
cGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIG91dGxpbmVdKQogICAgICAgICAgIChjaGlsZHJl
biAxCiAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgogICAgICAgICAgICAgICAob2Zmc2V0RnJv
bVJlbmRlcmVyIHdpZHRoPTEgaGVpZ2h0PTEpCiAgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAw
IDEuMDApCiAgICAgICAgICAgICAgIChib3VuZHMgMzA1LjAwIDMwNS4wMCkKLSAgICAgICAgICAg
ICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBmb3JlZ3JvdW5kXSkKKyAgICAgICAgICAg
ICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5kLCBmb3JlZ3JvdW5kLCBvdXRsaW5lXSkKICAg
ICAgICAgICAgICAgKGNoaWxkcmVuIDIKICAgICAgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgog
ICAgICAgICAgICAgICAgICAgKHBvc2l0aW9uIDMwLjAwIDUwLjAwKQogICAgICAgICAgICAgICAg
ICAgKGJvdW5kcyAxMDAuMDAgMTAwLjAwKQogICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzT3Bh
cXVlIDEpCi0gICAgICAgICAgICAgICAgICAocGFpbnRpbmdQaGFzZXMgW2JhY2tncm91bmQsIGZv
cmVncm91bmRdKQorICAgICAgICAgICAgICAgICAgKHBhaW50aW5nUGhhc2VzIFtiYWNrZ3JvdW5k
LCBmb3JlZ3JvdW5kLCBvdXRsaW5lXSkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKICAgICAgICAgICAgICAgICAgIChvZmZzZXRGcm9tUmVuZGVyZXIg
d2lkdGg9MSBoZWlnaHQ9MSkKICAgICAgICAgICAgICAgICAgIChib3VuZHMgMzA1LjAwIDMwNS4w
MCkKICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKLSAgICAgICAgICAgICAgICAg
IChwYWludGluZ1BoYXNlcyBbZm9yZWdyb3VuZF0pCisgICAgICAgICAgICAgICAgICAocGFpbnRp
bmdQaGFzZXMgW2ZvcmVncm91bmQsIG91dGxpbmVdKQogICAgICAgICAgICAgICAgICkKICAgICAg
ICAgICAgICAgKQogICAgICAgICAgICAgKQo=
</data>
<flag name="review"
          id="453863"
          type_id="1"
          status="?"
          setter="clord"
    />
          </attachment>
      

    </bug>

</bugzilla>