<?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>224917</bug_id>
          
          <creation_ts>2021-04-21 22:36:06 -0700</creation_ts>
          <short_desc>Changing the source of a model element with clipping applied does not update the model</short_desc>
          <delta_ts>2021-04-24 19:13:15 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1753048</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-21 22:36:06 -0700</bug_when>
    <thetext>Changing the source of a model element with clipping applied does not update the model</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753049</commentid>
    <comment_count>1</comment_count>
      <attachid>426775</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-21 22:38:03 -0700</bug_when>
    <thetext>Created attachment 426775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753050</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-21 22:38:58 -0700</bug_when>
    <thetext>Not for review yet, I&apos;m not sure this is right at all (and haven&apos;t even written an explanation). Mostly just want EWS to run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753052</commentid>
    <comment_count>3</comment_count>
      <attachid>426775</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-21 22:46:50 -0700</bug_when>
    <thetext>Comment on attachment 426775
Patch

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

&gt; LayoutTests/model-element/model-element-graphics-layers-change-when-clipped-expected.txt:30
&gt; +          (bounds 0.00 0.00)

This seems bad. I think Antoine noticed this, need to check what his fix was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753336</commentid>
    <comment_count>4</comment_count>
      <attachid>426859</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-22 16:06:21 -0700</bug_when>
    <thetext>Created attachment 426859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753353</commentid>
    <comment_count>5</comment_count>
      <attachid>426864</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-22 16:34:54 -0700</bug_when>
    <thetext>Created attachment 426864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753355</commentid>
    <comment_count>6</comment_count>
      <attachid>426864</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-22 16:40:29 -0700</bug_when>
    <thetext>Comment on attachment 426864
Patch

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

&gt; Source/WebCore/platform/graphics/GraphicsLayerClient.h:94
&gt;      IncludeOpacity = 1 &lt;&lt; 2,
&gt; +    IncludeModels = 1 &lt;&lt; 3,

I regret the IncludeOpacity. Let&apos;s remove it and this new one and always include them if they are not the default.

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:1247
&gt; +    noteLayerPropertyChanged(ContentsRectsChanged);
&gt;      noteLayerPropertyChanged(OpacityChanged);

These can be noteLayerPropertyChanged(ContentsRectsChanged | OpacityChanged).

Side question. Why is tsetContentsToModel() is so different from  setContentsToImage() which uses a noteLayerPropertyChanged(ContentsImageChanged) and then creates the platform layer in GraphicsLayerCA::updateContentsImage()?

&gt; LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html:7
&gt; +&lt;pre id=&quot;layers&quot;&gt;&lt;/pre&gt;

Nice &lt;/pre&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753358</commentid>
    <comment_count>7</comment_count>
      <attachid>426864</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-22 16:47:43 -0700</bug_when>
    <thetext>Comment on attachment 426864
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/GraphicsLayerClient.h:94
&gt;&gt; +    IncludeModels = 1 &lt;&lt; 3,
&gt; 
&gt; I regret the IncludeOpacity. Let&apos;s remove it and this new one and always include them if they are not the default.

I agree for IncludeOpacity. IncludeModels is more useful because otherwise any test that has models *at all* requires separate results for RemoteLayerTree vs. not, even if it doesn&apos;t care about the model size.

I&apos;ll remove IncludeOpacity.

&gt;&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:1247
&gt;&gt;      noteLayerPropertyChanged(OpacityChanged);
&gt; 
&gt; These can be noteLayerPropertyChanged(ContentsRectsChanged | OpacityChanged).
&gt; 
&gt; Side question. Why is tsetContentsToModel() is so different from  setContentsToImage() which uses a noteLayerPropertyChanged(ContentsImageChanged) and then creates the platform layer in GraphicsLayerCA::updateContentsImage()?

We don&apos;t currently have a way to set a model on a PlatformCALayer, only create a PlatformCALayer with a model, so we re-create the platform layer every time. That&apos;s why they look so different.

This was done in order to keep knowledge of model off of PlatformCALayer proper, which might have been a mistake, but we don&apos;t need to change it right now. I also don&apos;t think it&apos;s a big cost.

&gt;&gt; LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html:7
&gt;&gt; +&lt;pre id=&quot;layers&quot;&gt;&lt;/pre&gt;
&gt; 
&gt; Nice &lt;/pre&gt;.

You joke, but it was wrong in this patch until yesterday :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753364</commentid>
    <comment_count>8</comment_count>
      <attachid>426866</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-22 17:02:06 -0700</bug_when>
    <thetext>Created attachment 426866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753391</commentid>
    <comment_count>9</comment_count>
      <attachid>426873</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-22 17:21:56 -0700</bug_when>
    <thetext>Created attachment 426873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753409</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-22 17:52:57 -0700</bug_when>
    <thetext>(In reply to Tim Horton from comment #7)
&gt; Comment on attachment 426864 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=426864&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/graphics/GraphicsLayerClient.h:94
&gt; &gt;&gt; +    IncludeModels = 1 &lt;&lt; 3,
&gt; &gt; 
&gt; &gt; I regret the IncludeOpacity. Let&apos;s remove it and this new one and always include them if they are not the default.
&gt; 
&gt; I agree for IncludeOpacity. IncludeModels is more useful because otherwise
&gt; any test that has models *at all* requires separate results for
&gt; RemoteLayerTree vs. not, even if it doesn&apos;t care about the model size.
&gt; 

Why is that? Can&apos;t we dump the size in both cases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753410</commentid>
    <comment_count>11</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-22 17:55:28 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #10)
&gt; (In reply to Tim Horton from comment #7)
&gt; &gt; Comment on attachment 426864 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=426864&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/platform/graphics/GraphicsLayerClient.h:94
&gt; &gt; &gt;&gt; +    IncludeModels = 1 &lt;&lt; 3,
&gt; &gt; &gt; 
&gt; &gt; &gt; I regret the IncludeOpacity. Let&apos;s remove it and this new one and always include them if they are not the default.
&gt; &gt; 
&gt; &gt; I agree for IncludeOpacity. IncludeModels is more useful because otherwise
&gt; &gt; any test that has models *at all* requires separate results for
&gt; &gt; RemoteLayerTree vs. not, even if it doesn&apos;t care about the model size.
&gt; &gt; 
&gt; 
&gt; Why is that? Can&apos;t we dump the size in both cases?

No, because only PlatformCALayerRemoteModelHosting even hangs on to the model; currently in the non-UI-side-compositing case we just end up with a plain-old PlatformCALayer (which doesn&apos;t know about models, again, because of review comments in the original patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753411</commentid>
    <comment_count>12</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-04-22 17:55:44 -0700</bug_when>
    <thetext>&gt; &gt;&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:1247
&gt; &gt;&gt;      noteLayerPropertyChanged(OpacityChanged);
&gt; &gt; 
&gt; &gt; These can be noteLayerPropertyChanged(ContentsRectsChanged | OpacityChanged).
&gt; &gt; 
&gt; &gt; Side question. Why is tsetContentsToModel() is so different from  setContentsToImage() which uses a noteLayerPropertyChanged(ContentsImageChanged) and then creates the platform layer in GraphicsLayerCA::updateContentsImage()?
&gt; 
&gt; We don&apos;t currently have a way to set a model on a PlatformCALayer, only
&gt; create a PlatformCALayer with a model, so we re-create the platform layer
&gt; every time. That&apos;s why they look so different.
&gt; 
&gt; This was done in order to keep knowledge of model off of PlatformCALayer
&gt; proper, which might have been a mistake, but we don&apos;t need to change it
&gt; right now. I also don&apos;t think it&apos;s a big cost.
&gt; 

Sorry, I am not following this. updateContentsImage() creates the m_contentsLayer in some cases? Couldn&apos;t we do the same with a updateContentsModel() but just do it unconditionally if the model had changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753417</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-04-22 18:04:56 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #12)
&gt; &gt; &gt;&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:1247
&gt; &gt; &gt;&gt;      noteLayerPropertyChanged(OpacityChanged);
&gt; &gt; &gt; 
&gt; &gt; &gt; These can be noteLayerPropertyChanged(ContentsRectsChanged | OpacityChanged).
&gt; &gt; &gt; 
&gt; &gt; &gt; Side question. Why is tsetContentsToModel() is so different from  setContentsToImage() which uses a noteLayerPropertyChanged(ContentsImageChanged) and then creates the platform layer in GraphicsLayerCA::updateContentsImage()?
&gt; &gt; 
&gt; &gt; We don&apos;t currently have a way to set a model on a PlatformCALayer, only
&gt; &gt; create a PlatformCALayer with a model, so we re-create the platform layer
&gt; &gt; every time. That&apos;s why they look so different.
&gt; &gt; 
&gt; &gt; This was done in order to keep knowledge of model off of PlatformCALayer
&gt; &gt; proper, which might have been a mistake, but we don&apos;t need to change it
&gt; &gt; right now. I also don&apos;t think it&apos;s a big cost.
&gt; &gt; 
&gt; 
&gt; Sorry, I am not following this. updateContentsImage() creates the
&gt; m_contentsLayer in some cases? Couldn&apos;t we do the same with a
&gt; updateContentsModel() but just do it unconditionally if the model had
&gt; changed?

Oh, sure, we could mimic the flow of the others /except/ for the in-place update, if we wanted. But deferring the change to flush time like updateContentsImage() isn&apos;t necessary if you&apos;re never going to touch the live layer (setContentsToModel never touches the live layer, just makes changes that will get applied at flush time).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753979</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-24 19:12:17 -0700</bug_when>
    <thetext>Committed r276562 (236998@main): &lt;https://commits.webkit.org/236998@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426873.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753980</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-24 19:13:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/77112389&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426775</attachid>
            <date>2021-04-21 22:38:03 -0700</date>
            <delta_ts>2021-04-22 16:06:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224917-20210421223802.patch</filename>
            <type>text/plain</type>
            <size>18386</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk4MmQ4NDA5Zjk3NjEx
ZGIxODY2ODRlYWQ1NDgwYjIwOTVmMTQ1NC4uZDZlYWMwNTg0OWNmYWFhYzQ3ZDM4NmM2ZmI2MDll
NmFlNjI5NGJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTIxICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRo
ZSBzb3VyY2Ugb2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5v
dCB1cGRhdGUgdGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtZ3JhcGhpY3MtbGF5
ZXJzLWNoYW5nZS13aGVuLWNsaXBwZWQuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJDQTo6c2V0Q29udGVudHNUb1BsYXRmb3JtTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjpjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZVN1YmxheWVyTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ0E6OmR1bXBJbm5lckxheWVyIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1DQUxheWVyOjpkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oOgorCiAyMDIxLTA0LTIxICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIHdpbGwtY2hhbmdlOiB0
cmFuc2Zvcm0gc2hvdWxkIGFmZmVjdCBuZXN0ZWQgcG9zaXRpb246Zml4ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MDY2MDgwMjUwNmJiNzM2YWI5MGY0OTNmOTI2NGNjYjE0ZTRmZTFiOS4uZDNjNDM5NmVkYzExODQ4
ZWY1NTgzMDdmN2ZjMmQ4NWU3YTExYWExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
MS0wNC0yMSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAg
ICBDaGFuZ2luZyB0aGUgc291cmNlIG9mIGEgbW9kZWwgZWxlbWVudCB3aXRoIGNsaXBwaW5nIGFw
cGxpZWQgZG9lcyBub3QgdXBkYXRlIHRoZSBtb2RlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJU
cmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxI
b3N0aW5nLm1tOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhv
c3Rpbmc6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyk6CisKIDIwMjEtMDQtMjEgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93dXAgY2hh
bmdlIHRvIGJ1ZyAyMjQ3NzkgYmFzZWQgb24gcG9zdC1sYW5kIHJldmlldyBjb21tZW50LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5
ZXJDQS5jcHAKaW5kZXggMGFjY2MzOTFmY2JmYjI5NTUyMTMyZTkxZGM2Y2UzOTI3NzEyZDE0NC4u
NmFlNTRkZWRhMDA2NWMyNGEwYTIzOWY1OTk4MWUwN2Y3NGE4MzdhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3Bw
CkBAIC0xMjUyLDkgKzEyNTIsNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNU
b1BsYXRmb3JtTGF5ZXIoUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllciwgQwogICAgIGlmICht
X2NvbnRlbnRzTGF5ZXIgJiYgcGxhdGZvcm1MYXllciA9PSBtX2NvbnRlbnRzTGF5ZXItPnBsYXRm
b3JtTGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKG1fY29udGVudHNDbGlwcGlu
Z0xheWVyICYmIG1fY29udGVudHNMYXllcikKLSAgICAgICAgbV9jb250ZW50c0xheWVyLT5yZW1v
dmVGcm9tU3VwZXJsYXllcigpOwotCiAgICAgLy8gRklYTUU6IFRoZSBwYXNzZWQgaW4gbGF5ZXIg
bWlnaHQgYmUgYSByYXcgbGF5ZXIgb3IgYW4gZXh0ZXJuYWxseSBjcmVhdGVkCiAgICAgLy8gUGxh
dGZvcm1DQUxheWVyLiBUbyBkZXRlcm1pbmUgdGhpcyB3ZSBhdHRlbXB0IHRvIGdldCB0aGUKICAg
ICAvLyBQbGF0Zm9ybUNBTGF5ZXIgcG9pbnRlci4gSWYgdGhpcyByZXR1cm5zIGEgbnVsbCBwb2lu
dGVyIHdlIGFzc3VtZSBpdCdzCkBAIC0xMjczLDkgKzEyNzAsNiBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXJDQTo6c2V0Q29udGVudHNUb1BsYXRmb3JtTGF5ZXIoUGxhdGZvcm1MYXllciogcGxhdGZvcm1M
YXllciwgQwogCiAgICAgbV9jb250ZW50c0xheWVyUHVycG9zZSA9IHBsYXRmb3JtTGF5ZXIgPyBw
dXJwb3NlIDogQ29udGVudHNMYXllclB1cnBvc2U6Ok5vbmU7CiAKLSAgICBpZiAobV9jb250ZW50
c0NsaXBwaW5nTGF5ZXIgJiYgbV9jb250ZW50c0xheWVyKQotICAgICAgICBtX2NvbnRlbnRzQ2xp
cHBpbmdMYXllci0+YXBwZW5kU3VibGF5ZXIoKm1fY29udGVudHNMYXllcik7Ci0KICAgICBub3Rl
U3VibGF5ZXJzQ2hhbmdlZCgpOwogICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50
c1BsYXRmb3JtTGF5ZXJDaGFuZ2VkKTsKIH0KQEAgLTIwMTYsNiArMjAxMCwyMyBAQCB2b2lkIEdy
YXBoaWNzTGF5ZXJDQTo6dXBkYXRlTmFtZXMoKQogICAgIG1fbGF5ZXItPnNldE5hbWUobmFtZSk7
CiB9CiAKK2Jvb2wgR3JhcGhpY3NMYXllckNBOjpjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbigp
Cit7CisgICAgaWYgKCFtX2NvbnRlbnRzQ2xpcHBpbmdMYXllcikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgaWYgKG1fY29udGVudHNSZWN0Q2xpcHNEZXNjZW5kYW50cykKKyAgICAgICAg
cmV0dXJuIHRydWU7CisKKyAgICBpZiAobV9jb250ZW50c0xheWVyUHVycG9zZSA9PSBDb250ZW50
c0xheWVyUHVycG9zZTo6Tm9uZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gV2Ug
ZG9uJ3QgdXNlIHRoZSBjbGlwcGluZyBsYXllciB0byBtYXNrIG1lZGlhIGNvbnRlbnRzIGxheWVy
cyBkaXJlY3RseSwgaW4gb3JkZXIgdG8KKyAgICAvLyBhdm9pZCBjbGlwcGluZyB0aGUgbWVkaWEg
Y29udHJvbHMuIEluc3RlYWQsIHRoZSBtZWRpYSBpdHNlbGYgaXMgY2xpcHBlZC4uLiAoaG93Pz8p
CisgICAgcmV0dXJuIG1fY29udGVudHNMYXllclB1cnBvc2UgIT0gQ29udGVudHNMYXllclB1cnBv
c2U6Ok1lZGlhOworfQorCisKIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVTdWJsYXllckxp
c3QoYm9vbCBtYXhMYXllckRlcHRoUmVhY2hlZCkKIHsKICAgICBpZiAobWF4TGF5ZXJEZXB0aFJl
YWNoZWQpIHsKQEAgLTIwMzMsMTcgKzIwNDQsMTQgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVw
ZGF0ZVN1YmxheWVyTGlzdChib29sIG1heExheWVyRGVwdGhSZWFjaGVkKQogICAgICAgICBsaXN0
LmFwcGVuZChtX2xheWVyKTsKICAgICB9OwogCi0gICAgYXV0byBhcHBlbmRDbGlwcGluZ0xheWVy
cyA9IFsmXShQbGF0Zm9ybUNBTGF5ZXJMaXN0JiBsaXN0KSB7Ci0gICAgICAgIGlmICghbV9jb250
ZW50c1Zpc2libGUpCi0gICAgICAgICAgICByZXR1cm47CisgICAgYXV0byBhcHBlbmRDb250ZW50
c0xheWVyID0gWyZdKFBsYXRmb3JtQ0FMYXllckxpc3QmIGxpc3QpIHsKKyAgICAgICAgaWYgKG1f
Y29udGVudHNWaXNpYmxlICYmIG1fY29udGVudHNMYXllcikKKyAgICAgICAgICAgIGxpc3QuYXBw
ZW5kKG1fY29udGVudHNMYXllcik7CisgICAgfTsKIAotICAgICAgICBpZiAobV9jb250ZW50c0Ns
aXBwaW5nTGF5ZXIpIHsKKyAgICBhdXRvIGFwcGVuZENsaXBwaW5nTGF5ZXJzID0gWyZdKFBsYXRm
b3JtQ0FMYXllckxpc3QmIGxpc3QpIHsKKyAgICAgICAgaWYgKG1fY29udGVudHNWaXNpYmxlICYm
IG1fY29udGVudHNDbGlwcGluZ0xheWVyKQogICAgICAgICAgICAgbGlzdC5hcHBlbmQobV9jb250
ZW50c0NsaXBwaW5nTGF5ZXIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAg
ICAgICAgaWYgKG1fY29udGVudHNMYXllcikKLSAgICAgICAgICAgIGxpc3QuYXBwZW5kKG1fY29u
dGVudHNMYXllcik7CiAgICAgfTsKIAogICAgIGF1dG8gYXBwZW5kQ3VzdG9tQW5kQ2xpcHBpbmdM
YXllcnMgPSBbJl0oUGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgewpAQCAtMjA3MSw2ICsyMDc5
LDcgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZVN1YmxheWVyTGlzdChib29sIG1heExh
eWVyRGVwdGhSZWFjaGVkKQogICAgIH07CiAKICAgICBhdXRvIGJ1aWxkQ2hpbGRMYXllckxpc3Qg
PSBbJl0oUGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgeworICAgICAgICBhcHBlbmRDb250ZW50
c0xheWVyKGxpc3QpOwogICAgICAgICBhcHBlbmRMYXllcnNGcm9tQ2hpbGRyZW4obGlzdCk7CiAg
ICAgICAgIGFwcGVuZERlYnVnTGF5ZXJzKGxpc3QpOwogICAgIH07CkBAIC0yMDc4LDcgKzIwODcs
NyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJMaXN0KGJvb2wgbWF4TGF5
ZXJEZXB0aFJlYWNoZWQpCiAgICAgUGxhdGZvcm1DQUxheWVyTGlzdCBwcmltYXJ5TGF5ZXJDaGls
ZHJlbjsKICAgICBhcHBlbmRDdXN0b21BbmRDbGlwcGluZ0xheWVycyhwcmltYXJ5TGF5ZXJDaGls
ZHJlbik7CiAKLSAgICBib29sIGNsaXBwaW5nTGF5ZXJIb3N0c0NoaWxkcmVuID0gbV9jb250ZW50
c1JlY3RDbGlwc0Rlc2NlbmRhbnRzICYmIG1fY29udGVudHNDbGlwcGluZ0xheWVyOworICAgIGJv
b2wgY2xpcHBpbmdMYXllckhvc3RzQ2hpbGRyZW4gPSB0aGlzLT5jbGlwcGluZ0xheWVySG9zdHND
aGlsZHJlbigpOwogICAgIGlmIChjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbikgewogICAgICAg
ICBQbGF0Zm9ybUNBTGF5ZXJMaXN0IGNsaXBwaW5nQ2hpbGRyZW47CiAgICAgICAgIGJ1aWxkQ2hp
bGRMYXllckxpc3QoY2xpcHBpbmdDaGlsZHJlbik7CkBAIC0zOTkwLDYgKzM5OTksOCBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6ZHVtcElubmVyTGF5ZXIoVGV4dFN0cmVhbSYgdHMsIFBsYXRmb3Jt
Q0FMYXllciogbGF5ZXIsIE9wdAogICAgICAgICBpZiAobGF5ZXItPmlzSGlkZGVuKCkpCiAgICAg
ICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIihoaWRkZW4pXG4iOwogCisgICAgICAgIGxheWVyLT5k
dW1wQWRkaXRpb25hbFByb3BlcnRpZXModHMsIGZsYWdzKTsKKwogICAgICAgICBpZiAoIWZsYWdz
LmNvbnRhaW5zKFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M6Oklnbm9yZUNoaWxkcmVuKSkg
ewogICAgICAgICAgICAgYXV0byBzdWJsYXllcnMgPSBsYXllci0+c3VibGF5ZXJzRm9yTG9nZ2lu
ZygpOwogICAgICAgICAgICAgaWYgKHN1YmxheWVycy5zaXplKCkpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKaW5kZXgg
Y2ViOGI3MTcxMjA3MmM2YjE2NjcxZDAyOTlkNDc2ZDgzOGVhNjE5OC4uODVlZmU5ZDEwMWEwYTdk
NGE1MjU2YTU0YjY5NTYwZWQ2ZGJmMTQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmgKQEAgLTU4MCw2ICs1ODAsOCBA
QCBwcml2YXRlOgogICAgIHZvaWQgcHJvcGFnYXRlTGF5ZXJDaGFuZ2VUb1JlcGxpY2FzKFNjaGVk
dWxlRmx1c2hPck5vdCA9IFNjaGVkdWxlRmx1c2gpOwogCiAgICAgdm9pZCByZXBhaW50TGF5ZXJE
aXJ0eVJlY3RzKCk7CisgICAgCisgICAgYm9vbCBjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbigp
OwogCiAgICAgTGF5ZXJDaGFuZ2VGbGFncyBtX3VuY29tbWl0dGVkQ2hhbmdlcyB7IDAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1D
QUxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3Jt
Q0FMYXllci5jcHAKaW5kZXggMjZhMDBhMDQ2ODgwM2E4Zjc4OThlOWM2Yjc2NjZmZjI5YTZiNGY2
YS4uMWYzOTJmNTQ3NzM5NGNjM2M3NzVmYTRkMTk4Yzc0MzgyOTJhYTUyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIu
Y3BwCkBAIC0xOTgsNiArMTk4LDEwIEBAIExheWVyUG9vbCYgUGxhdGZvcm1DQUxheWVyOjpsYXll
clBvb2woKQogICAgIHJldHVybiAqc2hhcmVkUG9vbDsKIH0KIAordm9pZCBQbGF0Zm9ybUNBTGF5
ZXI6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyhUZXh0U3RyZWFtJiwgT3B0aW9uU2V0PFBsYXRm
b3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M+KQoreworfQorCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KFRleHRTdHJlYW0mIHRzLCBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZSBsYXllclR5cGUpCiB7
CiAgICAgc3dpdGNoIChsYXllclR5cGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKaW5kZXggZjE2NWU0NDFhZWFkNThl
YzIxODc1YzY3ZDgyZTYzYWEzYjFmNmZkNi4uMDMyODBjMTE3YjllYTVlZGFiYjM2NzU5ZjJkNmE5
NjhhNDEzMTg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTMwMCw2ICszMDAsOCBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIENHUmVjdCBmcmFtZUZvckxheWVyKGNvbnN0IFBsYXRmb3JtTGF5ZXIqKTsKIAogICAg
IHZvaWQgbW92ZVRvTGF5ZXJQb29sKCk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIGR1bXBBZGRp
dGlvbmFsUHJvcGVydGllcyhUZXh0U3RyZWFtJiwgT3B0aW9uU2V0PFBsYXRmb3JtTGF5ZXJUcmVl
QXNUZXh0RmxhZ3M+KTsKIAogcHJvdGVjdGVkOgogICAgIFBsYXRmb3JtQ0FMYXllcihMYXllclR5
cGUsIFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJl
bW90ZU1vZGVsSG9zdGluZy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVt
b3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5oCmluZGV4IDlh
N2UzYWI0YTRkNTIxZmQ3MGM4ZDY1ZDk0NGVjMGM1MmJhNTU4M2UuLjkzMTczYTU0ZmYzZTNiYWZl
NzQ3MjQ0MWEzMDA0YjExYzE2ZTBjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhv
c3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXll
clRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLmgKQEAgLTQyLDYgKzQyLDgg
QEAgcHJpdmF0ZToKICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyPiBjbG9uZShXZWJD
b3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG93bmVyKSBjb25zdCBvdmVycmlkZTsKICAgICAK
ICAgICB2b2lkIHBvcHVsYXRlQ3JlYXRpb25Qcm9wZXJ0aWVzKFJlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uOjpMYXllckNyZWF0aW9uUHJvcGVydGllcyYsIGNvbnN0IFJlbW90ZUxheWVyVHJlZUNv
bnRleHQmLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZSkgb3ZlcnJpZGU7Cisg
ICAgCisgICAgdm9pZCBkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMoVGV4dFN0cmVhbSYsIE9wdGlv
blNldDxQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzPikgZmluYWw7CiAKICAgICBSZWY8TW9k
ZWw+IG1fbW9kZWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0
Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcubW0KaW5kZXggY2YwNDc5ZTY3Y2MyNTM2MjQ3
ZTBlNmNmM2Y0MDM5YjkwZjNjODk5Zi4uZTM2Mzc0MGQzYjhjNDBlZjVjOTdiZmU4ZmM0ZDA4MTIz
YWM5NmI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVt
b3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1D
QUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLm1tCkBAIC02Niw0ICs2Niw5IEBAIHZvaWQgUGxhdGZv
cm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nOjpwb3B1bGF0ZUNyZWF0aW9uUHJvcGVydGllcyhS
ZW1vdGVMYXllclRyCiAgICAgcHJvcGVydGllcy5tb2RlbCA9IG1fbW9kZWwucHRyKCk7CiB9CiAK
K3ZvaWQgUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nOjpkdW1wQWRkaXRpb25hbFBy
b3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIE9wdGlvblNldDxQbGF0Zm9ybUxheWVyVHJlZUFzVGV4
dEZsYWdzPikKK3sKKyAgICB0cyA8PCBpbmRlbnQgPDwgIihtb2RlbCBkYXRhIHNpemUgIiA8PCBt
X21vZGVsLT5kYXRhKCktPnNpemUoKSA8PCAiKVxuIjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNjlkOTJiY2M4ZDcyZDllM2M1MjlmM2I1ZThlYzEyMDFlMjI4MzRiMi4uZDVm
N2FlZDIyMmU4MzAzMjEwYTdlMzM0ZmE0NTY4NzA4ZDg3OTg0NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDIxLTA0LTIxICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5naW5nIHRoZSBzb3VyY2Ugb2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xp
cHBpbmcgYXBwbGllZCBkb2VzIG5vdCB1cGRhdGUgdGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAg
ICAgICogbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1jaGFuZ2Ut
d2hlbi1jbGlwcGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbW9kZWwtZWxlbWVu
dC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1jaGFuZ2Utd2hlbi1jbGlwcGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIG1vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1ncmFwaGljcy1s
YXllcnMtb3BhY2l0eS1leHBlY3RlZC50eHQ6CisgICAgICAgICogbW9kZWwtZWxlbWVudC9yZXNv
dXJjZXMvY3ViZS51c2R6OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RF
eHBlY3RhdGlvbnM6CisKIDIwMjEtMDQtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSBzaG91bGQgYWZmZWN0
IG5lc3RlZCBwb3NpdGlvbjpmaXhlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmU5MjMyNzYwZWIx
MTU3ZDlmMTY2MjdiYzEwNDZkNDNjY2E2MjdlZS4uNzIwMGZkYjdmNTEyNjVmYWNiOTQ2YTUwYWY2
NDBjYTY3ODg0NGU4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMDAsNiArMjAwLDkgQEAgZmFz
dC9oYXJuZXNzL3Vpc2NyaXB0Y29udHJvbGxlciBbIFNraXAgXQogIyBPbmx5IGlPUyBoYXMgYW4g
aW1wbGVtZW50YXRpb24gb2YgVUlTY3JpcHRDb250cm9sbGVyOjpzZW5kRXZlbnRTdHJlYW0oKS4K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcgWyBT
a2lwIF0KIAorIyBUaGlzIHRlc3Qgb25seSB3b3JrcyB3aXRoIFVJLXNpZGUgY29tcG9zaXRpbmcK
K21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1ncmFwaGljcy1sYXllcnMtY2hhbmdlLXdoZW4t
Y2xpcHBlZC5odG1sIFsgU2tpcCBdCisKICMgVGhpcyB0ZXN0IG9ubHkgbWFrZXMgc2Vuc2Ugb24g
TWFjCiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1zdWJ0aXRsZS1yZXNpemUuaHRtbCBbIFNr
aXAgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1l
bnQtZ3JhcGhpY3MtbGF5ZXJzLWNoYW5nZS13aGVuLWNsaXBwZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1jaGFu
Z2Utd2hlbi1jbGlwcGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjlkNDFkYThjNTI1MGU0
MDIwMTgxZDhhMzc0ZTFhZjEwNTE3YmEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1jaGFuZ2Utd2hlbi1j
bGlwcGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3IEBACisgQmVmb3JlIENoYW5naW5nIFNv
dXJjZToKKyhwbGF0Zm9ybSBsYXllcgorICAocG9zaXRpb24gMTU4LjAwIDgzLjAwKQorICAoYm91
bmRzIDMwMC4wMCAxNTAuMDApCisgIChjaGlsZHJlbgorICAgIChjb250ZW50cyBjbGlwcGluZyBs
YXllcgorICAgICAgKHBvc2l0aW9uIDAuMDAgMC4wMCkKKyAgICAgIChib3VuZHMgMzAwLjAwIDE1
MC4wMCkKKyAgICAgIChjaGlsZHJlbgorICAgICAgICAoY29udGVudHMgbGF5ZXIgKG1vZGVsKQor
ICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDAuMDApCisgICAgICAgICAgKGJvdW5kcyAzMDAuMDAg
MTUwLjAwKQorICAgICAgICAgIChtb2RlbCBkYXRhIHNpemUgMzk1MTI2KQorICAgICAgICApCisg
ICAgICApCisgICAgKQorICApCispCitBZnRlciBDaGFuZ2luZyBTb3VyY2U6CisocGxhdGZvcm0g
bGF5ZXIKKyAgKHBvc2l0aW9uIDE1OC4wMCA4My4wMCkKKyAgKGJvdW5kcyAzMDAuMDAgMTUwLjAw
KQorICAoY2hpbGRyZW4KKyAgICAoY29udGVudHMgY2xpcHBpbmcgbGF5ZXIKKyAgICAgIChwb3Np
dGlvbiAwLjAwIDAuMDApCisgICAgICAoYm91bmRzIDMwMC4wMCAxNTAuMDApCisgICAgICAoY2hp
bGRyZW4KKyAgICAgICAgKGNvbnRlbnRzIGxheWVyIChtb2RlbCkKKyAgICAgICAgICAocG9zaXRp
b24gMC4wMCAwLjAwKQorICAgICAgICAgIChib3VuZHMgMC4wMCAwLjAwKQorICAgICAgICAgICht
b2RlbCBkYXRhIHNpemUgMzI0OCkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtZ3Jh
cGhpY3MtbGF5ZXJzLWNoYW5nZS13aGVuLWNsaXBwZWQuaHRtbCBiL0xheW91dFRlc3RzL21vZGVs
LWVsZW1lbnQvbW9kZWwtZWxlbWVudC1ncmFwaGljcy1sYXllcnMtY2hhbmdlLXdoZW4tY2xpcHBl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1YWZlZGI0NDg0MDllOGE4OTBhNjZhMTUzMWQzYWQxMmM5YWZm
ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVs
ZW1lbnQtZ3JhcGhpY3MtbGF5ZXJzLWNoYW5nZS13aGVuLWNsaXBwZWQuaHRtbApAQCAtMCwwICsx
LDQ0IEBACis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIE1vZGVsRWxl
bWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8Ym9keT4KKzxtb2RlbCBpZD0ibW9kZWwi
IHN0eWxlPSJib3JkZXItcmFkaXVzOiA1cHgiPgorICAgIDxzb3VyY2Ugc3JjPSJyZXNvdXJjZXMv
aGVhcnQudXNkeiI+Cis8L21vZGVsPgorPHByZSBpZD0ibGF5ZXJzIj48L3ByZT4KKzxzY3JpcHQ+
CisgICAgbGV0IGxheWVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnMiKTsKKyAg
ICBsZXQgc291cmNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNvdXJjZSIpWzBd
OworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB9IGVs
c2UKKyAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ID0gIlRoaXMgdGVzdCByZXF1aXJlcyB0ZXN0
UnVubmVyLiI7CisKKyAgICBsZXQgbW9kZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9k
ZWwiKTsKKworICAgIG1vZGVsLnJlYWR5LnRoZW4odmFsdWUgPT4geworICAgICAgICBsYXllcnMu
aW5uZXJUZXh0ID0gIkJlZm9yZSBDaGFuZ2luZyBTb3VyY2U6XG4iOworICAgICAgICBsYXllcnMu
aW5uZXJUZXh0ICs9IHdpbmRvdy5pbnRlcm5hbHMucGxhdGZvcm1MYXllclRyZWVBc1RleHQobW9k
ZWwpOworCisgICAgICAgIHNvdXJjZS5zcmMgPSAicmVzb3VyY2VzL2N1YmUudXNkeiI7CisgICAg
ICAgIG1vZGVsLnJlYWR5LnRoZW4odmFsdWUgPT4geworICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgICAgbGF5ZXJzLmlubmVyVGV4dCArPSAiQWZ0ZXIg
Q2hhbmdpbmcgU291cmNlOlxuIjsKKyAgICAgICAgICAgICAgICBsYXllcnMuaW5uZXJUZXh0ICs9
IHdpbmRvdy5pbnRlcm5hbHMucGxhdGZvcm1MYXllclRyZWVBc1RleHQobW9kZWwpOworICAgICAg
ICAgICAgfQorICAgICAgICB9LCByZWFzb24gPT4geworICAgICAgICAgICAgbGF5ZXJzLnRleHRD
b250ZW50ID0gYEZhaWxlZC4gU2Vjb25kIG1vZGVsIGRpZCBub3QgbG9hZDogJHtyZWFzb259YDsK
KyAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7IAorICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAg
ICB9KTsKKyAgICAgICAgCisgICAgfSwgcmVhc29uID0+IHsKKyAgICAgICAgbGF5ZXJzLnRleHRD
b250ZW50ID0gYEZhaWxlZC4gRmlyc3QgbW9kZWwgZGlkIG5vdCBsb2FkOiAke3JlYXNvbn1gOwor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxh
eWVycy1vcGFjaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9k
ZWwtZWxlbWVudC1ncmFwaGljcy1sYXllcnMtb3BhY2l0eS1leHBlY3RlZC50eHQKaW5kZXggYjcy
ZWFmMjZlYTgwNGQ2ZTg5MzBmNzVkNjNiZjk4Zjk1ODU1ZDM0Yi4uNmExZmZhOWU1YzEyNTkxNjI4
MGNjOWIxMmEwMzFiYmVhYmY2NjBiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxl
bWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1vcGFjaXR5LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtZ3JhcGhpY3MtbGF5
ZXJzLW9wYWNpdHktZXhwZWN0ZWQudHh0CkBAIC03LDYgKzcsNyBAQAogICAgICAgKHBvc2l0aW9u
IDAuMDAgMC4wMCkKICAgICAgIChib3VuZHMgMzAwLjAwIDE1MC4wMCkKICAgICAgIChvcGFjaXR5
IDAuNTApCisgICAgICAobW9kZWwgZGF0YSBzaXplIDM5NTEyNikKICAgICApCiAgICkKICkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvcmVzb3VyY2VzL2N1YmUudXNkeiBi
L0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvcmVzb3VyY2VzL2N1YmUudXNkegpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jNzQyNmU4ZWE5OTJhZDFkNjRmYzVmZjQ1YTFjMzljYmQ1MGYyNzE1CkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAzMjQ4CnpjbWJ0WFopX1c5OEdxaWhlTG1Nb1lzWDJPcTxgIS05Vy0/NXltO04j
Rnlpd1pRJWJZZXNlTXluRChiflBIPld5eAp6LXJZSCo2R0VPcUBMe0x8Qikrako2Q1hETGxNd0p9
ZkF9KGk1PG5GajB3UHA0a05eJFVHXzlJOFh+T2ZJP3t6fTkKelJ6dGtXYkktcnVgI2pJUmNsVy1K
XkN4fSZaOXFmKyVKPEhNamlabGo+aXs2eTJefjszOU5ucEU8czxyWiY5b2Q4Cno+VU8jR2pYdWVw
TDZgajVHZWImWUVET1B3PkIoXjBeP3dQPm85IyE9V2lzKjFFISNHa2AtRHdDOXwyKlRPZzApKAp6
cSVJX20/TUF0VXB9UGR3aDE5I3IpYHhPRyhyelQ0WiFnT0drbTUpUXIyUista1NOdnc2Mz14STxw
Kz4+dTF7PXwKektaJFl4aU4rdWo+N1BQNmpQeEs5cEt9T2g5Kl5WamZ3K1V9eyRHZ2RwXjxEY2Zh
WDQkdUgrUERMUShQeD5sRlZMCnpUVXpiQjc0b20keSVWfnttYy0hZyZURHRZeVc7OW5ecVBOUmVt
dT58I3x4eHEtQnY8d1dMbSVmOSpzOXpkTHhhegp6ZiZhdjVHfjZxPWVvck9+PjAyP2ItSkFFWjt+
Oyk+OTl7PnslWDc3M0goSSQjPWFgU0k0ZU43OSF7Zishb18xfHAKekZkdkdPWlo4fFhjeGAyNF4p
QDdtPUBRMWd1U3xaOXh0RTtZNnlzaHBrM3MmQWxEVW9le2JjVUhBNVZNckBIbkp6CnptQU92Kkwt
Tkt0Q0RPUShOTCVAdnFiPlZaUEJfYGFae355fWVKZHc/MUFVeUlNOyR5SSo8bioyanplbjtrMnUy
MQp6OS1pIWs9WHhVQGB0R2UhXlNNXz9EP2UzVXxKbE92XnplYjkoZXV3fChqOHhYO3F7ald5S28t
SiZ6cE4/bnQxeDEKejgxYVZpbGlrR1Mqcl5De3hjdVRTOyNaJkUqP2ZjVjg/PVlme3pWUU51WHY4
OUlBSDBBUF9KY1hic04zX0hBfG4pCnpQVStSTXI1V3UjQUllJXF0eWk1cUkkPklLR3xTRndtU1g0
Kmw8S3gpUExIZFhHOzIoQ1I0N0BSPlg7VmI7cVk5Xgp6Ry1mbypOel5RRE0lVFdhTkZJNH44MD94
PihrckBWZnBlKipvbD5WWUk5b0JUWDs1dWpiNTBsKTZBVXQ1KVF2S2YKek9nd0IxJjJabzs2fD9H
VSlyUkFtSWdNcVNINExxNUhjYT0hamUoSSNnekxyeUQzczZ2KzRgZ2c8TkFkdTJlS0g8CnpRZWw+
SW9VVjtIbVRLNWw0QXVxMyheZ3J0SXczUCtUS2NvX3ZTdj5+JkQwSVk/cVA0dnNGcG9xSjdEMG5a
XkFPRwp6czNxLWIlJjUodHooZ2dTcDNJdXskS2Q5NnlGT1hnWExNVVBqWTRUayFfdiFVZVhePCpe
cy1qSTB7KE5YRHw+YEoKenBqbXk4d0NoI3tsNyVVQzQhJm1Bb20kPG9NfE1JQ2tEWnJ3eXo+I2c0
NyN4b2VxN2NvbUFiOEUmOG9RdlNUfXFmCno3aFNEWl8wbURPNXdeX3dnKCpYYFpKMEY4RHF5OSRJ
O21INj1oQzt9eF98K2tYVT42UlVjPzhlKnlhMiRTWGJkWQp6a2J1JmNVQDRIUUsmNUpgNG1oZkhM
MzhxfEdpQzIlYTtveW94aCVZO1N2Mz5hMkpaeEI0em42QXpoUCpsRSliSHkKelJLXnx4Xzg1fip0
MzNQIXtKX0JIMD8qYn1yOz1pR3NhOEpCPnU8ZWQ/cU55QyFGRDlGOXJOck5rSGVYUkNAQnA3Cno5
cXhgUSNifEI8bT5AOWIhfFJSNkBeV05aWUR5d0JMeV9lSHdnYCloaXkqP2drXm9td3B9KFgyMVdF
e2FTfC1FdAp6KiZ0LV9FY0h3OVQzRShVMUhZRyRUI2k2QUU8enFwU0dqYCNWWXdsfSEqUGg8SDd0
SyRnNDdfcURuWWN6KXFuMmwKel5RaUF9XntXIWRnQ01hR0JuUlBPNVhOd1Jadj1jMiMxOGRCRUUk
Mj1JTGM+e2g3IVBiO1E5WGBoRzI1QzdvdDs5Cno4MV47aEJwOEBgN3tTOGBOQDMpeTJ9dCRBQk4x
UmhjbmMoWFZTWE9CMFpJTTw/RlptQ0F8Qm1Pd01pTTQ+VE50OAp6ZmtlXzVCRytkbWg+WXhUPzsj
KC03PiFUayZDVGo4KSFsZGszcWZ+NjRqP2lMY3w/eDNrbW5KKDN1WkJReCkmUFgKemM2KkwrIX1n
eFNTTllSdVIldG8kUDN5X15DX1RqQF81KCNGaGl5VHxaNFFiI3IzWTVUbzElejQhRjRnejZ2ZTxi
Cnp2RXVgQSQzTW1CaWgkaHJfckFhRmQ0R0BhVVZLSG95OHE3dWl2ei0rYGFBeUUtfSMzX0A1Y1dV
P3wzS1BgTWFTagp6NTNQdjVqaiF6YiZHNXBvRm57entNfT1RTHskQmlUWU1OK3BQRUNfTG5sWk8z
QkA8OUduWHhHSjMmUShCUTMoOF8KelBaMGhwM2pYVlgoOF5GN3lxb3FqV255OT9oYUY4Zl9fdkQt
PiZkclMkSWJRQ1c0flRNOUQ4a2plTFZvPHo4XnUxCnotYVU2VHNUcVdjMmAxK2h4eWFVSSpIX29W
eDdIWTJpYC1lZXYmUV4pKkxZUXQpKHFUUy1KLVkjKVlpRzkrM21KZAp6eE1uT0wydCteKGB1KGV0
S1kpTEpAY1ZAfDt5ckNOZncyZGFMOGs4YHhWe3ArRXFjITQ+NjV1cjF5NGFYPWUzSE8KendfX0tJ
WEhKfHR6NXhoJHR0bWVWS1lKb0tLRE9iOHlgS0x2UmdSPE8mbE5mM2x+Jl5obXNAVmdYTnNUV0p+
QUNeCnh7VmFmJkpieGpkJVduNG4tdCVBTl5HYENZXnhuVEVKZWJFbSN4SU1MMGU1S19lKENyciF7
Xi09XyY9KmRQfiFqcQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDFjMDk1NGFmNTk1ZjU0OGQ1NWM1
ZTU4NmNjMmE1YTJjMmViNWNjYjcuLmQwMzAxYjViNzVhMmQyYWE3YjEzMzdjM2RhYTI3MjNjNTE4
N2UxODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTQ2LDYgKzQ2LDggQEAgZmFzdC9yZXBhaW50L3BsYWNlaG9sZGVyLWFmdGVyLWNhcHMt
bG9jay1oaWRkZW4uaHRtbCBbIFBhc3MgXQogZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFu
ZGluZy12aWV3cG9ydC1yZWN0cy5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9y
dWJiZXJiYW5kaW5nLXZpZXdwb3J0LXJlY3RzLWhlYWRlci1mb290ZXIuaHRtbCAgWyBQYXNzIF0K
IAorbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1jaGFuZ2Utd2hl
bi1jbGlwcGVkLmh0bWwgWyBQYXNzIF0KKwogIyBQZW5kaW5nIFNESyBjaGFuZ2VzLCByZS1za2lw
IHRoZXNlIHRlc3RzIHRoYXQgYXJlIHVuLXNraXBwZWQgYWJvdmUuCiBmYXN0L3ZpZXdwb3J0L2lv
cy92aWV3cG9ydC1maXQtY29udGFpbi5odG1sIFsgU2tpcCBdCiBmYXN0L3ZpZXdwb3J0L2lvcy92
aWV3cG9ydC1maXQtY292ZXIuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426859</attachid>
            <date>2021-04-22 16:06:21 -0700</date>
            <delta_ts>2021-04-22 16:34:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224917-20210422160620.patch</filename>
            <type>text/plain</type>
            <size>16943</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk4MmQ4NDA5Zjk3NjEx
ZGIxODY2ODRlYWQ1NDgwYjIwOTVmMTQ1NC4uZDZlYWMwNTg0OWNmYWFhYzQ3ZDM4NmM2ZmI2MDll
NmFlNjI5NGJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTIxICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRo
ZSBzb3VyY2Ugb2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5v
dCB1cGRhdGUgdGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtZ3JhcGhpY3MtbGF5
ZXJzLWNoYW5nZS13aGVuLWNsaXBwZWQuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXJDQTo6c2V0Q29udGVudHNUb1BsYXRmb3JtTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjpjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZVN1YmxheWVyTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ0E6OmR1bXBJbm5lckxheWVyIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1DQUxheWVyOjpkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oOgorCiAyMDIxLTA0LTIxICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIHdpbGwtY2hhbmdlOiB0
cmFuc2Zvcm0gc2hvdWxkIGFmZmVjdCBuZXN0ZWQgcG9zaXRpb246Zml4ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MDY2MDgwMjUwNmJiNzM2YWI5MGY0OTNmOTI2NGNjYjE0ZTRmZTFiOS4uZDNjNDM5NmVkYzExODQ4
ZWY1NTgzMDdmN2ZjMmQ4NWU3YTExYWExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
MS0wNC0yMSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAg
ICBDaGFuZ2luZyB0aGUgc291cmNlIG9mIGEgbW9kZWwgZWxlbWVudCB3aXRoIGNsaXBwaW5nIGFw
cGxpZWQgZG9lcyBub3QgdXBkYXRlIHRoZSBtb2RlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJU
cmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxI
b3N0aW5nLm1tOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhv
c3Rpbmc6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyk6CisKIDIwMjEtMDQtMjEgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93dXAgY2hh
bmdlIHRvIGJ1ZyAyMjQ3NzkgYmFzZWQgb24gcG9zdC1sYW5kIHJldmlldyBjb21tZW50LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNs
aWVudC5oCmluZGV4IGQ4YWY1ZmI3MDRjYWE3NmViNGQ3NTk3N2JlYTcwY2U3MTA5OWJhYjAuLmQz
ODAyNjQzNTMyNGUwODNlMWNjMmI4OWE2NTVkZTk3NmFlM2YyZTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgKQEAg
LTkxLDYgKzkxLDcgQEAgZW51bSBjbGFzcyBQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzIDog
dWludDhfdCB7CiAgICAgRGVidWcgPSAxIDw8IDAsCiAgICAgSWdub3JlQ2hpbGRyZW4gPSAxIDw8
IDEsCiAgICAgSW5jbHVkZU9wYWNpdHkgPSAxIDw8IDIsCisgICAgSW5jbHVkZU1vZGVscyA9IDEg
PDwgMywKIH07CiAKIGVudW0gR3JhcGhpY3NMYXllclBhaW50RmxhZ3MgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAK
aW5kZXggMGFjY2MzOTFmY2JmYjI5NTUyMTMyZTkxZGM2Y2UzOTI3NzEyZDE0NC4uNGMzMzQ0NGI2
YmU0OTBlMTQ1YjBmYzhmYTc3NDRlYjc1ZDkyMzMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0xMjQz
LDYgKzEyNDMsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb01vZGVsKFJl
ZlB0cjxNb2RlbD4mJiBtb2RlbCkKICAgICBpZiAoY29udGVudHNMYXllckNoYW5nZWQpCiAgICAg
ICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CiAKKyAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5n
ZWQoQ29udGVudHNSZWN0c0NoYW5nZWQpOwogICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChP
cGFjaXR5Q2hhbmdlZCk7CiB9CiAjZW5kaWYKQEAgLTEyNTIsOSArMTI1Myw2IEBAIHZvaWQgR3Jh
cGhpY3NMYXllckNBOjpzZXRDb250ZW50c1RvUGxhdGZvcm1MYXllcihQbGF0Zm9ybUxheWVyKiBw
bGF0Zm9ybUxheWVyLCBDCiAgICAgaWYgKG1fY29udGVudHNMYXllciAmJiBwbGF0Zm9ybUxheWVy
ID09IG1fY29udGVudHNMYXllci0+cGxhdGZvcm1MYXllcigpKQogICAgICAgICByZXR1cm47CiAK
LSAgICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIgJiYgbV9jb250ZW50c0xheWVyKQotICAg
ICAgICBtX2NvbnRlbnRzTGF5ZXItPnJlbW92ZUZyb21TdXBlcmxheWVyKCk7Ci0KICAgICAvLyBG
SVhNRTogVGhlIHBhc3NlZCBpbiBsYXllciBtaWdodCBiZSBhIHJhdyBsYXllciBvciBhbiBleHRl
cm5hbGx5IGNyZWF0ZWQKICAgICAvLyBQbGF0Zm9ybUNBTGF5ZXIuIFRvIGRldGVybWluZSB0aGlz
IHdlIGF0dGVtcHQgdG8gZ2V0IHRoZQogICAgIC8vIFBsYXRmb3JtQ0FMYXllciBwb2ludGVyLiBJ
ZiB0aGlzIHJldHVybnMgYSBudWxsIHBvaW50ZXIgd2UgYXNzdW1lIGl0J3MKQEAgLTEyNzMsOSAr
MTI3MSw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpzZXRDb250ZW50c1RvUGxhdGZvcm1MYXll
cihQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyLCBDCiAKICAgICBtX2NvbnRlbnRzTGF5ZXJQ
dXJwb3NlID0gcGxhdGZvcm1MYXllciA/IHB1cnBvc2UgOiBDb250ZW50c0xheWVyUHVycG9zZTo6
Tm9uZTsKIAotICAgIGlmIChtX2NvbnRlbnRzQ2xpcHBpbmdMYXllciAmJiBtX2NvbnRlbnRzTGF5
ZXIpCi0gICAgICAgIG1fY29udGVudHNDbGlwcGluZ0xheWVyLT5hcHBlbmRTdWJsYXllcigqbV9j
b250ZW50c0xheWVyKTsKLQogICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CiAgICAgbm90ZUxh
eWVyUHJvcGVydHlDaGFuZ2VkKENvbnRlbnRzUGxhdGZvcm1MYXllckNoYW5nZWQpOwogfQpAQCAt
MjAzMywyNCArMjAyOCwyNCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJM
aXN0KGJvb2wgbWF4TGF5ZXJEZXB0aFJlYWNoZWQpCiAgICAgICAgIGxpc3QuYXBwZW5kKG1fbGF5
ZXIpOwogICAgIH07CiAKLSAgICBhdXRvIGFwcGVuZENsaXBwaW5nTGF5ZXJzID0gWyZdKFBsYXRm
b3JtQ0FMYXllckxpc3QmIGxpc3QpIHsKLSAgICAgICAgaWYgKCFtX2NvbnRlbnRzVmlzaWJsZSkK
LSAgICAgICAgICAgIHJldHVybjsKKyAgICBhdXRvIGFwcGVuZENvbnRlbnRzTGF5ZXIgPSBbJl0o
UGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgeworICAgICAgICBpZiAobV9jb250ZW50c1Zpc2li
bGUgJiYgbV9jb250ZW50c0xheWVyKQorICAgICAgICAgICAgbGlzdC5hcHBlbmQobV9jb250ZW50
c0xheWVyKTsKKyAgICB9OwogCi0gICAgICAgIGlmIChtX2NvbnRlbnRzQ2xpcHBpbmdMYXllcikg
eworICAgIGF1dG8gYXBwZW5kQ2xpcHBpbmdMYXllcnMgPSBbJl0oUGxhdGZvcm1DQUxheWVyTGlz
dCYgbGlzdCkgeworICAgICAgICBpZiAobV9jb250ZW50c1Zpc2libGUgJiYgbV9jb250ZW50c0Ns
aXBwaW5nTGF5ZXIpCiAgICAgICAgICAgICBsaXN0LmFwcGVuZChtX2NvbnRlbnRzQ2xpcHBpbmdM
YXllcik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAobV9j
b250ZW50c0xheWVyKQotICAgICAgICAgICAgbGlzdC5hcHBlbmQobV9jb250ZW50c0xheWVyKTsK
ICAgICB9OwogCiAgICAgYXV0byBhcHBlbmRDdXN0b21BbmRDbGlwcGluZ0xheWVycyA9IFsmXShQ
bGF0Zm9ybUNBTGF5ZXJMaXN0JiBsaXN0KSB7CiAgICAgICAgIGlmIChhdXRvKiBjdXN0b21TdWJs
YXllcnMgPSBtX2xheWVyLT5jdXN0b21TdWJsYXllcnMoKSkKICAgICAgICAgICAgIGxpc3QuYXBw
ZW5kVmVjdG9yKCpjdXN0b21TdWJsYXllcnMpOwogCi0gICAgICAgIGFwcGVuZENsaXBwaW5nTGF5
ZXJzKGxpc3QpOworICAgICAgICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIpCisgICAgICAg
ICAgICBhcHBlbmRDbGlwcGluZ0xheWVycyhsaXN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgYXBwZW5kQ29udGVudHNMYXllcihsaXN0KTsKICAgICB9OwogCiAgICAgYXV0byBhcHBlbmRM
YXllcnNGcm9tQ2hpbGRyZW4gPSBbJl0oUGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgewpAQCAt
MjA3OSw5ICsyMDc0LDExIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVTdWJsYXllckxp
c3QoYm9vbCBtYXhMYXllckRlcHRoUmVhY2hlZCkKICAgICBhcHBlbmRDdXN0b21BbmRDbGlwcGlu
Z0xheWVycyhwcmltYXJ5TGF5ZXJDaGlsZHJlbik7CiAKICAgICBib29sIGNsaXBwaW5nTGF5ZXJI
b3N0c0NoaWxkcmVuID0gbV9jb250ZW50c1JlY3RDbGlwc0Rlc2NlbmRhbnRzICYmIG1fY29udGVu
dHNDbGlwcGluZ0xheWVyOwotICAgIGlmIChjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbikgewor
ICAgIGlmIChtX2NvbnRlbnRzQ2xpcHBpbmdMYXllcikgewogICAgICAgICBQbGF0Zm9ybUNBTGF5
ZXJMaXN0IGNsaXBwaW5nQ2hpbGRyZW47Ci0gICAgICAgIGJ1aWxkQ2hpbGRMYXllckxpc3QoY2xp
cHBpbmdDaGlsZHJlbik7CisgICAgICAgIGlmIChjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbikK
KyAgICAgICAgICAgIGJ1aWxkQ2hpbGRMYXllckxpc3QoY2xpcHBpbmdDaGlsZHJlbik7CisgICAg
ICAgIGFwcGVuZENvbnRlbnRzTGF5ZXIoY2xpcHBpbmdDaGlsZHJlbik7CiAgICAgICAgIG1fY29u
dGVudHNDbGlwcGluZ0xheWVyLT5zZXRTdWJsYXllcnMoY2xpcHBpbmdDaGlsZHJlbik7CiAgICAg
fQogCkBAIC0zOTkwLDYgKzM5ODcsOCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6ZHVtcElubmVy
TGF5ZXIoVGV4dFN0cmVhbSYgdHMsIFBsYXRmb3JtQ0FMYXllciogbGF5ZXIsIE9wdAogICAgICAg
ICBpZiAobGF5ZXItPmlzSGlkZGVuKCkpCiAgICAgICAgICAgICB0cyA8PCBpbmRlbnQgPDwgIiho
aWRkZW4pXG4iOwogCisgICAgICAgIGxheWVyLT5kdW1wQWRkaXRpb25hbFByb3BlcnRpZXModHMs
IGZsYWdzKTsKKwogICAgICAgICBpZiAoIWZsYWdzLmNvbnRhaW5zKFBsYXRmb3JtTGF5ZXJUcmVl
QXNUZXh0RmxhZ3M6Oklnbm9yZUNoaWxkcmVuKSkgewogICAgICAgICAgICAgYXV0byBzdWJsYXll
cnMgPSBsYXllci0+c3VibGF5ZXJzRm9yTG9nZ2luZygpOwogICAgICAgICAgICAgaWYgKHN1Ymxh
eWVycy5zaXplKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1BsYXRmb3JtQ0FMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuY3BwCmluZGV4IDI2YTAwYTA0Njg4MDNhOGY3ODk4ZTlj
NmI3NjY2ZmYyOWE2YjRmNmEuLjFmMzkyZjU0NzczOTRjYzNjNzc1ZmE0ZDE5OGM3NDM4MjkyYWE1
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRm
b3JtQ0FMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
UGxhdGZvcm1DQUxheWVyLmNwcApAQCAtMTk4LDYgKzE5OCwxMCBAQCBMYXllclBvb2wmIFBsYXRm
b3JtQ0FMYXllcjo6bGF5ZXJQb29sKCkKICAgICByZXR1cm4gKnNoYXJlZFBvb2w7CiB9CiAKK3Zv
aWQgUGxhdGZvcm1DQUxheWVyOjpkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMoVGV4dFN0cmVhbSYs
IE9wdGlvblNldDxQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzPikKK3sKK30KKwogVGV4dFN0
cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgUGxhdGZvcm1DQUxheWVyOjpMYXllclR5
cGUgbGF5ZXJUeXBlKQogewogICAgIHN3aXRjaCAobGF5ZXJUeXBlKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCmluZGV4
IGYxNjVlNDQxYWVhZDU4ZWMyMTg3NWM2N2Q4MmU2M2FhM2IxZjZmZDYuLjAzMjgwYzExN2I5ZWE1
ZWRhYmIzNjc1OWYyZDZhOTY4YTQxMzE4NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oCkBAIC0zMDAsNiArMzAwLDgg
QEAgcHVibGljOgogICAgIHN0YXRpYyBDR1JlY3QgZnJhbWVGb3JMYXllcihjb25zdCBQbGF0Zm9y
bUxheWVyKik7CiAKICAgICB2b2lkIG1vdmVUb0xheWVyUG9vbCgpOworICAgIAorICAgIHZpcnR1
YWwgdm9pZCBkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMoVGV4dFN0cmVhbSYsIE9wdGlvblNldDxQ
bGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzPik7CiAKIHByb3RlY3RlZDoKICAgICBQbGF0Zm9y
bUNBTGF5ZXIoTGF5ZXJUeXBlLCBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG93bmVyKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4ODRlOTQ4NTNmZmNhZTE3NjlhMWMxNjM3
M2VlY2JhNjI0MWNmNzJkLi4wOTk5YmM0NjcwMDkwOGE5MTkwM2RhZjZhODVhMDI5NDgwZmY3ZTEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0yODYzLDYgKzI4NjMsOCBA
QCBzdGF0aWMgT3B0aW9uU2V0PFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M+IHRvUGxhdGZv
cm1MYXllclRyZWVGbGFncyh1bnNpZ25lZAogICAgICAgICBwbGF0Zm9ybUxheWVyVHJlZUZsYWdz
LmFkZChQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzOjpJZ25vcmVDaGlsZHJlbik7CiAgICAg
aWYgKGZsYWdzICYgSW50ZXJuYWxzOjpQTEFURk9STV9MQVlFUl9UUkVFX0lOQ0xVREVfT1BBQ0lU
WSkKICAgICAgICAgcGxhdGZvcm1MYXllclRyZWVGbGFncy5hZGQoUGxhdGZvcm1MYXllclRyZWVB
c1RleHRGbGFnczo6SW5jbHVkZU9wYWNpdHkpOworICAgIGlmIChmbGFncyAmIEludGVybmFsczo6
UExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURFX01PREVMUykKKyAgICAgICAgcGxhdGZvcm1MYXll
clRyZWVGbGFncy5hZGQoUGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFnczo6SW5jbHVkZU1vZGVs
cyk7CiAgICAgcmV0dXJuIHBsYXRmb3JtTGF5ZXJUcmVlRmxhZ3M7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCmluZGV4IDE4MzdmNzNlN2YyMTQ2ZmE0MThhNjdmZDg4MDZjZDkzZTY1
OTUyYmMuLjhkM2JhMmU0OTc1OTUyYTMxM2RhYzE1NTNjNmI0YWY3NzdlOTQyNjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNDI2LDYgKzQyNiw3IEBAIHB1YmxpYzoKICAgICAg
ICAgUExBVEZPUk1fTEFZRVJfVFJFRV9ERUJVRyA9IDEsCiAgICAgICAgIFBMQVRGT1JNX0xBWUVS
X1RSRUVfSUdOT1JFU19DSElMRFJFTiA9IDIsCiAgICAgICAgIFBMQVRGT1JNX0xBWUVSX1RSRUVf
SU5DTFVERV9PUEFDSVRZID0gNCwKKyAgICAgICAgUExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURF
X01PREVMUyA9IDgsCiAgICAgfTsKICAgICBFeGNlcHRpb25PcjxTdHJpbmc+IHBsYXRmb3JtTGF5
ZXJUcmVlQXNUZXh0KEVsZW1lbnQmLCB1bnNpZ25lZCBzaG9ydCBmbGFncykgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA2ZmFmNzQ5ODk2NmY2ZTI4NzJiYjE0
OWMwMzZiN2FhNzdjMTMyNzhjLi5lNTVhNWM1NWJkZmE0ZWRkZTJmMzA0N2JjNDRkMGI1Njk4NWFj
OWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC01MDUsNiArNTA1LDcg
QEAgZW51bSBUcmVlVHlwZSB7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUExBVEZPUk1fTEFZ
RVJfVFJFRV9ERUJVRyA9IDE7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUExBVEZPUk1fTEFZ
RVJfVFJFRV9JR05PUkVTX0NISUxEUkVOID0gMjsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQ
TEFURk9STV9MQVlFUl9UUkVFX0lOQ0xVREVfT1BBQ0lUWSA9IDQ7CisgICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgUExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURFX01PREVMUyA9IDg7CiAgICAgRE9N
U3RyaW5nIHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KEVsZW1lbnQgZWxlbWVudCwgb3B0aW9uYWwg
dW5zaWduZWQgc2hvcnQgZmxhZ3MgPSAwKTsKIAogICAgIERPTVN0cmluZyBzY3JvbGxiYXJPdmVy
bGF5U3R5bGUob3B0aW9uYWwgTm9kZT8gbm9kZSA9IG51bGwpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXll
clJlbW90ZU1vZGVsSG9zdGluZy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5oCmluZGV4
IDlhN2UzYWI0YTRkNTIxZmQ3MGM4ZDY1ZDk0NGVjMGM1MmJhNTU4M2UuLjkzMTczYTU0ZmYzZTNi
YWZlNzQ3MjQ0MWEzMDA0YjExYzE2ZTBjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2Rl
bEhvc3RpbmcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVM
YXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLmgKQEAgLTQyLDYgKzQy
LDggQEAgcHJpdmF0ZToKICAgICBSZWY8V2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyPiBjbG9uZShX
ZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG93bmVyKSBjb25zdCBvdmVycmlkZTsKICAg
ICAKICAgICB2b2lkIHBvcHVsYXRlQ3JlYXRpb25Qcm9wZXJ0aWVzKFJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpMYXllckNyZWF0aW9uUHJvcGVydGllcyYsIGNvbnN0IFJlbW90ZUxheWVyVHJl
ZUNvbnRleHQmLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZSkgb3ZlcnJpZGU7
CisgICAgCisgICAgdm9pZCBkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMoVGV4dFN0cmVhbSYsIE9w
dGlvblNldDxQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzPikgZmluYWw7CiAKICAgICBSZWY8
TW9kZWw+IG1fbW9kZWw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGlu
Zy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9Q
bGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcubW0KaW5kZXggY2YwNDc5ZTY3Y2MyNTM2
MjQ3ZTBlNmNmM2Y0MDM5YjkwZjNjODk5Zi4uOGMxMDYyMjA1Yzc3YWZmZDdiYWQxN2NmOTcyNmZj
ODAyMDc2NmMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZv
cm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLm1tCkBAIC02Niw0ICs2NiwxMCBAQCB2b2lkIFBs
YXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZzo6cG9wdWxhdGVDcmVhdGlvblByb3BlcnRp
ZXMoUmVtb3RlTGF5ZXJUcgogICAgIHByb3BlcnRpZXMubW9kZWwgPSBtX21vZGVsLnB0cigpOwog
fQogCit2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZzo6ZHVtcEFkZGl0aW9u
YWxQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRzLCBPcHRpb25TZXQ8UGxhdGZvcm1MYXllclRyZWVB
c1RleHRGbGFncz4gZmxhZ3MpCit7CisgICAgaWYgKGZsYWdzLmNvbnRhaW5zKFBsYXRmb3JtTGF5
ZXJUcmVlQXNUZXh0RmxhZ3M6OkluY2x1ZGVNb2RlbHMpKQorICAgICAgICB0cyA8PCBpbmRlbnQg
PDwgIihtb2RlbCBkYXRhIHNpemUgIiA8PCBtX21vZGVsLT5kYXRhKCktPnNpemUoKSA8PCAiKVxu
IjsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjlkOTJiY2M4ZDcyZDllM2M1
MjlmM2I1ZThlYzEyMDFlMjI4MzRiMi4uZDVmN2FlZDIyMmU4MzAzMjEwYTdlMzM0ZmE0NTY4NzA4
ZDg3OTg0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA0LTIxICBUaW0gSG9ydG9uICA8
dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRoZSBzb3VyY2Ug
b2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5vdCB1cGRhdGUg
dGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVt
ZW50LWdyYXBoaWNzLWxheWVycy1jaGFuZ2Utd2hlbi1jbGlwcGVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVy
cy1jaGFuZ2Utd2hlbi1jbGlwcGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1vZGVsLWVsZW1l
bnQvbW9kZWwtZWxlbWVudC1ncmFwaGljcy1sYXllcnMtb3BhY2l0eS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogbW9kZWwtZWxlbWVudC9yZXNvdXJjZXMvY3ViZS51c2R6OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDQtMjEgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgd2lsbC1jaGFu
Z2U6IHRyYW5zZm9ybSBzaG91bGQgYWZmZWN0IG5lc3RlZCBwb3NpdGlvbjpmaXhlZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9yZXNvdXJjZXMvY3ViZS51c2R6IGIvTGF5
b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9yZXNvdXJjZXMvY3ViZS51c2R6Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3
NDI2ZThlYTk5MmFkMWQ2NGZjNWZmNDVhMWMzOWNiZDUwZjI3MTUKR0lUIGJpbmFyeSBwYXRjaAps
aXRlcmFsIDMyNDgKemNtYnRYWilfVzk4R3FpaGVMbU1vWXNYMk9xPGAhLTlXLT81eW07TiNGeWl3
WlElYlllc2VNeW5EKGJ+UEg+V3l4CnotcllIKjZHRU9xQEx7THxCKStqSjZDWERMbE13Sn1mQX0o
aTU8bkZqMHdQcDRrTl4kVUdfOUk4WH5PZkk/e3p9OQp6Unp0a1diSS1ydWAjaklSY2xXLUpeQ3h9
Jlo5cWYrJUo8SE1qaVpsaj5pezZ5Ml5+OzM5Tm5wRTxzPHJaJjlvZDgKej5VTyNHalh1ZXBMNmBq
NUdlYiZZRURPUHc+QiheMF4/d1A+bzkjIT1XaXMqMUUhI0drYC1Ed0M5fDIqVE9nMCkoCnpxJUlf
bT9NQXRVcH1QZHdoMTkjcilgeE9HKHJ6VDRaIWdPR2ttNSlRcjJSKy1rU052dzYzPXhJPHArPj51
MXs9fAp6S1okWXhpTit1aj43UFA2alB4SzlwS31PaDkqXlZqZncrVX17JEdnZHBePERjZmFYNCR1
SCtQRExRKFB4PmxGVkwKelRVemJCNzRvbSR5JVZ+e21jLSFnJlREdFl5Vzs5bl5xUE5SZW11Pnwj
fHh4cS1Cdjx3V0xtJWY5KnM5emRMeGF6CnpmJmF2NUd+NnE9ZW9yT34+MDI/Yi1KQUVaO347KT45
OXs+eyVYNzczSChJJCM9YWBTSTRlTjc5IXtmKyFvXzF8cAp6RmR2R09aWjh8WGN4YDI0XilAN209
QFExZ3VTfFo5eHRFO1k2eXNocGszcyZBbERVb2V7YmNVSEE1Vk1yQEhuSnoKem1BT3YqTC1OS3RD
RE9RKE5MJUB2cWI+VlpQQl9gYVp7fnl9ZUpkdz8xQVV5SU07JHlJKjxuKjJqemVuO2sydTIxCno5
LWkhaz1YeFVAYHRHZSFeU01fP0Q/ZTNVfEpsT3ZeemViOShldXd8KGo4eFg7cXtqV3lLby1KJnpw
Tj9udDF4MQp6ODFhVmlsaWtHUypyXkN7eGN1VFM7I1omRSo/ZmNWOD89WWZ7elZRTnVYdjg5SUFI
MEFQX0pjWGJzTjNfSEF8bikKelBVK1JNcjVXdSNBSWUlcXR5aTVxSSQ+SUtHfFNGd21TWDQqbDxL
eClQTEhkWEc7MihDUjQ3QFI+WDtWYjtxWTleCnpHLWZvKk56XlFETSVUV2FORkk0fjgwP3g+KGty
QFZmcGUqKm9sPlZZSTlvQlRYOzV1amI1MGwpNkFVdDUpUXZLZgp6T2d3QjEmMlpvOzZ8P0dVKXJS
QW1JZ01xU0g0THE1SGNhPSFqZShJI2d6THJ5RDNzNnYrNGBnZzxOQWR1MmVLSDwKelFlbD5Jb1VW
O0htVEs1bDRBdXEzKF5ncnRJdzNQK1RLY29fdlN2Pn4mRDBJWT9xUDR2c0Zwb3FKN0QwblpeQU9H
CnpzM3EtYiUmNSh0eihnZ1NwM0l1eyRLZDk2eUZPWGdYTE1VUGpZNFRrIV92IVVlWF48Kl5zLWpJ
MHsoTlhEfD5gSgp6cGpteTh3Q2gje2w3JVVDNCEmbUFvbSQ8b018TUlDa0Racnd5ej4jZzQ3I3hv
ZXE3Y29tQWI4RSY4b1F2U1R9cWYKejdoU0RaXzBtRE81d15fd2coKlhgWkowRjhEcXk5JEk7bUg2
PWhDO314X3wra1hVPjZSVWM/OGUqeWEyJFNYYmRZCnprYnUmY1VANEhRSyY1SmA0bWhmSEwzOHF8
R2lDMiVhO295b3hoJVk7U3YzPmEySlp4QjR6bjZBemhQKmxFKWJIeQp6UktefHhfODV+KnQzM1Ah
e0pfQkgwPypifXI7PWlHc2E4SkI+dTxlZD9xTnlDIUZEOUY5ck5yTmtIZVhSQ0BCcDcKejlxeGBR
I2J8QjxtPkA5YiF8UlI2QF5XTlpZRHl3Qkx5X2VId2dgKWhpeSo/Z2teb213cH0oWDIxV0V7YVN8
LUV0CnoqJnQtX0VjSHc5VDNFKFUxSFlHJFQjaTZBRTx6cXBTR2pgI1ZZd2x9ISpQaDxIN3RLJGc0
N19xRG5ZY3opcW4ybAp6XlFpQX1ee1chZGdDTWFHQm5SUE81WE53Ulp2PWMyIzE4ZEJFRSQyPUlM
Yz57aDchUGI7UTlYYGhHMjVDN290OzkKejgxXjtoQnA4QGA3e1M4YE5AMyl5Mn10JEFCTjFSaGNu
YyhYVlNYT0IwWklNPD9GWm1DQXxCbU93TWlNND5UTnQ4Cnpma2VfNUJHK2RtaD5ZeFQ/OyMoLTc+
IVRrJkNUajgpIWxkazNxZn42NGo/aUxjfD94M2ttbkooM3VaQlF4KSZQWAp6YzYqTCshfWd4U1NO
WVJ1UiV0byRQM3lfXkNfVGpAXzUoI0ZoaXlUfFo0UWIjcjNZNVRvMSV6NCFGNGd6NnZlPGIKenZF
dWBBJDNNbUJpaCRocl9yQWFGZDRHQGFVVktIb3k4cTd1aXZ6LStgYUF5RS19IzNfQDVjV1U/fDNL
UGBNYVNqCno1M1B2NWpqIXpiJkc1cG9Gbnt6e019PVFMeyRCaVRZTU4rcFBFQ19MbmxaTzNCQDw5
R25YeEdKMyZRKEJRMyg4Xwp6UFowaHAzalhWWCg4XkY3eXFvcWpXbnk5P2hhRjhmX192RC0+JmRy
UyRJYlFDVzR+VE05RDhramVMVm88ejhedTEKei1hVTZUc1RxV2MyYDEraHh5YVVJKkhfb1Z4N0hZ
MmlgLWVldiZRXikqTFlRdCkocVRTLUotWSMpWWlHOSszbUpkCnp4TW5PTDJ0K14oYHUoZXRLWSlM
SkBjVkB8O3lyQ05mdzJkYUw4azhgeFZ7cCtFcWMhND42NXVyMXk0YVg9ZTNITwp6d19fS0lYSEp8
dHo1eGgkdHRtZVZLWUpvS0tET2I4eWBLTHZSZ1I8TyZsTmYzbH4mXmhtc0BWZ1hOc1RXSn5BQ14K
eHtWYWYmSmJ4amQlV240bi10JUFOXkdgQ1leeG5URUplYkVtI3hJTUwwZTVLX2UoQ3JyIXteLT1f
Jj0qZFB+IWpxCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWMwOTU0YWY1OTVmNTQ4ZDU1YzVlNTg2
Y2MyYTVhMmMyZWI1Y2NiNy4uMTgwOWNlNGUyNmQ4NDE3YTEwMmFhNWUzYmZhODk3YjRlMzFmNWE2
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDYsNiArNDYsOSBAQCBmYXN0L3JlcGFpbnQvcGxhY2Vob2xkZXItYWZ0ZXItY2Fwcy1sb2Nr
LWhpZGRlbi5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5n
LXZpZXdwb3J0LXJlY3RzLmh0bWwgWyBQYXNzIF0KIGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJl
cmJhbmRpbmctdmlld3BvcnQtcmVjdHMtaGVhZGVyLWZvb3Rlci5odG1sICBbIFBhc3MgXQogCitt
b2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy13aXRoLWNs
aXBwaW5nLmh0bWwgWyBQYXNzIF0KK21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50
cy1sYXllci11cGRhdGVzLmh0bWwgWyBQYXNzIF0KKwogIyBQZW5kaW5nIFNESyBjaGFuZ2VzLCBy
ZS1za2lwIHRoZXNlIHRlc3RzIHRoYXQgYXJlIHVuLXNraXBwZWQgYWJvdmUuCiBmYXN0L3ZpZXdw
b3J0L2lvcy92aWV3cG9ydC1maXQtY29udGFpbi5odG1sIFsgU2tpcCBdCiBmYXN0L3ZpZXdwb3J0
L2lvcy92aWV3cG9ydC1maXQtY292ZXIuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2M2ZjMjU4ZTZjZWZhMmRjMzZiMjMxM2ZmMGEx
OWY0ZmM5MTE5NmNjLi41NDQxMjQ3NDdjZGFkNmYwZGRjZjdkYzhkMGVjZmU5NTViZTIxNDIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjcsNiArNjcs
MTAgQEAgd2Via2l0Lm9yZy9iLzIxOTE2IHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVz
L2J1Z3MvYnVnMTc4ODU1LnhtbCBbIFBhc3MgSW0KIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9h
ZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLW9ubHkt
ZnJhbWUtaXMtc3RvcHBlZC5odG1sCiAKKyMgVGhpcyB0ZXN0IG9ubHkgd29ya3Mgd2l0aCBVSS1z
aWRlIGNvbXBvc2l0aW5nCittb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5
ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLmh0bWwgWyBTa2lwIF0KK21vZGVsLWVsZW1lbnQvbW9k
ZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLmh0bWwgWyBTa2lwIF0KKwogIyBBY2Nl
c3NpYmlsaXR5IHRlc3RzIGZvciBub3RpZmljYXRpb25zIHRoYXQgZG9uJ3QgZXhpc3Qgb3IgYXJl
bid0IG5lZWRlZCBvbiBNYWMgT1MgWC4KIGFjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2JveC1zZW5k
cy1ub3RpZmljYXRpb24uaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLXN3aXRjaC1zZW5kcy1ub3Rp
ZmljYXRpb24uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426864</attachid>
            <date>2021-04-22 16:34:54 -0700</date>
            <delta_ts>2021-04-22 17:02:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224917-20210422163453.patch</filename>
            <type>text/plain</type>
            <size>25100</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk4MmQ4NDA5Zjk3NjEx
ZGIxODY2ODRlYWQ1NDgwYjIwOTVmMTQ1NC4uYzk4ZDQwYjA0M2Q4OGE1MWYzMDk2OWZmMTAwMmZm
ZTYzZWJlMDUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTA0LTIyICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRo
ZSBzb3VyY2Ugb2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5v
dCB1cGRhdGUgdGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0czogbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxh
eWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy5odG1sCisgICAgICAgICAgICAgICBtb2RlbC1lbGVt
ZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy5odG1sCisKKyAgICAgICAg
UHJldmlvdXNseSwgYSA8bW9kZWw+IHdpdGggYSBjb250ZW50cyBjbGlwcGluZyBsYXllciAoZS5n
LiBib3JkZXItcmFkaXVzKQorICAgICAgICB3b3VsZCBub3QgcmVwYXJlbnQgaXRzIGNvbnRlbnRz
IGxheWVyIGluIHRoZSByaWdodCBwbGFjZSB3aGVuIHNldENvbnRlbnRzVG9Nb2RlbAorICAgICAg
ICB3YXMgY2FsbGVkIGFnYWluIChiZWNhdXNlIHRoZSBzb3VyY2UgY2hhbmdlZCksIGxlYXZpbmcg
dGhlIG9sZCBtb2RlbAorICAgICAgICBjb250ZW50cyBsYXllciBpbiBwbGFjZS4KKyAgICAgICAg
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJMaXN0KToKKyAg
ICAgICAgRW5zdXJlIHRoYXQgdXBkYXRlU3VibGF5ZXJMaXN0IGFsd2F5cyBwYXJlbnRzIGNvbnRl
bnRzTGF5ZXIgaW4gb25lIG9mIGl0cyB0d28gaG9tZXM6CisgICAgICAgIHVuZGVyIGNvbnRlbnRz
Q2xpcHBpbmdMYXllciwgaWYgaXQgZXhpc3RzOyBvdGhlcndpc2UsIGRpcmVjdGx5IHVuZGVyIHRo
ZSBwcmltYXJ5IGxheWVyLgorCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnNl
dENvbnRlbnRzVG9Nb2RlbCk6CisgICAgICAgIERyaXZlLWJ5IGZpeCBhIGJ1ZyByZXZlYWxlZCBi
eSB0aGUgdGVzdHMgZm9yIHRoaXMgcGF0Y2g6IHdoZW4gc3dhcHBpbmcgb3V0IHRoZQorICAgICAg
ICBjb250ZW50cyBsYXllciBpbiBzZXRDb250ZW50c1RvTW9kZWwsIHdlIGFsc28gbmVlZCB0byBt
YXJrIENvbnRlbnRzUmVjdHNDaGFuZ2VkLAorICAgICAgICBvciB0aGUgbmV3IGNvbnRlbnRzIGxh
eWVyIHdpbGwgbm90IGdldCBpdHMgYm91bmRzIHNldCBkdXJpbmcgdGhlIHN1YnNlcXVlbnQgZmx1
c2guCisKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb1Bs
YXRmb3JtTGF5ZXIpOgorICAgICAgICBSZW1vdmUgc3BlY2lhbC1jYXNlIGNvZGUgdGhhdCB3YXMg
YWRkZWQgdG8gZml4IHRoaXMgYnVnIGp1c3QgZm9yIHNldENvbnRlbnRzVG9QbGF0Zm9ybUxheWVy
OworICAgICAgICB0aGlzIGNhc2UgaXMgbm93IGNvcnJlY3RseSBoYW5kbGVkIGZvciBhbGwgY29u
dGVudHMgbGF5ZXJzIGJ5IHVwZGF0ZVN1YmxheWVyTGlzdC4KKworICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjpkdW1wSW5uZXJMYXllciBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNBTGF5ZXI6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9QbGF0Zm9ybUxheWVyVHJlZUZsYWdzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmlkbDoKKyAgICAgICAgQWRkIGEgYml0IHRvIHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KCkgdGhh
dCBtYWtlcyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcKKyAgICAgICAgZHVtcCB0
aGUgc2l6ZSBvZiB0aGUgbW9kZWwgdGhhdCBpdCBpcyBob3N0aW5nLCB3aGljaCBpcyB1c2VkIGlu
IHRoZSB0ZXN0IGZvciB0aGlzIGJ1Zy4KKwogMjAyMS0wNC0yMSAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtIHNo
b3VsZCBhZmZlY3QgbmVzdGVkIHBvc2l0aW9uOmZpeGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA2NjA4MDI1MDZi
YjczNmFiOTBmNDkzZjkyNjRjY2IxNGU0ZmUxYjkuLmRmMzUwMzQ0NzZjMDI1ZjFhNjgyZmJmNDVj
NWRjMTBjODQxZDZmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDQtMjIgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdpbmcg
dGhlIHNvdXJjZSBvZiBhIG1vZGVsIGVsZW1lbnQgd2l0aCBjbGlwcGluZyBhcHBsaWVkIGRvZXMg
bm90IHVwZGF0ZSB0aGUgbW9kZWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNDkxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9y
bUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvUmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5tbToK
KyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nOjpkdW1w
QWRkaXRpb25hbFByb3BlcnRpZXMpOgorICAgICAgICBBZGQgYSBiaXQgdG8gcGxhdGZvcm1MYXll
clRyZWVBc1RleHQoKSB0aGF0IG1ha2VzIFBsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGlu
ZworICAgICAgICBkdW1wIHRoZSBzaXplIG9mIHRoZSBtb2RlbCB0aGF0IGl0IGlzIGhvc3Rpbmcs
IHdoaWNoIGlzIHVzZWQgaW4gdGhlIHRlc3QgZm9yIHRoaXMgYnVnLgorCiAyMDIxLTA0LTIxICBL
YXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxv
d3VwIGNoYW5nZSB0byBidWcgMjI0Nzc5IGJhc2VkIG9uIHBvc3QtbGFuZCByZXZpZXcgY29tbWVu
dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXJDbGllbnQuaAppbmRleCBkOGFmNWZiNzA0Y2FhNzZlYjRkNzU5NzdiZWE3MGNlNzEwOTli
YWIwLi5kMzgwMjY0MzUzMjRlMDgzZTFjYzJiODlhNjU1ZGU5NzZhZTNmMmU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVu
dC5oCkBAIC05MSw2ICs5MSw3IEBAIGVudW0gY2xhc3MgUGxhdGZvcm1MYXllclRyZWVBc1RleHRG
bGFncyA6IHVpbnQ4X3QgewogICAgIERlYnVnID0gMSA8PCAwLAogICAgIElnbm9yZUNoaWxkcmVu
ID0gMSA8PCAxLAogICAgIEluY2x1ZGVPcGFjaXR5ID0gMSA8PCAyLAorICAgIEluY2x1ZGVNb2Rl
bHMgPSAxIDw8IDMsCiB9OwogCiBlbnVtIEdyYXBoaWNzTGF5ZXJQYWludEZsYWdzIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJD
QS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVy
Q0EuY3BwCmluZGV4IDBhY2NjMzkxZmNiZmIyOTU1MjEzMmU5MWRjNmNlMzkyNzcxMmQxNDQuLjRj
MzM0NDRiNmJlNDkwZTE0NWIwZmM4ZmE3NzQ0ZWI3NWQ5MjMzMGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcApA
QCAtMTI0Myw2ICsxMjQzLDcgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnNldENvbnRlbnRzVG9N
b2RlbChSZWZQdHI8TW9kZWw+JiYgbW9kZWwpCiAgICAgaWYgKGNvbnRlbnRzTGF5ZXJDaGFuZ2Vk
KQogICAgICAgICBub3RlU3VibGF5ZXJzQ2hhbmdlZCgpOwogCisgICAgbm90ZUxheWVyUHJvcGVy
dHlDaGFuZ2VkKENvbnRlbnRzUmVjdHNDaGFuZ2VkKTsKICAgICBub3RlTGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoT3BhY2l0eUNoYW5nZWQpOwogfQogI2VuZGlmCkBAIC0xMjUyLDkgKzEyNTMsNiBAQCB2
b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb1BsYXRmb3JtTGF5ZXIoUGxhdGZvcm1M
YXllciogcGxhdGZvcm1MYXllciwgQwogICAgIGlmIChtX2NvbnRlbnRzTGF5ZXIgJiYgcGxhdGZv
cm1MYXllciA9PSBtX2NvbnRlbnRzTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKG1fY29udGVudHNDbGlwcGluZ0xheWVyICYmIG1fY29udGVudHNMYXll
cikKLSAgICAgICAgbV9jb250ZW50c0xheWVyLT5yZW1vdmVGcm9tU3VwZXJsYXllcigpOwotCiAg
ICAgLy8gRklYTUU6IFRoZSBwYXNzZWQgaW4gbGF5ZXIgbWlnaHQgYmUgYSByYXcgbGF5ZXIgb3Ig
YW4gZXh0ZXJuYWxseSBjcmVhdGVkCiAgICAgLy8gUGxhdGZvcm1DQUxheWVyLiBUbyBkZXRlcm1p
bmUgdGhpcyB3ZSBhdHRlbXB0IHRvIGdldCB0aGUKICAgICAvLyBQbGF0Zm9ybUNBTGF5ZXIgcG9p
bnRlci4gSWYgdGhpcyByZXR1cm5zIGEgbnVsbCBwb2ludGVyIHdlIGFzc3VtZSBpdCdzCkBAIC0x
MjczLDkgKzEyNzEsNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb1BsYXRm
b3JtTGF5ZXIoUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllciwgQwogCiAgICAgbV9jb250ZW50
c0xheWVyUHVycG9zZSA9IHBsYXRmb3JtTGF5ZXIgPyBwdXJwb3NlIDogQ29udGVudHNMYXllclB1
cnBvc2U6Ok5vbmU7CiAKLSAgICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIgJiYgbV9jb250
ZW50c0xheWVyKQotICAgICAgICBtX2NvbnRlbnRzQ2xpcHBpbmdMYXllci0+YXBwZW5kU3VibGF5
ZXIoKm1fY29udGVudHNMYXllcik7Ci0KICAgICBub3RlU3VibGF5ZXJzQ2hhbmdlZCgpOwogICAg
IG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c1BsYXRmb3JtTGF5ZXJDaGFuZ2VkKTsK
IH0KQEAgLTIwMzMsMjQgKzIwMjgsMjQgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZVN1
YmxheWVyTGlzdChib29sIG1heExheWVyRGVwdGhSZWFjaGVkKQogICAgICAgICBsaXN0LmFwcGVu
ZChtX2xheWVyKTsKICAgICB9OwogCi0gICAgYXV0byBhcHBlbmRDbGlwcGluZ0xheWVycyA9IFsm
XShQbGF0Zm9ybUNBTGF5ZXJMaXN0JiBsaXN0KSB7Ci0gICAgICAgIGlmICghbV9jb250ZW50c1Zp
c2libGUpCi0gICAgICAgICAgICByZXR1cm47CisgICAgYXV0byBhcHBlbmRDb250ZW50c0xheWVy
ID0gWyZdKFBsYXRmb3JtQ0FMYXllckxpc3QmIGxpc3QpIHsKKyAgICAgICAgaWYgKG1fY29udGVu
dHNWaXNpYmxlICYmIG1fY29udGVudHNMYXllcikKKyAgICAgICAgICAgIGxpc3QuYXBwZW5kKG1f
Y29udGVudHNMYXllcik7CisgICAgfTsKIAotICAgICAgICBpZiAobV9jb250ZW50c0NsaXBwaW5n
TGF5ZXIpIHsKKyAgICBhdXRvIGFwcGVuZENsaXBwaW5nTGF5ZXJzID0gWyZdKFBsYXRmb3JtQ0FM
YXllckxpc3QmIGxpc3QpIHsKKyAgICAgICAgaWYgKG1fY29udGVudHNWaXNpYmxlICYmIG1fY29u
dGVudHNDbGlwcGluZ0xheWVyKQogICAgICAgICAgICAgbGlzdC5hcHBlbmQobV9jb250ZW50c0Ns
aXBwaW5nTGF5ZXIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAg
aWYgKG1fY29udGVudHNMYXllcikKLSAgICAgICAgICAgIGxpc3QuYXBwZW5kKG1fY29udGVudHNM
YXllcik7CiAgICAgfTsKIAogICAgIGF1dG8gYXBwZW5kQ3VzdG9tQW5kQ2xpcHBpbmdMYXllcnMg
PSBbJl0oUGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgewogICAgICAgICBpZiAoYXV0byogY3Vz
dG9tU3VibGF5ZXJzID0gbV9sYXllci0+Y3VzdG9tU3VibGF5ZXJzKCkpCiAgICAgICAgICAgICBs
aXN0LmFwcGVuZFZlY3RvcigqY3VzdG9tU3VibGF5ZXJzKTsKIAotICAgICAgICBhcHBlbmRDbGlw
cGluZ0xheWVycyhsaXN0KTsKKyAgICAgICAgaWYgKG1fY29udGVudHNDbGlwcGluZ0xheWVyKQor
ICAgICAgICAgICAgYXBwZW5kQ2xpcHBpbmdMYXllcnMobGlzdCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGFwcGVuZENvbnRlbnRzTGF5ZXIobGlzdCk7CiAgICAgfTsKIAogICAgIGF1dG8g
YXBwZW5kTGF5ZXJzRnJvbUNoaWxkcmVuID0gWyZdKFBsYXRmb3JtQ0FMYXllckxpc3QmIGxpc3Qp
IHsKQEAgLTIwNzksOSArMjA3NCwxMSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3Vi
bGF5ZXJMaXN0KGJvb2wgbWF4TGF5ZXJEZXB0aFJlYWNoZWQpCiAgICAgYXBwZW5kQ3VzdG9tQW5k
Q2xpcHBpbmdMYXllcnMocHJpbWFyeUxheWVyQ2hpbGRyZW4pOwogCiAgICAgYm9vbCBjbGlwcGlu
Z0xheWVySG9zdHNDaGlsZHJlbiA9IG1fY29udGVudHNSZWN0Q2xpcHNEZXNjZW5kYW50cyAmJiBt
X2NvbnRlbnRzQ2xpcHBpbmdMYXllcjsKLSAgICBpZiAoY2xpcHBpbmdMYXllckhvc3RzQ2hpbGRy
ZW4pIHsKKyAgICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIpIHsKICAgICAgICAgUGxhdGZv
cm1DQUxheWVyTGlzdCBjbGlwcGluZ0NoaWxkcmVuOwotICAgICAgICBidWlsZENoaWxkTGF5ZXJM
aXN0KGNsaXBwaW5nQ2hpbGRyZW4pOworICAgICAgICBpZiAoY2xpcHBpbmdMYXllckhvc3RzQ2hp
bGRyZW4pCisgICAgICAgICAgICBidWlsZENoaWxkTGF5ZXJMaXN0KGNsaXBwaW5nQ2hpbGRyZW4p
OworICAgICAgICBhcHBlbmRDb250ZW50c0xheWVyKGNsaXBwaW5nQ2hpbGRyZW4pOwogICAgICAg
ICBtX2NvbnRlbnRzQ2xpcHBpbmdMYXllci0+c2V0U3VibGF5ZXJzKGNsaXBwaW5nQ2hpbGRyZW4p
OwogICAgIH0KIApAQCAtMzk5MCw2ICszOTg3LDggQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OmR1
bXBJbm5lckxheWVyKFRleHRTdHJlYW0mIHRzLCBQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyLCBPcHQK
ICAgICAgICAgaWYgKGxheWVyLT5pc0hpZGRlbigpKQogICAgICAgICAgICAgdHMgPDwgaW5kZW50
IDw8ICIoaGlkZGVuKVxuIjsKIAorICAgICAgICBsYXllci0+ZHVtcEFkZGl0aW9uYWxQcm9wZXJ0
aWVzKHRzLCBmbGFncyk7CisKICAgICAgICAgaWYgKCFmbGFncy5jb250YWlucyhQbGF0Zm9ybUxh
eWVyVHJlZUFzVGV4dEZsYWdzOjpJZ25vcmVDaGlsZHJlbikpIHsKICAgICAgICAgICAgIGF1dG8g
c3VibGF5ZXJzID0gbGF5ZXItPnN1YmxheWVyc0ZvckxvZ2dpbmcoKTsKICAgICAgICAgICAgIGlm
IChzdWJsYXllcnMuc2l6ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmNwcAppbmRleCAyNmEwMGEwNDY4ODAzYThm
Nzg5OGU5YzZiNzY2NmZmMjlhNmI0ZjZhLi4xZjM5MmY1NDc3Mzk0Y2MzYzc3NWZhNGQxOThjNzQz
ODI5MmFhNTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9QbGF0Zm9ybUNBTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL1BsYXRmb3JtQ0FMYXllci5jcHAKQEAgLTE5OCw2ICsxOTgsMTAgQEAgTGF5ZXJQb29s
JiBQbGF0Zm9ybUNBTGF5ZXI6OmxheWVyUG9vbCgpCiAgICAgcmV0dXJuICpzaGFyZWRQb29sOwog
fQogCit2b2lkIFBsYXRmb3JtQ0FMYXllcjo6ZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKFRleHRT
dHJlYW0mLCBPcHRpb25TZXQ8UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFncz4pCit7Cit9CisK
IFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIFBsYXRmb3JtQ0FMYXllcjo6
TGF5ZXJUeXBlIGxheWVyVHlwZSkKIHsKICAgICBzd2l0Y2ggKGxheWVyVHlwZSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIu
aAppbmRleCBmMTY1ZTQ0MWFlYWQ1OGVjMjE4NzVjNjdkODJlNjNhYTNiMWY2ZmQ2Li4wMzI4MGMx
MTdiOWVhNWVkYWJiMzY3NTlmMmQ2YTk2OGE0MTMxODUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaApAQCAtMzAwLDYg
KzMwMCw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgQ0dSZWN0IGZyYW1lRm9yTGF5ZXIoY29uc3Qg
UGxhdGZvcm1MYXllciopOwogCiAgICAgdm9pZCBtb3ZlVG9MYXllclBvb2woKTsKKyAgICAKKyAg
ICB2aXJ0dWFsIHZvaWQgZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKFRleHRTdHJlYW0mLCBPcHRp
b25TZXQ8UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFncz4pOwogCiBwcm90ZWN0ZWQ6CiAgICAg
UGxhdGZvcm1DQUxheWVyKExheWVyVHlwZSwgUGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25lcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggODg0ZTk0ODUzZmZjYWUxNzY5
YTFjMTYzNzNlZWNiYTYyNDFjZjcyZC4uMDk5OWJjNDY3MDA5MDhhOTE5MDNkYWY2YTg1YTAyOTQ4
MGZmN2UxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjg2Myw2ICsy
ODYzLDggQEAgc3RhdGljIE9wdGlvblNldDxQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzPiB0
b1BsYXRmb3JtTGF5ZXJUcmVlRmxhZ3ModW5zaWduZWQKICAgICAgICAgcGxhdGZvcm1MYXllclRy
ZWVGbGFncy5hZGQoUGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFnczo6SWdub3JlQ2hpbGRyZW4p
OwogICAgIGlmIChmbGFncyAmIEludGVybmFsczo6UExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURF
X09QQUNJVFkpCiAgICAgICAgIHBsYXRmb3JtTGF5ZXJUcmVlRmxhZ3MuYWRkKFBsYXRmb3JtTGF5
ZXJUcmVlQXNUZXh0RmxhZ3M6OkluY2x1ZGVPcGFjaXR5KTsKKyAgICBpZiAoZmxhZ3MgJiBJbnRl
cm5hbHM6OlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMpCisgICAgICAgIHBsYXRm
b3JtTGF5ZXJUcmVlRmxhZ3MuYWRkKFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M6OkluY2x1
ZGVNb2RlbHMpOwogICAgIHJldHVybiBwbGF0Zm9ybUxheWVyVHJlZUZsYWdzOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAxODM3ZjczZTdmMjE0NmZhNDE4YTY3ZmQ4ODA2
Y2Q5M2U2NTk1MmJjLi44ZDNiYTJlNDk3NTk1MmEzMTNkYWMxNTUzYzZiNGFmNzc3ZTk0MjYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTQyNiw2ICs0MjYsNyBAQCBwdWJsaWM6
CiAgICAgICAgIFBMQVRGT1JNX0xBWUVSX1RSRUVfREVCVUcgPSAxLAogICAgICAgICBQTEFURk9S
TV9MQVlFUl9UUkVFX0lHTk9SRVNfQ0hJTERSRU4gPSAyLAogICAgICAgICBQTEFURk9STV9MQVlF
Ul9UUkVFX0lOQ0xVREVfT1BBQ0lUWSA9IDQsCisgICAgICAgIFBMQVRGT1JNX0xBWUVSX1RSRUVf
SU5DTFVERV9NT0RFTFMgPSA4LAogICAgIH07CiAgICAgRXhjZXB0aW9uT3I8U3RyaW5nPiBwbGF0
Zm9ybUxheWVyVHJlZUFzVGV4dChFbGVtZW50JiwgdW5zaWduZWQgc2hvcnQgZmxhZ3MpIGNvbnN0
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggNmZhZjc0OTg5NjZmNmUy
ODcyYmIxNDljMDM2YjdhYTc3YzEzMjc4Yy4uZTU1YTVjNTViZGZhNGVkZGUyZjMwNDdiYzQ0ZDBi
NTY5ODVhYzlmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNTA1LDYg
KzUwNSw3IEBAIGVudW0gVHJlZVR5cGUgewogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBMQVRG
T1JNX0xBWUVSX1RSRUVfREVCVUcgPSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBMQVRG
T1JNX0xBWUVSX1RSRUVfSUdOT1JFU19DSElMRFJFTiA9IDI7CiAgICAgY29uc3QgdW5zaWduZWQg
c2hvcnQgUExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURFX09QQUNJVFkgPSA0OworICAgIGNvbnN0
IHVuc2lnbmVkIHNob3J0IFBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMgPSA4Owog
ICAgIERPTVN0cmluZyBwbGF0Zm9ybUxheWVyVHJlZUFzVGV4dChFbGVtZW50IGVsZW1lbnQsIG9w
dGlvbmFsIHVuc2lnbmVkIHNob3J0IGZsYWdzID0gMCk7CiAKICAgICBET01TdHJpbmcgc2Nyb2xs
YmFyT3ZlcmxheVN0eWxlKG9wdGlvbmFsIE5vZGU/IG5vZGUgPSBudWxsKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9y
bUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rpbmcu
aAppbmRleCA5YTdlM2FiNGE0ZDUyMWZkNzBjOGQ2NWQ5NDRlYzBjNTJiYTU1ODNlLi45MzE3M2E1
NGZmM2UzYmFmZTc0NzI0NDFhMzAwNGIxMWMxNmUwYzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVt
b3RlTW9kZWxIb3N0aW5nLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5oCkBAIC00
Miw2ICs0Miw4IEBAIHByaXZhdGU6CiAgICAgUmVmPFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcj4g
Y2xvbmUoV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25lcikgY29uc3Qgb3ZlcnJp
ZGU7CiAgICAgCiAgICAgdm9pZCBwb3B1bGF0ZUNyZWF0aW9uUHJvcGVydGllcyhSZW1vdGVMYXll
clRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJDcmVhdGlvblByb3BlcnRpZXMmLCBjb25zdCBSZW1vdGVM
YXllclRyZWVDb250ZXh0JiwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGUpIG92
ZXJyaWRlOworICAgIAorICAgIHZvaWQgZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKFRleHRTdHJl
YW0mLCBPcHRpb25TZXQ8UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFncz4pIGZpbmFsOwogCiAg
ICAgUmVmPE1vZGVsPiBtX21vZGVsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2Rl
bEhvc3RpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXll
clRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLm1tCmluZGV4IGNmMDQ3OWU2
N2NjMjUzNjI0N2UwZTZjZjNmNDAzOWI5MGYzYzg5OWYuLjhjMTA2MjIwNWM3N2FmZmQ3YmFkMTdj
Zjk3MjZmYzgwMjA3NjZjMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rpbmcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVl
L1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5tbQpAQCAtNjYsNCArNjYsMTAgQEAg
dm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rpbmc6OnBvcHVsYXRlQ3JlYXRpb25Q
cm9wZXJ0aWVzKFJlbW90ZUxheWVyVHIKICAgICBwcm9wZXJ0aWVzLm1vZGVsID0gbV9tb2RlbC5w
dHIoKTsKIH0KIAordm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rpbmc6OmR1bXBB
ZGRpdGlvbmFsUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywgT3B0aW9uU2V0PFBsYXRmb3JtTGF5
ZXJUcmVlQXNUZXh0RmxhZ3M+IGZsYWdzKQoreworICAgIGlmIChmbGFncy5jb250YWlucyhQbGF0
Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzOjpJbmNsdWRlTW9kZWxzKSkKKyAgICAgICAgdHMgPDwg
aW5kZW50IDw8ICIobW9kZWwgZGF0YSBzaXplICIgPDwgbV9tb2RlbC0+ZGF0YSgpLT5zaXplKCkg
PDwgIilcbiI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY5ZDkyYmNjOGQ3
MmQ5ZTNjNTI5ZjNiNWU4ZWMxMjAxZTIyODM0YjIuLjc3ZjA3ODUyNTUwYTg5ZDExODZkNjJmOGQ2
MDJmMmRlMmEzMWY5YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wNC0yMiAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2luZyB0aGUg
c291cmNlIG9mIGEgbW9kZWwgZWxlbWVudCB3aXRoIGNsaXBwaW5nIGFwcGxpZWQgZG9lcyBub3Qg
dXBkYXRlIHRoZSBtb2RlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI0OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBk
YXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1vZGVsLWVsZW1lbnQvbW9kZWwt
ZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLXdpdGgtY2xpcHBpbmctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMt
bGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1vZGVs
LWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIG1vZGVsLWVsZW1lbnQvcmVzb3VyY2VzL2N1YmUudXNkejogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBBZGQgdGVzdHMgdGhhdCBlbnN1
cmUgdGhhdCBhZGRpbmcgYSA8bW9kZWw+IHdpdGggb25lIHNvdXJjZSwgdGhlbiBjaGFuZ2luZwor
ICAgICAgICBpdCB0byBhbm90aGVyLCBjb3JyZWN0bHkgdXBkYXRlcyB0aGUgY29udGVudCBsYXll
ci4gVGVzdCB0aGlzIGJvdGgKKyAgICAgICAgd2l0aCBhbmQgd2l0aG91dCBjbGlwcGluZyAodGhl
IHdpdGhvdXQtY2xpcHBpbmcgY2FzZSBwYXNzZWQgYmVmb3JlIHRoaXMgY2hhbmdlLAorICAgICAg
ICB3aXRoLWNsaXBwaW5nIGZhaWxlZCkuCisKKyAgICAgICAgVGhlc2UgdGVzdHMgb25seSB3b3Jr
IG9uIENvY29hIHBvcnRzIHdpdGggVUktc2lkZSBjb21wb3NpdGluZyBlbmFibGVkCisgICAgICAg
IGJlY2F1c2UgdGhleSBkZXBlbmQgb24gdGhlIFBsYXRmb3JtQ0FMYXllciBzdWJjbGFzcyBob2xk
aW5nIG9uIHRvIHRoZSBtb2RlbAorICAgICAgICBkYXRhIChhbmQgbG9nZ2luZyBpdHMgc2l6ZSkg
aW4gb3JkZXIgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdHdvIG1vZGVscy4KKwogMjAyMS0w
NC0yMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICB3
aWxsLWNoYW5nZTogdHJhbnNmb3JtIHNob3VsZCBhZmZlY3QgbmVzdGVkIHBvc2l0aW9uOmZpeGVk
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29u
dGVudHMtbGF5ZXItdXBkYXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVt
ZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOThmMDNlOWYxYjgwZjM5MTA4YWEyNmU5NzE3YTVkYWU0OTYyNzQxNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250
ZW50cy1sYXllci11cGRhdGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACisgQmVmb3Jl
IENoYW5naW5nIFNvdXJjZToKKyhwbGF0Zm9ybSBsYXllcgorICAocG9zaXRpb24gMTU4LjAwIDgz
LjAwKQorICAoYm91bmRzIDMwMC4wMCAxNTAuMDApCisgIChjaGlsZHJlbgorICAgIChjb250ZW50
cyBsYXllciAobW9kZWwpCisgICAgICAocG9zaXRpb24gMC4wMCAwLjAwKQorICAgICAgKGJvdW5k
cyAzMDAuMDAgMTUwLjAwKQorICAgICAgKG1vZGVsIGRhdGEgc2l6ZSAzOTUxMjYpCisgICAgKQor
ICApCispCitBZnRlciBDaGFuZ2luZyBTb3VyY2U6CisocGxhdGZvcm0gbGF5ZXIKKyAgKHBvc2l0
aW9uIDE1OC4wMCA4My4wMCkKKyAgKGJvdW5kcyAzMDAuMDAgMTUwLjAwKQorICAoY2hpbGRyZW4K
KyAgICAoY29udGVudHMgbGF5ZXIgKG1vZGVsKQorICAgICAgKHBvc2l0aW9uIDAuMDAgMC4wMCkK
KyAgICAgIChib3VuZHMgMzAwLjAwIDE1MC4wMCkKKyAgICAgIChtb2RlbCBkYXRhIHNpemUgMzI0
OCkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVu
dC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVu
dHMtbGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NTE3ZDIyY2E0ZDZiNzU3MTA4N2YzYzdmYjcyZTAzMDg4ZGRhMjYxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVy
LXVwZGF0ZXMtd2l0aC1jbGlwcGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAorIEJl
Zm9yZSBDaGFuZ2luZyBTb3VyY2U6CisocGxhdGZvcm0gbGF5ZXIKKyAgKHBvc2l0aW9uIDE1OC4w
MCA4My4wMCkKKyAgKGJvdW5kcyAzMDAuMDAgMTUwLjAwKQorICAoY2hpbGRyZW4KKyAgICAoY29u
dGVudHMgY2xpcHBpbmcgbGF5ZXIKKyAgICAgIChwb3NpdGlvbiAwLjAwIDAuMDApCisgICAgICAo
Ym91bmRzIDMwMC4wMCAxNTAuMDApCisgICAgICAoY2hpbGRyZW4KKyAgICAgICAgKGNvbnRlbnRz
IGxheWVyIChtb2RlbCkKKyAgICAgICAgICAocG9zaXRpb24gMC4wMCAwLjAwKQorICAgICAgICAg
IChib3VuZHMgMzAwLjAwIDE1MC4wMCkKKyAgICAgICAgICAobW9kZWwgZGF0YSBzaXplIDM5NTEy
NikKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorQWZ0ZXIgQ2hhbmdpbmcgU291
cmNlOgorKHBsYXRmb3JtIGxheWVyCisgIChwb3NpdGlvbiAxNTguMDAgODMuMDApCisgIChib3Vu
ZHMgMzAwLjAwIDE1MC4wMCkKKyAgKGNoaWxkcmVuCisgICAgKGNvbnRlbnRzIGNsaXBwaW5nIGxh
eWVyCisgICAgICAocG9zaXRpb24gMC4wMCAwLjAwKQorICAgICAgKGJvdW5kcyAzMDAuMDAgMTUw
LjAwKQorICAgICAgKGNoaWxkcmVuCisgICAgICAgIChjb250ZW50cyBsYXllciAobW9kZWwpCisg
ICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMC4wMCkKKyAgICAgICAgICAoYm91bmRzIDMwMC4wMCAx
NTAuMDApCisgICAgICAgICAgKG1vZGVsIGRhdGEgc2l6ZSAzMjQ4KQorICAgICAgICApCisgICAg
ICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21vZGVsLWVsZW1l
bnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLXdpdGgtY2xpcHBpbmcuaHRt
bCBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXll
ci11cGRhdGVzLXdpdGgtY2xpcHBpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODlmMjY4OWYxNDQ5YWUx
ZjdiOWUwMDE5MDUwOTM2N2U1OWM5YjE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
bW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtd2l0aC1j
bGlwcGluZy5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgTW9kZWxFbGVtZW50RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4KKzxi
b2R5PgorPG1vZGVsIGlkPSJtb2RlbCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDVweCI+CisgICAg
PHNvdXJjZSBzcmM9InJlc291cmNlcy9oZWFydC51c2R6Ij4KKzwvbW9kZWw+Cis8cHJlIGlkPSJs
YXllcnMiPjwvcHJlPgorPHNjcmlwdD4KKyAgICBsZXQgbGF5ZXJzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxheWVycyIpOworICAgIGxldCBzb3VyY2UgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgic291cmNlIilbMF07CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBsYXllcnMudGV4dENvbnRlbnQgPSAi
VGhpcyB0ZXN0IHJlcXVpcmVzIHRlc3RSdW5uZXIuIjsKKworICAgIGxldCBtb2RlbCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlbCIpOworCisgICAgbW9kZWwucmVhZHkudGhlbih2YWx1
ZSA9PiB7CisgICAgICAgIGxheWVycy50ZXh0Q29udGVudCA9ICJCZWZvcmUgQ2hhbmdpbmcgU291
cmNlOlxuIjsKKyAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ICs9IHdpbmRvdy5pbnRlcm5hbHMu
cGxhdGZvcm1MYXllclRyZWVBc1RleHQobW9kZWwsIHdpbmRvdy5pbnRlcm5hbHMuUExBVEZPUk1f
TEFZRVJfVFJFRV9JTkNMVURFX01PREVMUyk7CisKKyAgICAgICAgc291cmNlLnNyYyA9ICJyZXNv
dXJjZXMvY3ViZS51c2R6IjsKKyAgICAgICAgbW9kZWwucmVhZHkudGhlbih2YWx1ZSA9PiB7Cisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICBsYXll
cnMudGV4dENvbnRlbnQgKz0gIkFmdGVyIENoYW5naW5nIFNvdXJjZTpcbiI7CisgICAgICAgICAg
ICAgICAgbGF5ZXJzLnRleHRDb250ZW50ICs9IHdpbmRvdy5pbnRlcm5hbHMucGxhdGZvcm1MYXll
clRyZWVBc1RleHQobW9kZWwsIHdpbmRvdy5pbnRlcm5hbHMuUExBVEZPUk1fTEFZRVJfVFJFRV9J
TkNMVURFX01PREVMUyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sIHJlYXNvbiA9PiB7Cisg
ICAgICAgICAgICBsYXllcnMudGV4dENvbnRlbnQgPSBgRmFpbGVkLiBTZWNvbmQgbW9kZWwgZGlk
IG5vdCBsb2FkOiAke3JlYXNvbn1gOworICAgICAgICB9KS5maW5hbGx5KCgpID0+IHsgCisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOworICAgICAgICAKKyAgICB9LCByZWFzb24gPT4g
eworICAgICAgICBsYXllcnMudGV4dENvbnRlbnQgPSBgRmFpbGVkLiBGaXJzdCBtb2RlbCBkaWQg
bm90IGxvYWQ6ICR7cmVhc29ufWA7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21v
ZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvbW9k
ZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ZjEzYTY0NDI3Mzg0MDJmMWNlN2YxZTFhYzA1YmZkNzE2MWM0NmJhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRl
bnRzLWxheWVyLXVwZGF0ZXMuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIE1vZGVsRWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgor
PGh0bWw+Cis8Ym9keT4KKzxtb2RlbCBpZD0ibW9kZWwiPgorICAgIDxzb3VyY2Ugc3JjPSJyZXNv
dXJjZXMvaGVhcnQudXNkeiI+Cis8L21vZGVsPgorPHByZSBpZD0ibGF5ZXJzIj48L3ByZT4KKzxz
Y3JpcHQ+CisgICAgbGV0IGxheWVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnMi
KTsKKyAgICBsZXQgc291cmNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNvdXJj
ZSIpWzBdOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ID0gIlRoaXMgdGVzdCByZXF1aXJl
cyB0ZXN0UnVubmVyLiI7CisKKyAgICBsZXQgbW9kZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibW9kZWwiKTsKKworICAgIG1vZGVsLnJlYWR5LnRoZW4odmFsdWUgPT4geworICAgICAgICBs
YXllcnMudGV4dENvbnRlbnQgPSAiQmVmb3JlIENoYW5naW5nIFNvdXJjZTpcbiI7CisgICAgICAg
IGxheWVycy50ZXh0Q29udGVudCArPSB3aW5kb3cuaW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJUcmVl
QXNUZXh0KG1vZGVsLCB3aW5kb3cuaW50ZXJuYWxzLlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVE
RV9NT0RFTFMpOworCisgICAgICAgIHNvdXJjZS5zcmMgPSAicmVzb3VyY2VzL2N1YmUudXNkeiI7
CisgICAgICAgIG1vZGVsLnJlYWR5LnRoZW4odmFsdWUgPT4geworICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ICs9
ICJBZnRlciBDaGFuZ2luZyBTb3VyY2U6XG4iOworICAgICAgICAgICAgICAgIGxheWVycy50ZXh0
Q29udGVudCArPSB3aW5kb3cuaW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KG1vZGVs
LCB3aW5kb3cuaW50ZXJuYWxzLlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9LCByZWFzb24gPT4geworICAgICAgICAgICAgbGF5ZXJz
LnRleHRDb250ZW50ID0gYEZhaWxlZC4gU2Vjb25kIG1vZGVsIGRpZCBub3QgbG9hZDogJHtyZWFz
b259YDsKKyAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7IAorICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgICB9KTsKKyAgICAgICAgCisgICAgfSwgcmVhc29uID0+IHsKKyAgICAgICAgbGF5ZXJz
LnRleHRDb250ZW50ID0gYEZhaWxlZC4gRmlyc3QgbW9kZWwgZGlkIG5vdCBsb2FkOiAke3JlYXNv
bn1gOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9yZXNvdXJjZXMvY3ViZS51c2R6
IGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9yZXNvdXJjZXMvY3ViZS51c2R6Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM3NDI2ZThlYTk5MmFkMWQ2NGZjNWZmNDVhMWMzOWNiZDUwZjI3MTUKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDMyNDgKemNtYnRYWilfVzk4R3FpaGVMbU1vWXNYMk9xPGAhLTlXLT81eW07
TiNGeWl3WlElYlllc2VNeW5EKGJ+UEg+V3l4CnotcllIKjZHRU9xQEx7THxCKStqSjZDWERMbE13
Sn1mQX0oaTU8bkZqMHdQcDRrTl4kVUdfOUk4WH5PZkk/e3p9OQp6Unp0a1diSS1ydWAjaklSY2xX
LUpeQ3h9Jlo5cWYrJUo8SE1qaVpsaj5pezZ5Ml5+OzM5Tm5wRTxzPHJaJjlvZDgKej5VTyNHalh1
ZXBMNmBqNUdlYiZZRURPUHc+QiheMF4/d1A+bzkjIT1XaXMqMUUhI0drYC1Ed0M5fDIqVE9nMCko
CnpxJUlfbT9NQXRVcH1QZHdoMTkjcilgeE9HKHJ6VDRaIWdPR2ttNSlRcjJSKy1rU052dzYzPXhJ
PHArPj51MXs9fAp6S1okWXhpTit1aj43UFA2alB4SzlwS31PaDkqXlZqZncrVX17JEdnZHBePERj
ZmFYNCR1SCtQRExRKFB4PmxGVkwKelRVemJCNzRvbSR5JVZ+e21jLSFnJlREdFl5Vzs5bl5xUE5S
ZW11PnwjfHh4cS1Cdjx3V0xtJWY5KnM5emRMeGF6CnpmJmF2NUd+NnE9ZW9yT34+MDI/Yi1KQUVa
O347KT45OXs+eyVYNzczSChJJCM9YWBTSTRlTjc5IXtmKyFvXzF8cAp6RmR2R09aWjh8WGN4YDI0
XilAN209QFExZ3VTfFo5eHRFO1k2eXNocGszcyZBbERVb2V7YmNVSEE1Vk1yQEhuSnoKem1BT3Yq
TC1OS3RDRE9RKE5MJUB2cWI+VlpQQl9gYVp7fnl9ZUpkdz8xQVV5SU07JHlJKjxuKjJqemVuO2sy
dTIxCno5LWkhaz1YeFVAYHRHZSFeU01fP0Q/ZTNVfEpsT3ZeemViOShldXd8KGo4eFg7cXtqV3lL
by1KJnpwTj9udDF4MQp6ODFhVmlsaWtHUypyXkN7eGN1VFM7I1omRSo/ZmNWOD89WWZ7elZRTnVY
djg5SUFIMEFQX0pjWGJzTjNfSEF8bikKelBVK1JNcjVXdSNBSWUlcXR5aTVxSSQ+SUtHfFNGd21T
WDQqbDxLeClQTEhkWEc7MihDUjQ3QFI+WDtWYjtxWTleCnpHLWZvKk56XlFETSVUV2FORkk0fjgw
P3g+KGtyQFZmcGUqKm9sPlZZSTlvQlRYOzV1amI1MGwpNkFVdDUpUXZLZgp6T2d3QjEmMlpvOzZ8
P0dVKXJSQW1JZ01xU0g0THE1SGNhPSFqZShJI2d6THJ5RDNzNnYrNGBnZzxOQWR1MmVLSDwKelFl
bD5Jb1VWO0htVEs1bDRBdXEzKF5ncnRJdzNQK1RLY29fdlN2Pn4mRDBJWT9xUDR2c0Zwb3FKN0Qw
blpeQU9HCnpzM3EtYiUmNSh0eihnZ1NwM0l1eyRLZDk2eUZPWGdYTE1VUGpZNFRrIV92IVVlWF48
Kl5zLWpJMHsoTlhEfD5gSgp6cGpteTh3Q2gje2w3JVVDNCEmbUFvbSQ8b018TUlDa0Racnd5ej4j
ZzQ3I3hvZXE3Y29tQWI4RSY4b1F2U1R9cWYKejdoU0RaXzBtRE81d15fd2coKlhgWkowRjhEcXk5
JEk7bUg2PWhDO314X3wra1hVPjZSVWM/OGUqeWEyJFNYYmRZCnprYnUmY1VANEhRSyY1SmA0bWhm
SEwzOHF8R2lDMiVhO295b3hoJVk7U3YzPmEySlp4QjR6bjZBemhQKmxFKWJIeQp6UktefHhfODV+
KnQzM1Ahe0pfQkgwPypifXI7PWlHc2E4SkI+dTxlZD9xTnlDIUZEOUY5ck5yTmtIZVhSQ0BCcDcK
ejlxeGBRI2J8QjxtPkA5YiF8UlI2QF5XTlpZRHl3Qkx5X2VId2dgKWhpeSo/Z2teb213cH0oWDIx
V0V7YVN8LUV0CnoqJnQtX0VjSHc5VDNFKFUxSFlHJFQjaTZBRTx6cXBTR2pgI1ZZd2x9ISpQaDxI
N3RLJGc0N19xRG5ZY3opcW4ybAp6XlFpQX1ee1chZGdDTWFHQm5SUE81WE53Ulp2PWMyIzE4ZEJF
RSQyPUlMYz57aDchUGI7UTlYYGhHMjVDN290OzkKejgxXjtoQnA4QGA3e1M4YE5AMyl5Mn10JEFC
TjFSaGNuYyhYVlNYT0IwWklNPD9GWm1DQXxCbU93TWlNND5UTnQ4Cnpma2VfNUJHK2RtaD5ZeFQ/
OyMoLTc+IVRrJkNUajgpIWxkazNxZn42NGo/aUxjfD94M2ttbkooM3VaQlF4KSZQWAp6YzYqTCsh
fWd4U1NOWVJ1UiV0byRQM3lfXkNfVGpAXzUoI0ZoaXlUfFo0UWIjcjNZNVRvMSV6NCFGNGd6NnZl
PGIKenZFdWBBJDNNbUJpaCRocl9yQWFGZDRHQGFVVktIb3k4cTd1aXZ6LStgYUF5RS19IzNfQDVj
V1U/fDNLUGBNYVNqCno1M1B2NWpqIXpiJkc1cG9Gbnt6e019PVFMeyRCaVRZTU4rcFBFQ19Mbmxa
TzNCQDw5R25YeEdKMyZRKEJRMyg4Xwp6UFowaHAzalhWWCg4XkY3eXFvcWpXbnk5P2hhRjhmX192
RC0+JmRyUyRJYlFDVzR+VE05RDhramVMVm88ejhedTEKei1hVTZUc1RxV2MyYDEraHh5YVVJKkhf
b1Z4N0hZMmlgLWVldiZRXikqTFlRdCkocVRTLUotWSMpWWlHOSszbUpkCnp4TW5PTDJ0K14oYHUo
ZXRLWSlMSkBjVkB8O3lyQ05mdzJkYUw4azhgeFZ7cCtFcWMhND42NXVyMXk0YVg9ZTNITwp6d19f
S0lYSEp8dHo1eGgkdHRtZVZLWUpvS0tET2I4eWBLTHZSZ1I8TyZsTmYzbH4mXmhtc0BWZ1hOc1RX
Sn5BQ14KeHtWYWYmSmJ4amQlV240bi10JUFOXkdgQ1leeG5URUplYkVtI3hJTUwwZTVLX2UoQ3Jy
IXteLT1fJj0qZFB+IWpxCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWMwOTU0YWY1OTVmNTQ4ZDU1
YzVlNTg2Y2MyYTVhMmMyZWI1Y2NiNy4uMTgwOWNlNGUyNmQ4NDE3YTEwMmFhNWUzYmZhODk3YjRl
MzFmNWE2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNDYsNiArNDYsOSBAQCBmYXN0L3JlcGFpbnQvcGxhY2Vob2xkZXItYWZ0ZXItY2Fw
cy1sb2NrLWhpZGRlbi5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJi
YW5kaW5nLXZpZXdwb3J0LXJlY3RzLmh0bWwgWyBQYXNzIF0KIGZhc3QvdmlzdWFsLXZpZXdwb3J0
L3J1YmJlcmJhbmRpbmctdmlld3BvcnQtcmVjdHMtaGVhZGVyLWZvb3Rlci5odG1sICBbIFBhc3Mg
XQogCittb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy13
aXRoLWNsaXBwaW5nLmh0bWwgWyBQYXNzIF0KK21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1j
b250ZW50cy1sYXllci11cGRhdGVzLmh0bWwgWyBQYXNzIF0KKwogIyBQZW5kaW5nIFNESyBjaGFu
Z2VzLCByZS1za2lwIHRoZXNlIHRlc3RzIHRoYXQgYXJlIHVuLXNraXBwZWQgYWJvdmUuCiBmYXN0
L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtY29udGFpbi5odG1sIFsgU2tpcCBdCiBmYXN0L3Zp
ZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtY292ZXIuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2M2ZjMjU4ZTZjZWZhMmRjMzZiMjMx
M2ZmMGExOWY0ZmM5MTE5NmNjLi41NDQxMjQ3NDdjZGFkNmYwZGRjZjdkYzhkMGVjZmU5NTViZTIx
NDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjcs
NiArNjcsMTAgQEAgd2Via2l0Lm9yZy9iLzIxOTE2IHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2Zh
aWx1cmVzL2J1Z3MvYnVnMTc4ODU1LnhtbCBbIFBhc3MgSW0KIGZhc3QvZG9tL1dpbmRvdy9zbG93
LXVubG9hZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5kbGVy
LW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sCiAKKyMgVGhpcyB0ZXN0IG9ubHkgd29ya3Mgd2l0
aCBVSS1zaWRlIGNvbXBvc2l0aW5nCittb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVu
dHMtbGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLmh0bWwgWyBTa2lwIF0KK21vZGVsLWVsZW1l
bnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLmh0bWwgWyBTa2lwIF0KKwog
IyBBY2Nlc3NpYmlsaXR5IHRlc3RzIGZvciBub3RpZmljYXRpb25zIHRoYXQgZG9uJ3QgZXhpc3Qg
b3IgYXJlbid0IG5lZWRlZCBvbiBNYWMgT1MgWC4KIGFjY2Vzc2liaWxpdHkvYXJpYS1jaGVja2Jv
eC1zZW5kcy1ub3RpZmljYXRpb24uaHRtbAogYWNjZXNzaWJpbGl0eS9hcmlhLXN3aXRjaC1zZW5k
cy1ub3RpZmljYXRpb24uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426866</attachid>
            <date>2021-04-22 17:02:06 -0700</date>
            <delta_ts>2021-04-22 17:21:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224917-20210422170206.patch</filename>
            <type>text/plain</type>
            <size>26717</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk4MmQ4NDA5Zjk3NjEx
ZGIxODY2ODRlYWQ1NDgwYjIwOTVmMTQ1NC4uOTgxMTRiMmM2MDYyNjQ1ZjVjYzg0YWMzNmUwN2Uz
NzVlNTM3ZmY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA0LTIyICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRo
ZSBzb3VyY2Ugb2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5v
dCB1cGRhdGUgdGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0czogbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxh
eWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy5odG1sCisgICAgICAgICAgICAgICBtb2RlbC1lbGVt
ZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy5odG1sCisKKyAgICAgICAg
UHJldmlvdXNseSwgYSA8bW9kZWw+IHdpdGggYSBjb250ZW50cyBjbGlwcGluZyBsYXllciAoZS5n
LiBib3JkZXItcmFkaXVzKQorICAgICAgICB3b3VsZCBub3QgcmVwYXJlbnQgaXRzIGNvbnRlbnRz
IGxheWVyIGluIHRoZSByaWdodCBwbGFjZSB3aGVuIHNldENvbnRlbnRzVG9Nb2RlbAorICAgICAg
ICB3YXMgY2FsbGVkIGFnYWluIChiZWNhdXNlIHRoZSBzb3VyY2UgY2hhbmdlZCksIGxlYXZpbmcg
dGhlIG9sZCBtb2RlbAorICAgICAgICBjb250ZW50cyBsYXllciBpbiBwbGFjZS4KKyAgICAgICAg
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJMaXN0KToKKyAg
ICAgICAgRW5zdXJlIHRoYXQgdXBkYXRlU3VibGF5ZXJMaXN0IGFsd2F5cyBwYXJlbnRzIGNvbnRl
bnRzTGF5ZXIgaW4gb25lIG9mIGl0cyB0d28gaG9tZXM6CisgICAgICAgIHVuZGVyIGNvbnRlbnRz
Q2xpcHBpbmdMYXllciwgaWYgaXQgZXhpc3RzOyBvdGhlcndpc2UsIGRpcmVjdGx5IHVuZGVyIHRo
ZSBwcmltYXJ5IGxheWVyLgorCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnNl
dENvbnRlbnRzVG9Nb2RlbCk6CisgICAgICAgIERyaXZlLWJ5IGZpeCBhIGJ1ZyByZXZlYWxlZCBi
eSB0aGUgdGVzdHMgZm9yIHRoaXMgcGF0Y2g6IHdoZW4gc3dhcHBpbmcgb3V0IHRoZQorICAgICAg
ICBjb250ZW50cyBsYXllciBpbiBzZXRDb250ZW50c1RvTW9kZWwsIHdlIGFsc28gbmVlZCB0byBt
YXJrIENvbnRlbnRzUmVjdHNDaGFuZ2VkLAorICAgICAgICBvciB0aGUgbmV3IGNvbnRlbnRzIGxh
eWVyIHdpbGwgbm90IGdldCBpdHMgYm91bmRzIHNldCBkdXJpbmcgdGhlIHN1YnNlcXVlbnQgZmx1
c2guCisKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb1Bs
YXRmb3JtTGF5ZXIpOgorICAgICAgICBSZW1vdmUgc3BlY2lhbC1jYXNlIGNvZGUgdGhhdCB3YXMg
YWRkZWQgdG8gZml4IHRoaXMgYnVnIGp1c3QgZm9yIHNldENvbnRlbnRzVG9QbGF0Zm9ybUxheWVy
OworICAgICAgICB0aGlzIGNhc2UgaXMgbm93IGNvcnJlY3RseSBoYW5kbGVkIGZvciBhbGwgY29u
dGVudHMgbGF5ZXJzIGJ5IHVwZGF0ZVN1YmxheWVyTGlzdC4KKworICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjpkdW1wSW5uZXJMYXllciBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNBTGF5ZXI6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9QbGF0Zm9ybUxheWVyVHJlZUZsYWdzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmlkbDoKKyAgICAgICAgQWRkIGEgYml0IHRvIHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KCkgdGhh
dCBtYWtlcyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcKKyAgICAgICAgZHVtcCB0
aGUgc2l6ZSBvZiB0aGUgbW9kZWwgdGhhdCBpdCBpcyBob3N0aW5nLCB3aGljaCBpcyB1c2VkIGlu
IHRoZSB0ZXN0IGZvciB0aGlzIGJ1Zy4KKworICAgICAgICBSZW1vdmUgdGhlIEluY2x1ZGVPcGFj
aXR5IGJpdCBzaW5jZSB3ZSBjYW4ganVzdCBhbHdheXMgbG9nIG9wYWNpdHkgaWYgaXQncyBub3Qg
dGhlIGRlZmF1bHQuCisKIDIwMjEtMDQtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSBzaG91bGQgYWZmZWN0
IG5lc3RlZCBwb3NpdGlvbjpmaXhlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwNjYwODAyNTA2YmI3MzZhYjkwZjQ5
M2Y5MjY0Y2NiMTRlNGZlMWI5Li5kZjM1MDM0NDc2YzAyNWYxYTY4MmZiZjQ1YzVkYzEwYzg0MWQ2
ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA0LTIyICBUaW0gSG9ydG9uICA8
dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRoZSBzb3VyY2Ug
b2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5vdCB1cGRhdGUg
dGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVt
b3RlTW9kZWxIb3N0aW5nLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxh
eWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcubW06CisgICAgICAgIChX
ZWJLaXQ6OlBsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZzo6ZHVtcEFkZGl0aW9uYWxQ
cm9wZXJ0aWVzKToKKyAgICAgICAgQWRkIGEgYml0IHRvIHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0
KCkgdGhhdCBtYWtlcyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcKKyAgICAgICAg
ZHVtcCB0aGUgc2l6ZSBvZiB0aGUgbW9kZWwgdGhhdCBpdCBpcyBob3N0aW5nLCB3aGljaCBpcyB1
c2VkIGluIHRoZSB0ZXN0IGZvciB0aGlzIGJ1Zy4KKwogMjAyMS0wNC0yMSAgS2F0ZSBDaGVuZXkg
IDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3d1cCBjaGFuZ2Ug
dG8gYnVnIDIyNDc3OSBiYXNlZCBvbiBwb3N0LWxhbmQgcmV2aWV3IGNvbW1lbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50
LmgKaW5kZXggZDhhZjVmYjcwNGNhYTc2ZWI0ZDc1OTc3YmVhNzBjZTcxMDk5YmFiMC4uMmE0MjJl
ZjNmYTk2MWY0MWJlZGM2YmZiN2MwYWE1M2E2Zjk1NWY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtOTAs
NyArOTAsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yOwogZW51
bSBjbGFzcyBQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzIDogdWludDhfdCB7CiAgICAgRGVi
dWcgPSAxIDw8IDAsCiAgICAgSWdub3JlQ2hpbGRyZW4gPSAxIDw8IDEsCi0gICAgSW5jbHVkZU9w
YWNpdHkgPSAxIDw8IDIsCisgICAgSW5jbHVkZU1vZGVscyA9IDEgPDwgMiwKIH07CiAKIGVudW0g
R3JhcGhpY3NMYXllclBhaW50RmxhZ3MgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKaW5kZXggMGFjY2MzOTFmY2Jm
YjI5NTUyMTMyZTkxZGM2Y2UzOTI3NzEyZDE0NC4uMzM2MmI3ZDhhYTRhOWVkNjJlMjA5NTY3Mzg1
NjhiNjA5MGI1NGJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0xMjQzLDYgKzEyNDMsNyBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb01vZGVsKFJlZlB0cjxNb2RlbD4mJiBtb2Rl
bCkKICAgICBpZiAoY29udGVudHNMYXllckNoYW5nZWQpCiAgICAgICAgIG5vdGVTdWJsYXllcnND
aGFuZ2VkKCk7CiAKKyAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoQ29udGVudHNSZWN0c0No
YW5nZWQpOwogICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChPcGFjaXR5Q2hhbmdlZCk7CiB9
CiAjZW5kaWYKQEAgLTEyNTIsOSArMTI1Myw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpzZXRD
b250ZW50c1RvUGxhdGZvcm1MYXllcihQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyLCBDCiAg
ICAgaWYgKG1fY29udGVudHNMYXllciAmJiBwbGF0Zm9ybUxheWVyID09IG1fY29udGVudHNMYXll
ci0+cGxhdGZvcm1MYXllcigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9jb250ZW50
c0NsaXBwaW5nTGF5ZXIgJiYgbV9jb250ZW50c0xheWVyKQotICAgICAgICBtX2NvbnRlbnRzTGF5
ZXItPnJlbW92ZUZyb21TdXBlcmxheWVyKCk7Ci0KICAgICAvLyBGSVhNRTogVGhlIHBhc3NlZCBp
biBsYXllciBtaWdodCBiZSBhIHJhdyBsYXllciBvciBhbiBleHRlcm5hbGx5IGNyZWF0ZWQKICAg
ICAvLyBQbGF0Zm9ybUNBTGF5ZXIuIFRvIGRldGVybWluZSB0aGlzIHdlIGF0dGVtcHQgdG8gZ2V0
IHRoZQogICAgIC8vIFBsYXRmb3JtQ0FMYXllciBwb2ludGVyLiBJZiB0aGlzIHJldHVybnMgYSBu
dWxsIHBvaW50ZXIgd2UgYXNzdW1lIGl0J3MKQEAgLTEyNzMsOSArMTI3MSw2IEBAIHZvaWQgR3Jh
cGhpY3NMYXllckNBOjpzZXRDb250ZW50c1RvUGxhdGZvcm1MYXllcihQbGF0Zm9ybUxheWVyKiBw
bGF0Zm9ybUxheWVyLCBDCiAKICAgICBtX2NvbnRlbnRzTGF5ZXJQdXJwb3NlID0gcGxhdGZvcm1M
YXllciA/IHB1cnBvc2UgOiBDb250ZW50c0xheWVyUHVycG9zZTo6Tm9uZTsKIAotICAgIGlmICht
X2NvbnRlbnRzQ2xpcHBpbmdMYXllciAmJiBtX2NvbnRlbnRzTGF5ZXIpCi0gICAgICAgIG1fY29u
dGVudHNDbGlwcGluZ0xheWVyLT5hcHBlbmRTdWJsYXllcigqbV9jb250ZW50c0xheWVyKTsKLQog
ICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CiAgICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2Vk
KENvbnRlbnRzUGxhdGZvcm1MYXllckNoYW5nZWQpOwogfQpAQCAtMjAzMywyNCArMjAyOCwyNCBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJMaXN0KGJvb2wgbWF4TGF5ZXJE
ZXB0aFJlYWNoZWQpCiAgICAgICAgIGxpc3QuYXBwZW5kKG1fbGF5ZXIpOwogICAgIH07CiAKLSAg
ICBhdXRvIGFwcGVuZENsaXBwaW5nTGF5ZXJzID0gWyZdKFBsYXRmb3JtQ0FMYXllckxpc3QmIGxp
c3QpIHsKLSAgICAgICAgaWYgKCFtX2NvbnRlbnRzVmlzaWJsZSkKLSAgICAgICAgICAgIHJldHVy
bjsKKyAgICBhdXRvIGFwcGVuZENvbnRlbnRzTGF5ZXIgPSBbJl0oUGxhdGZvcm1DQUxheWVyTGlz
dCYgbGlzdCkgeworICAgICAgICBpZiAobV9jb250ZW50c1Zpc2libGUgJiYgbV9jb250ZW50c0xh
eWVyKQorICAgICAgICAgICAgbGlzdC5hcHBlbmQobV9jb250ZW50c0xheWVyKTsKKyAgICB9Owog
Ci0gICAgICAgIGlmIChtX2NvbnRlbnRzQ2xpcHBpbmdMYXllcikgeworICAgIGF1dG8gYXBwZW5k
Q2xpcHBpbmdMYXllcnMgPSBbJl0oUGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgeworICAgICAg
ICBpZiAobV9jb250ZW50c1Zpc2libGUgJiYgbV9jb250ZW50c0NsaXBwaW5nTGF5ZXIpCiAgICAg
ICAgICAgICBsaXN0LmFwcGVuZChtX2NvbnRlbnRzQ2xpcHBpbmdMYXllcik7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAobV9jb250ZW50c0xheWVyKQotICAg
ICAgICAgICAgbGlzdC5hcHBlbmQobV9jb250ZW50c0xheWVyKTsKICAgICB9OwogCiAgICAgYXV0
byBhcHBlbmRDdXN0b21BbmRDbGlwcGluZ0xheWVycyA9IFsmXShQbGF0Zm9ybUNBTGF5ZXJMaXN0
JiBsaXN0KSB7CiAgICAgICAgIGlmIChhdXRvKiBjdXN0b21TdWJsYXllcnMgPSBtX2xheWVyLT5j
dXN0b21TdWJsYXllcnMoKSkKICAgICAgICAgICAgIGxpc3QuYXBwZW5kVmVjdG9yKCpjdXN0b21T
dWJsYXllcnMpOwogCi0gICAgICAgIGFwcGVuZENsaXBwaW5nTGF5ZXJzKGxpc3QpOworICAgICAg
ICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIpCisgICAgICAgICAgICBhcHBlbmRDbGlwcGlu
Z0xheWVycyhsaXN0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYXBwZW5kQ29udGVudHNM
YXllcihsaXN0KTsKICAgICB9OwogCiAgICAgYXV0byBhcHBlbmRMYXllcnNGcm9tQ2hpbGRyZW4g
PSBbJl0oUGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgewpAQCAtMjA3OSw5ICsyMDc0LDExIEBA
IHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVTdWJsYXllckxpc3QoYm9vbCBtYXhMYXllckRl
cHRoUmVhY2hlZCkKICAgICBhcHBlbmRDdXN0b21BbmRDbGlwcGluZ0xheWVycyhwcmltYXJ5TGF5
ZXJDaGlsZHJlbik7CiAKICAgICBib29sIGNsaXBwaW5nTGF5ZXJIb3N0c0NoaWxkcmVuID0gbV9j
b250ZW50c1JlY3RDbGlwc0Rlc2NlbmRhbnRzICYmIG1fY29udGVudHNDbGlwcGluZ0xheWVyOwot
ICAgIGlmIChjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbikgeworICAgIGlmIChtX2NvbnRlbnRz
Q2xpcHBpbmdMYXllcikgewogICAgICAgICBQbGF0Zm9ybUNBTGF5ZXJMaXN0IGNsaXBwaW5nQ2hp
bGRyZW47Ci0gICAgICAgIGJ1aWxkQ2hpbGRMYXllckxpc3QoY2xpcHBpbmdDaGlsZHJlbik7Cisg
ICAgICAgIGlmIChjbGlwcGluZ0xheWVySG9zdHNDaGlsZHJlbikKKyAgICAgICAgICAgIGJ1aWxk
Q2hpbGRMYXllckxpc3QoY2xpcHBpbmdDaGlsZHJlbik7CisgICAgICAgIGFwcGVuZENvbnRlbnRz
TGF5ZXIoY2xpcHBpbmdDaGlsZHJlbik7CiAgICAgICAgIG1fY29udGVudHNDbGlwcGluZ0xheWVy
LT5zZXRTdWJsYXllcnMoY2xpcHBpbmdDaGlsZHJlbik7CiAgICAgfQogCkBAIC0zOTg0LDEyICsz
OTgxLDE0IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpkdW1wSW5uZXJMYXllcihUZXh0U3RyZWFt
JiB0cywgUGxhdGZvcm1DQUxheWVyKiBsYXllciwgT3B0CiAgICAgICAgIHRzIDw8IGluZGVudCA8
PCAiKHBvc2l0aW9uICIgPDwgbGF5ZXItPnBvc2l0aW9uKCkueCgpIDw8ICIgIiA8PCBsYXllci0+
cG9zaXRpb24oKS55KCkgPDwgIilcbiI7CiAgICAgICAgIHRzIDw8IGluZGVudCA8PCAiKGJvdW5k
cyAiIDw8IGxheWVyLT5ib3VuZHMoKS53aWR0aCgpIDw8ICIgIiA8PCBsYXllci0+Ym91bmRzKCku
aGVpZ2h0KCkgPDwgIilcbiI7CiAgICAgICAgIAotICAgICAgICBpZiAoZmxhZ3MuY29udGFpbnMo
UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFnczo6SW5jbHVkZU9wYWNpdHkpKQorICAgICAgICBp
ZiAobGF5ZXItPm9wYWNpdHkoKSAhPSAxKQogICAgICAgICAgICAgdHMgPDwgaW5kZW50IDw8ICIo
b3BhY2l0eSAiIDw8IGxheWVyLT5vcGFjaXR5KCkgPDwgIilcbiI7CiAKICAgICAgICAgaWYgKGxh
eWVyLT5pc0hpZGRlbigpKQogICAgICAgICAgICAgdHMgPDwgaW5kZW50IDw8ICIoaGlkZGVuKVxu
IjsKIAorICAgICAgICBsYXllci0+ZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKHRzLCBmbGFncyk7
CisKICAgICAgICAgaWYgKCFmbGFncy5jb250YWlucyhQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZs
YWdzOjpJZ25vcmVDaGlsZHJlbikpIHsKICAgICAgICAgICAgIGF1dG8gc3VibGF5ZXJzID0gbGF5
ZXItPnN1YmxheWVyc0ZvckxvZ2dpbmcoKTsKICAgICAgICAgICAgIGlmIChzdWJsYXllcnMuc2l6
ZSgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9Q
bGF0Zm9ybUNBTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
UGxhdGZvcm1DQUxheWVyLmNwcAppbmRleCAyNmEwMGEwNDY4ODAzYThmNzg5OGU5YzZiNzY2NmZm
MjlhNmI0ZjZhLi4xZjM5MmY1NDc3Mzk0Y2MzYzc3NWZhNGQxOThjNzQzODI5MmFhNTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3Jt
Q0FMYXllci5jcHAKQEAgLTE5OCw2ICsxOTgsMTAgQEAgTGF5ZXJQb29sJiBQbGF0Zm9ybUNBTGF5
ZXI6OmxheWVyUG9vbCgpCiAgICAgcmV0dXJuICpzaGFyZWRQb29sOwogfQogCit2b2lkIFBsYXRm
b3JtQ0FMYXllcjo6ZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKFRleHRTdHJlYW0mLCBPcHRpb25T
ZXQ8UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFncz4pCit7Cit9CisKIFRleHRTdHJlYW0mIG9w
ZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlIGxheWVy
VHlwZSkKIHsKICAgICBzd2l0Y2ggKGxheWVyVHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAppbmRleCBmMTY1ZTQ0
MWFlYWQ1OGVjMjE4NzVjNjdkODJlNjNhYTNiMWY2ZmQ2Li4wMzI4MGMxMTdiOWVhNWVkYWJiMzY3
NTlmMmQ2YTk2OGE0MTMxODUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuaApAQCAtMzAwLDYgKzMwMCw4IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgQ0dSZWN0IGZyYW1lRm9yTGF5ZXIoY29uc3QgUGxhdGZvcm1MYXllciop
OwogCiAgICAgdm9pZCBtb3ZlVG9MYXllclBvb2woKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQg
ZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKFRleHRTdHJlYW0mLCBPcHRpb25TZXQ8UGxhdGZvcm1M
YXllclRyZWVBc1RleHRGbGFncz4pOwogCiBwcm90ZWN0ZWQ6CiAgICAgUGxhdGZvcm1DQUxheWVy
KExheWVyVHlwZSwgUGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25lcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKaW5kZXggODg0ZTk0ODUzZmZjYWUxNzY5YTFjMTYzNzNlZWNiYTYy
NDFjZjcyZC4uNTMyY2JlODQwODdlOTZlYWU2ZTc4NWNhMTY5MjhjMjk3YTA0M2UxNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMjg2MSw4ICsyODYxLDggQEAgc3RhdGlj
IE9wdGlvblNldDxQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzPiB0b1BsYXRmb3JtTGF5ZXJU
cmVlRmxhZ3ModW5zaWduZWQKICAgICAgICAgcGxhdGZvcm1MYXllclRyZWVGbGFncy5hZGQoUGxh
dGZvcm1MYXllclRyZWVBc1RleHRGbGFnczo6RGVidWcpOwogICAgIGlmIChmbGFncyAmIEludGVy
bmFsczo6UExBVEZPUk1fTEFZRVJfVFJFRV9JR05PUkVTX0NISUxEUkVOKQogICAgICAgICBwbGF0
Zm9ybUxheWVyVHJlZUZsYWdzLmFkZChQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzOjpJZ25v
cmVDaGlsZHJlbik7Ci0gICAgaWYgKGZsYWdzICYgSW50ZXJuYWxzOjpQTEFURk9STV9MQVlFUl9U
UkVFX0lOQ0xVREVfT1BBQ0lUWSkKLSAgICAgICAgcGxhdGZvcm1MYXllclRyZWVGbGFncy5hZGQo
UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFnczo6SW5jbHVkZU9wYWNpdHkpOworICAgIGlmIChm
bGFncyAmIEludGVybmFsczo6UExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURFX01PREVMUykKKyAg
ICAgICAgcGxhdGZvcm1MYXllclRyZWVGbGFncy5hZGQoUGxhdGZvcm1MYXllclRyZWVBc1RleHRG
bGFnczo6SW5jbHVkZU1vZGVscyk7CiAgICAgcmV0dXJuIHBsYXRmb3JtTGF5ZXJUcmVlRmxhZ3M7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDE4MzdmNzNlN2YyMTQ2ZmE0
MThhNjdmZDg4MDZjZDkzZTY1OTUyYmMuLjlhZjk5ZWY2MzE4M2Y2MmY1YjgyZDBmOWU1OGViMzc3
NjNkMTNiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNDI1LDcgKzQyNSw3
IEBAIHB1YmxpYzoKICAgICAgICAgLy8gVmFsdWVzIG5lZWQgdG8gYmUga2VwdCBpbiBzeW5jIHdp
dGggSW50ZXJuYWxzLmlkbC4KICAgICAgICAgUExBVEZPUk1fTEFZRVJfVFJFRV9ERUJVRyA9IDEs
CiAgICAgICAgIFBMQVRGT1JNX0xBWUVSX1RSRUVfSUdOT1JFU19DSElMRFJFTiA9IDIsCi0gICAg
ICAgIFBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9PUEFDSVRZID0gNCwKKyAgICAgICAgUExB
VEZPUk1fTEFZRVJfVFJFRV9JTkNMVURFX01PREVMUyA9IDQsCiAgICAgfTsKICAgICBFeGNlcHRp
b25PcjxTdHJpbmc+IHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KEVsZW1lbnQmLCB1bnNpZ25lZCBz
aG9ydCBmbGFncykgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRl
eCA2ZmFmNzQ5ODk2NmY2ZTI4NzJiYjE0OWMwMzZiN2FhNzdjMTMyNzhjLi42ZGNiYTcwMDg4NGFl
Y2Y3MzdmN2Q2NTc4ZTUzNjIyZDg4MTNjYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsCkBAIC01MDQsNyArNTA0LDcgQEAgZW51bSBUcmVlVHlwZSB7CiAgICAgLy8gRmxhZ3Mg
Zm9yIHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0LgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBM
QVRGT1JNX0xBWUVSX1RSRUVfREVCVUcgPSAxOwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBM
QVRGT1JNX0xBWUVSX1RSRUVfSUdOT1JFU19DSElMRFJFTiA9IDI7Ci0gICAgY29uc3QgdW5zaWdu
ZWQgc2hvcnQgUExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURFX09QQUNJVFkgPSA0OworICAgIGNv
bnN0IHVuc2lnbmVkIHNob3J0IFBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMgPSA0
OwogICAgIERPTVN0cmluZyBwbGF0Zm9ybUxheWVyVHJlZUFzVGV4dChFbGVtZW50IGVsZW1lbnQs
IG9wdGlvbmFsIHVuc2lnbmVkIHNob3J0IGZsYWdzID0gMCk7CiAKICAgICBET01TdHJpbmcgc2Ny
b2xsYmFyT3ZlcmxheVN0eWxlKG9wdGlvbmFsIE5vZGU/IG5vZGUgPSBudWxsKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0
Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rp
bmcuaAppbmRleCA5YTdlM2FiNGE0ZDUyMWZkNzBjOGQ2NWQ5NDRlYzBjNTJiYTU1ODNlLi45MzE3
M2E1NGZmM2UzYmFmZTc0NzI0NDFhMzAwNGIxMWMxNmUwYzhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVy
UmVtb3RlTW9kZWxIb3N0aW5nLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvUmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5oCkBA
IC00Miw2ICs0Miw4IEBAIHByaXZhdGU6CiAgICAgUmVmPFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXll
cj4gY2xvbmUoV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25lcikgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgCiAgICAgdm9pZCBwb3B1bGF0ZUNyZWF0aW9uUHJvcGVydGllcyhSZW1vdGVM
YXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJDcmVhdGlvblByb3BlcnRpZXMmLCBjb25zdCBSZW1v
dGVMYXllclRyZWVDb250ZXh0JiwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGUp
IG92ZXJyaWRlOworICAgIAorICAgIHZvaWQgZHVtcEFkZGl0aW9uYWxQcm9wZXJ0aWVzKFRleHRT
dHJlYW0mLCBPcHRpb25TZXQ8UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFncz4pIGZpbmFsOwog
CiAgICAgUmVmPE1vZGVsPiBtX21vZGVsOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVN
b2RlbEhvc3RpbmcubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVM
YXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLm1tCmluZGV4IGNmMDQ3
OWU2N2NjMjUzNjI0N2UwZTZjZjNmNDAzOWI5MGYzYzg5OWYuLjhjMTA2MjIwNWM3N2FmZmQ3YmFk
MTdjZjk3MjZmYzgwMjA3NjZjMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rp
bmcubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJU
cmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5tbQpAQCAtNjYsNCArNjYsMTAg
QEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rpbmc6OnBvcHVsYXRlQ3JlYXRp
b25Qcm9wZXJ0aWVzKFJlbW90ZUxheWVyVHIKICAgICBwcm9wZXJ0aWVzLm1vZGVsID0gbV9tb2Rl
bC5wdHIoKTsKIH0KIAordm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rpbmc6OmR1
bXBBZGRpdGlvbmFsUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywgT3B0aW9uU2V0PFBsYXRmb3Jt
TGF5ZXJUcmVlQXNUZXh0RmxhZ3M+IGZsYWdzKQoreworICAgIGlmIChmbGFncy5jb250YWlucyhQ
bGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzOjpJbmNsdWRlTW9kZWxzKSkKKyAgICAgICAgdHMg
PDwgaW5kZW50IDw8ICIobW9kZWwgZGF0YSBzaXplICIgPDwgbV9tb2RlbC0+ZGF0YSgpLT5zaXpl
KCkgPDwgIilcbiI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY5ZDkyYmNj
OGQ3MmQ5ZTNjNTI5ZjNiNWU4ZWMxMjAxZTIyODM0YjIuLjc3ZjA3ODUyNTUwYTg5ZDExODZkNjJm
OGQ2MDJmMmRlMmEzMWY5YmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wNC0yMiAgVGlt
IEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2luZyB0
aGUgc291cmNlIG9mIGEgbW9kZWwgZWxlbWVudCB3aXRoIGNsaXBwaW5nIGFwcGxpZWQgZG9lcyBu
b3QgdXBkYXRlIHRoZSBtb2RlbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0OTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXIt
dXBkYXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1vZGVsLWVsZW1lbnQvbW9k
ZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLXdpdGgtY2xpcHBpbmctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVu
dHMtbGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1v
ZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIG1vZGVsLWVsZW1lbnQvcmVzb3VyY2VzL2N1YmUudXNkejogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBBZGQgdGVzdHMgdGhhdCBl
bnN1cmUgdGhhdCBhZGRpbmcgYSA8bW9kZWw+IHdpdGggb25lIHNvdXJjZSwgdGhlbiBjaGFuZ2lu
ZworICAgICAgICBpdCB0byBhbm90aGVyLCBjb3JyZWN0bHkgdXBkYXRlcyB0aGUgY29udGVudCBs
YXllci4gVGVzdCB0aGlzIGJvdGgKKyAgICAgICAgd2l0aCBhbmQgd2l0aG91dCBjbGlwcGluZyAo
dGhlIHdpdGhvdXQtY2xpcHBpbmcgY2FzZSBwYXNzZWQgYmVmb3JlIHRoaXMgY2hhbmdlLAorICAg
ICAgICB3aXRoLWNsaXBwaW5nIGZhaWxlZCkuCisKKyAgICAgICAgVGhlc2UgdGVzdHMgb25seSB3
b3JrIG9uIENvY29hIHBvcnRzIHdpdGggVUktc2lkZSBjb21wb3NpdGluZyBlbmFibGVkCisgICAg
ICAgIGJlY2F1c2UgdGhleSBkZXBlbmQgb24gdGhlIFBsYXRmb3JtQ0FMYXllciBzdWJjbGFzcyBo
b2xkaW5nIG9uIHRvIHRoZSBtb2RlbAorICAgICAgICBkYXRhIChhbmQgbG9nZ2luZyBpdHMgc2l6
ZSkgaW4gb3JkZXIgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdHdvIG1vZGVscy4KKwogMjAy
MS0wNC0yMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtIHNob3VsZCBhZmZlY3QgbmVzdGVkIHBvc2l0aW9uOmZp
eGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQt
Y29udGVudHMtbGF5ZXItdXBkYXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tb2RlbC1l
bGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOThmMDNlOWYxYjgwZjM5MTA4YWEyNmU5NzE3YTVkYWU0OTYyNzQxNgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1j
b250ZW50cy1sYXllci11cGRhdGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACisgQmVm
b3JlIENoYW5naW5nIFNvdXJjZToKKyhwbGF0Zm9ybSBsYXllcgorICAocG9zaXRpb24gMTU4LjAw
IDgzLjAwKQorICAoYm91bmRzIDMwMC4wMCAxNTAuMDApCisgIChjaGlsZHJlbgorICAgIChjb250
ZW50cyBsYXllciAobW9kZWwpCisgICAgICAocG9zaXRpb24gMC4wMCAwLjAwKQorICAgICAgKGJv
dW5kcyAzMDAuMDAgMTUwLjAwKQorICAgICAgKG1vZGVsIGRhdGEgc2l6ZSAzOTUxMjYpCisgICAg
KQorICApCispCitBZnRlciBDaGFuZ2luZyBTb3VyY2U6CisocGxhdGZvcm0gbGF5ZXIKKyAgKHBv
c2l0aW9uIDE1OC4wMCA4My4wMCkKKyAgKGJvdW5kcyAzMDAuMDAgMTUwLjAwKQorICAoY2hpbGRy
ZW4KKyAgICAoY29udGVudHMgbGF5ZXIgKG1vZGVsKQorICAgICAgKHBvc2l0aW9uIDAuMDAgMC4w
MCkKKyAgICAgIChib3VuZHMgMzAwLjAwIDE1MC4wMCkKKyAgICAgIChtb2RlbCBkYXRhIHNpemUg
MzI0OCkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxl
bWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29u
dGVudHMtbGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNTE3ZDIyY2E0ZDZiNzU3MTA4N2YzYzdmYjcyZTAzMDg4ZGRhMjYxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxh
eWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNyBAQAor
IEJlZm9yZSBDaGFuZ2luZyBTb3VyY2U6CisocGxhdGZvcm0gbGF5ZXIKKyAgKHBvc2l0aW9uIDE1
OC4wMCA4My4wMCkKKyAgKGJvdW5kcyAzMDAuMDAgMTUwLjAwKQorICAoY2hpbGRyZW4KKyAgICAo
Y29udGVudHMgY2xpcHBpbmcgbGF5ZXIKKyAgICAgIChwb3NpdGlvbiAwLjAwIDAuMDApCisgICAg
ICAoYm91bmRzIDMwMC4wMCAxNTAuMDApCisgICAgICAoY2hpbGRyZW4KKyAgICAgICAgKGNvbnRl
bnRzIGxheWVyIChtb2RlbCkKKyAgICAgICAgICAocG9zaXRpb24gMC4wMCAwLjAwKQorICAgICAg
ICAgIChib3VuZHMgMzAwLjAwIDE1MC4wMCkKKyAgICAgICAgICAobW9kZWwgZGF0YSBzaXplIDM5
NTEyNikKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorQWZ0ZXIgQ2hhbmdpbmcg
U291cmNlOgorKHBsYXRmb3JtIGxheWVyCisgIChwb3NpdGlvbiAxNTguMDAgODMuMDApCisgIChi
b3VuZHMgMzAwLjAwIDE1MC4wMCkKKyAgKGNoaWxkcmVuCisgICAgKGNvbnRlbnRzIGNsaXBwaW5n
IGxheWVyCisgICAgICAocG9zaXRpb24gMC4wMCAwLjAwKQorICAgICAgKGJvdW5kcyAzMDAuMDAg
MTUwLjAwKQorICAgICAgKGNoaWxkcmVuCisgICAgICAgIChjb250ZW50cyBsYXllciAobW9kZWwp
CisgICAgICAgICAgKHBvc2l0aW9uIDAuMDAgMC4wMCkKKyAgICAgICAgICAoYm91bmRzIDMwMC4w
MCAxNTAuMDApCisgICAgICAgICAgKG1vZGVsIGRhdGEgc2l6ZSAzMjQ4KQorICAgICAgICApCisg
ICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21vZGVsLWVs
ZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLXdpdGgtY2xpcHBpbmcu
aHRtbCBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1s
YXllci11cGRhdGVzLXdpdGgtY2xpcHBpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODlmMjY4OWYxNDQ5
YWUxZjdiOWUwMDE5MDUwOTM2N2U1OWM5YjE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtd2l0
aC1jbGlwcGluZy5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgTW9kZWxFbGVtZW50RW5hYmxlZD10cnVlIF0gLS0+Cis8aHRtbD4K
Kzxib2R5PgorPG1vZGVsIGlkPSJtb2RlbCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IDVweCI+Cisg
ICAgPHNvdXJjZSBzcmM9InJlc291cmNlcy9oZWFydC51c2R6Ij4KKzwvbW9kZWw+Cis8cHJlIGlk
PSJsYXllcnMiPjwvcHJlPgorPHNjcmlwdD4KKyAgICBsZXQgbGF5ZXJzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxheWVycyIpOworICAgIGxldCBzb3VyY2UgPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgic291cmNlIilbMF07CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBsYXllcnMudGV4dENvbnRlbnQg
PSAiVGhpcyB0ZXN0IHJlcXVpcmVzIHRlc3RSdW5uZXIuIjsKKworICAgIGxldCBtb2RlbCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2RlbCIpOworCisgICAgbW9kZWwucmVhZHkudGhlbih2
YWx1ZSA9PiB7CisgICAgICAgIGxheWVycy50ZXh0Q29udGVudCA9ICJCZWZvcmUgQ2hhbmdpbmcg
U291cmNlOlxuIjsKKyAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ICs9IHdpbmRvdy5pbnRlcm5h
bHMucGxhdGZvcm1MYXllclRyZWVBc1RleHQobW9kZWwsIHdpbmRvdy5pbnRlcm5hbHMuUExBVEZP
Uk1fTEFZRVJfVFJFRV9JTkNMVURFX01PREVMUyk7CisKKyAgICAgICAgc291cmNlLnNyYyA9ICJy
ZXNvdXJjZXMvY3ViZS51c2R6IjsKKyAgICAgICAgbW9kZWwucmVhZHkudGhlbih2YWx1ZSA9PiB7
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICBs
YXllcnMudGV4dENvbnRlbnQgKz0gIkFmdGVyIENoYW5naW5nIFNvdXJjZTpcbiI7CisgICAgICAg
ICAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ICs9IHdpbmRvdy5pbnRlcm5hbHMucGxhdGZvcm1M
YXllclRyZWVBc1RleHQobW9kZWwsIHdpbmRvdy5pbnRlcm5hbHMuUExBVEZPUk1fTEFZRVJfVFJF
RV9JTkNMVURFX01PREVMUyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0sIHJlYXNvbiA9PiB7
CisgICAgICAgICAgICBsYXllcnMudGV4dENvbnRlbnQgPSBgRmFpbGVkLiBTZWNvbmQgbW9kZWwg
ZGlkIG5vdCBsb2FkOiAke3JlYXNvbn1gOworICAgICAgICB9KS5maW5hbGx5KCgpID0+IHsgCisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOworICAgICAgICAKKyAgICB9LCByZWFzb24g
PT4geworICAgICAgICBsYXllcnMudGV4dENvbnRlbnQgPSBgRmFpbGVkLiBGaXJzdCBtb2RlbCBk
aWQgbm90IGxvYWQ6ICR7cmVhc29ufWA7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50
L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMv
bW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45ZjEzYTY0NDI3Mzg0MDJmMWNlN2YxZTFhYzA1YmZkNzE2MWM0NmJhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNv
bnRlbnRzLWxheWVyLXVwZGF0ZXMuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIE1vZGVsRWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0t
PgorPGh0bWw+Cis8Ym9keT4KKzxtb2RlbCBpZD0ibW9kZWwiPgorICAgIDxzb3VyY2Ugc3JjPSJy
ZXNvdXJjZXMvaGVhcnQudXNkeiI+Cis8L21vZGVsPgorPHByZSBpZD0ibGF5ZXJzIj48L3ByZT4K
KzxzY3JpcHQ+CisgICAgbGV0IGxheWVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXll
cnMiKTsKKyAgICBsZXQgc291cmNlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNv
dXJjZSIpWzBdOworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KyAgICB9IGVsc2UKKyAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ID0gIlRoaXMgdGVzdCByZXF1
aXJlcyB0ZXN0UnVubmVyLiI7CisKKyAgICBsZXQgbW9kZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibW9kZWwiKTsKKworICAgIG1vZGVsLnJlYWR5LnRoZW4odmFsdWUgPT4geworICAgICAg
ICBsYXllcnMudGV4dENvbnRlbnQgPSAiQmVmb3JlIENoYW5naW5nIFNvdXJjZTpcbiI7CisgICAg
ICAgIGxheWVycy50ZXh0Q29udGVudCArPSB3aW5kb3cuaW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJU
cmVlQXNUZXh0KG1vZGVsLCB3aW5kb3cuaW50ZXJuYWxzLlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5D
TFVERV9NT0RFTFMpOworCisgICAgICAgIHNvdXJjZS5zcmMgPSAicmVzb3VyY2VzL2N1YmUudXNk
eiI7CisgICAgICAgIG1vZGVsLnJlYWR5LnRoZW4odmFsdWUgPT4geworICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50
ICs9ICJBZnRlciBDaGFuZ2luZyBTb3VyY2U6XG4iOworICAgICAgICAgICAgICAgIGxheWVycy50
ZXh0Q29udGVudCArPSB3aW5kb3cuaW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KG1v
ZGVsLCB3aW5kb3cuaW50ZXJuYWxzLlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMp
OworICAgICAgICAgICAgfQorICAgICAgICB9LCByZWFzb24gPT4geworICAgICAgICAgICAgbGF5
ZXJzLnRleHRDb250ZW50ID0gYEZhaWxlZC4gU2Vjb25kIG1vZGVsIGRpZCBub3QgbG9hZDogJHty
ZWFzb259YDsKKyAgICAgICAgfSkuZmluYWxseSgoKSA9PiB7IAorICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgICAgICB9KTsKKyAgICAgICAgCisgICAgfSwgcmVhc29uID0+IHsKKyAgICAgICAgbGF5
ZXJzLnRleHRDb250ZW50ID0gYEZhaWxlZC4gRmlyc3QgbW9kZWwgZGlkIG5vdCBsb2FkOiAke3Jl
YXNvbn1gOworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdy
YXBoaWNzLWxheWVycy1vcGFjaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21v
ZGVsLWVsZW1lbnQtZ3JhcGhpY3MtbGF5ZXJzLW9wYWNpdHkuaHRtbAppbmRleCAxNjRkNmMzYmE1
MGIzMjBiZjdlNWYwMmY1MzBhMTdiOWJmZGUxZGQ0Li40OTgxZTZkYmIzYzljNTRlNjcxZDVhMmE2
ZmI1ZDJmZTdiMTFlMDhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21v
ZGVsLWVsZW1lbnQtZ3JhcGhpY3MtbGF5ZXJzLW9wYWNpdHkuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtZ3JhcGhpY3MtbGF5ZXJzLW9wYWNpdHkuaHRt
bApAQCAtMjUsNyArMjUsNyBAQAogCiAgICAgbW9kZWwucmVhZHkudGhlbih2YWx1ZSA9PiB7CiAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgIGxheWVycy5pbm5lclRl
eHQgPSB3aW5kb3cuaW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KG1vZGVsLCB3aW5k
b3cuaW50ZXJuYWxzLlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9PUEFDSVRZKTsKKyAgICAg
ICAgICAgIGxheWVycy5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJU
cmVlQXNUZXh0KG1vZGVsKTsKICAgICAgICAgbW9kZWwucmVtb3ZlKCk7CiAgICAgfSwgcmVhc29u
ID0+IHsKICAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ID0gYEZhaWxlZC4gTW9kZWwgZGlkIG5v
dCBsb2FkOiAke3JlYXNvbn1gOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVu
dC9yZXNvdXJjZXMvY3ViZS51c2R6IGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9yZXNvdXJj
ZXMvY3ViZS51c2R6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3NDI2ZThlYTk5MmFkMWQ2NGZjNWZmNDVhMWMzOWNi
ZDUwZjI3MTUKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDMyNDgKemNtYnRYWilfVzk4R3FpaGVM
bU1vWXNYMk9xPGAhLTlXLT81eW07TiNGeWl3WlElYlllc2VNeW5EKGJ+UEg+V3l4CnotcllIKjZH
RU9xQEx7THxCKStqSjZDWERMbE13Sn1mQX0oaTU8bkZqMHdQcDRrTl4kVUdfOUk4WH5PZkk/e3p9
OQp6Unp0a1diSS1ydWAjaklSY2xXLUpeQ3h9Jlo5cWYrJUo8SE1qaVpsaj5pezZ5Ml5+OzM5Tm5w
RTxzPHJaJjlvZDgKej5VTyNHalh1ZXBMNmBqNUdlYiZZRURPUHc+QiheMF4/d1A+bzkjIT1XaXMq
MUUhI0drYC1Ed0M5fDIqVE9nMCkoCnpxJUlfbT9NQXRVcH1QZHdoMTkjcilgeE9HKHJ6VDRaIWdP
R2ttNSlRcjJSKy1rU052dzYzPXhJPHArPj51MXs9fAp6S1okWXhpTit1aj43UFA2alB4SzlwS31P
aDkqXlZqZncrVX17JEdnZHBePERjZmFYNCR1SCtQRExRKFB4PmxGVkwKelRVemJCNzRvbSR5JVZ+
e21jLSFnJlREdFl5Vzs5bl5xUE5SZW11PnwjfHh4cS1Cdjx3V0xtJWY5KnM5emRMeGF6CnpmJmF2
NUd+NnE9ZW9yT34+MDI/Yi1KQUVaO347KT45OXs+eyVYNzczSChJJCM9YWBTSTRlTjc5IXtmKyFv
XzF8cAp6RmR2R09aWjh8WGN4YDI0XilAN209QFExZ3VTfFo5eHRFO1k2eXNocGszcyZBbERVb2V7
YmNVSEE1Vk1yQEhuSnoKem1BT3YqTC1OS3RDRE9RKE5MJUB2cWI+VlpQQl9gYVp7fnl9ZUpkdz8x
QVV5SU07JHlJKjxuKjJqemVuO2sydTIxCno5LWkhaz1YeFVAYHRHZSFeU01fP0Q/ZTNVfEpsT3Ze
emViOShldXd8KGo4eFg7cXtqV3lLby1KJnpwTj9udDF4MQp6ODFhVmlsaWtHUypyXkN7eGN1VFM7
I1omRSo/ZmNWOD89WWZ7elZRTnVYdjg5SUFIMEFQX0pjWGJzTjNfSEF8bikKelBVK1JNcjVXdSNB
SWUlcXR5aTVxSSQ+SUtHfFNGd21TWDQqbDxLeClQTEhkWEc7MihDUjQ3QFI+WDtWYjtxWTleCnpH
LWZvKk56XlFETSVUV2FORkk0fjgwP3g+KGtyQFZmcGUqKm9sPlZZSTlvQlRYOzV1amI1MGwpNkFV
dDUpUXZLZgp6T2d3QjEmMlpvOzZ8P0dVKXJSQW1JZ01xU0g0THE1SGNhPSFqZShJI2d6THJ5RDNz
NnYrNGBnZzxOQWR1MmVLSDwKelFlbD5Jb1VWO0htVEs1bDRBdXEzKF5ncnRJdzNQK1RLY29fdlN2
Pn4mRDBJWT9xUDR2c0Zwb3FKN0QwblpeQU9HCnpzM3EtYiUmNSh0eihnZ1NwM0l1eyRLZDk2eUZP
WGdYTE1VUGpZNFRrIV92IVVlWF48Kl5zLWpJMHsoTlhEfD5gSgp6cGpteTh3Q2gje2w3JVVDNCEm
bUFvbSQ8b018TUlDa0Racnd5ej4jZzQ3I3hvZXE3Y29tQWI4RSY4b1F2U1R9cWYKejdoU0RaXzBt
RE81d15fd2coKlhgWkowRjhEcXk5JEk7bUg2PWhDO314X3wra1hVPjZSVWM/OGUqeWEyJFNYYmRZ
CnprYnUmY1VANEhRSyY1SmA0bWhmSEwzOHF8R2lDMiVhO295b3hoJVk7U3YzPmEySlp4QjR6bjZB
emhQKmxFKWJIeQp6UktefHhfODV+KnQzM1Ahe0pfQkgwPypifXI7PWlHc2E4SkI+dTxlZD9xTnlD
IUZEOUY5ck5yTmtIZVhSQ0BCcDcKejlxeGBRI2J8QjxtPkA5YiF8UlI2QF5XTlpZRHl3Qkx5X2VI
d2dgKWhpeSo/Z2teb213cH0oWDIxV0V7YVN8LUV0CnoqJnQtX0VjSHc5VDNFKFUxSFlHJFQjaTZB
RTx6cXBTR2pgI1ZZd2x9ISpQaDxIN3RLJGc0N19xRG5ZY3opcW4ybAp6XlFpQX1ee1chZGdDTWFH
Qm5SUE81WE53Ulp2PWMyIzE4ZEJFRSQyPUlMYz57aDchUGI7UTlYYGhHMjVDN290OzkKejgxXjto
QnA4QGA3e1M4YE5AMyl5Mn10JEFCTjFSaGNuYyhYVlNYT0IwWklNPD9GWm1DQXxCbU93TWlNND5U
TnQ4Cnpma2VfNUJHK2RtaD5ZeFQ/OyMoLTc+IVRrJkNUajgpIWxkazNxZn42NGo/aUxjfD94M2tt
bkooM3VaQlF4KSZQWAp6YzYqTCshfWd4U1NOWVJ1UiV0byRQM3lfXkNfVGpAXzUoI0ZoaXlUfFo0
UWIjcjNZNVRvMSV6NCFGNGd6NnZlPGIKenZFdWBBJDNNbUJpaCRocl9yQWFGZDRHQGFVVktIb3k4
cTd1aXZ6LStgYUF5RS19IzNfQDVjV1U/fDNLUGBNYVNqCno1M1B2NWpqIXpiJkc1cG9Gbnt6e019
PVFMeyRCaVRZTU4rcFBFQ19MbmxaTzNCQDw5R25YeEdKMyZRKEJRMyg4Xwp6UFowaHAzalhWWCg4
XkY3eXFvcWpXbnk5P2hhRjhmX192RC0+JmRyUyRJYlFDVzR+VE05RDhramVMVm88ejhedTEKei1h
VTZUc1RxV2MyYDEraHh5YVVJKkhfb1Z4N0hZMmlgLWVldiZRXikqTFlRdCkocVRTLUotWSMpWWlH
OSszbUpkCnp4TW5PTDJ0K14oYHUoZXRLWSlMSkBjVkB8O3lyQ05mdzJkYUw4azhgeFZ7cCtFcWMh
ND42NXVyMXk0YVg9ZTNITwp6d19fS0lYSEp8dHo1eGgkdHRtZVZLWUpvS0tET2I4eWBLTHZSZ1I8
TyZsTmYzbH4mXmhtc0BWZ1hOc1RXSn5BQ14KeHtWYWYmSmJ4amQlV240bi10JUFOXkdgQ1leeG5U
RUplYkVtI3hJTUwwZTVLX2UoQ3JyIXteLT1fJj0qZFB+IWpxCgpsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMWMwOTU0YWY1OTVmNTQ4ZDU1YzVlNTg2Y2MyYTVhMmMyZWI1Y2NiNy4uMTgwOWNlNGUyNmQ4
NDE3YTEwMmFhNWUzYmZhODk3YjRlMzFmNWE2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDYsNiArNDYsOSBAQCBmYXN0L3JlcGFpbnQv
cGxhY2Vob2xkZXItYWZ0ZXItY2Fwcy1sb2NrLWhpZGRlbi5odG1sIFsgUGFzcyBdCiBmYXN0L3Zp
c3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZpZXdwb3J0LXJlY3RzLmh0bWwgWyBQYXNzIF0K
IGZhc3QvdmlzdWFsLXZpZXdwb3J0L3J1YmJlcmJhbmRpbmctdmlld3BvcnQtcmVjdHMtaGVhZGVy
LWZvb3Rlci5odG1sICBbIFBhc3MgXQogCittb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29u
dGVudHMtbGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLmh0bWwgWyBQYXNzIF0KK21vZGVsLWVs
ZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLmh0bWwgWyBQYXNzIF0K
KwogIyBQZW5kaW5nIFNESyBjaGFuZ2VzLCByZS1za2lwIHRoZXNlIHRlc3RzIHRoYXQgYXJlIHVu
LXNraXBwZWQgYWJvdmUuCiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtY29udGFpbi5o
dG1sIFsgU2tpcCBdCiBmYXN0L3ZpZXdwb3J0L2lvcy92aWV3cG9ydC1maXQtY292ZXIuaHRtbCBb
IFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2
M2ZjMjU4ZTZjZWZhMmRjMzZiMjMxM2ZmMGExOWY0ZmM5MTE5NmNjLi41NDQxMjQ3NDdjZGFkNmYw
ZGRjZjdkYzhkMGVjZmU5NTViZTIxNDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtNjcsNiArNjcsMTAgQEAgd2Via2l0Lm9yZy9iLzIxOTE2IHRhYmxl
cy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMTc4ODU1LnhtbCBbIFBhc3MgSW0K
IGZhc3QvZG9tL1dpbmRvdy9zbG93LXVubG9hZC1oYW5kbGVyLmh0bWwKIGZhc3QvZG9tL1dpbmRv
dy9zbG93LXVubG9hZC1oYW5kbGVyLW9ubHktZnJhbWUtaXMtc3RvcHBlZC5odG1sCiAKKyMgVGhp
cyB0ZXN0IG9ubHkgd29ya3Mgd2l0aCBVSS1zaWRlIGNvbXBvc2l0aW5nCittb2RlbC1lbGVtZW50
L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLmh0bWwg
WyBTa2lwIF0KK21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRh
dGVzLmh0bWwgWyBTa2lwIF0KKwogIyBBY2Nlc3NpYmlsaXR5IHRlc3RzIGZvciBub3RpZmljYXRp
b25zIHRoYXQgZG9uJ3QgZXhpc3Qgb3IgYXJlbid0IG5lZWRlZCBvbiBNYWMgT1MgWC4KIGFjY2Vz
c2liaWxpdHkvYXJpYS1jaGVja2JveC1zZW5kcy1ub3RpZmljYXRpb24uaHRtbAogYWNjZXNzaWJp
bGl0eS9hcmlhLXN3aXRjaC1zZW5kcy1ub3RpZmljYXRpb24uaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426873</attachid>
            <date>2021-04-22 17:21:56 -0700</date>
            <delta_ts>2021-04-24 19:12:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224917-20210422172155.patch</filename>
            <type>text/plain</type>
            <size>26736</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzk4MmQ4NDA5Zjk3NjEx
ZGIxODY2ODRlYWQ1NDgwYjIwOTVmMTQ1NC4uOTgxMTRiMmM2MDYyNjQ1ZjVjYzg0YWMzNmUwN2Uz
NzVlNTM3ZmY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTA0LTIyICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRo
ZSBzb3VyY2Ugb2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5v
dCB1cGRhdGUgdGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0czogbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxh
eWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy5odG1sCisgICAgICAgICAgICAgICBtb2RlbC1lbGVt
ZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy5odG1sCisKKyAgICAgICAg
UHJldmlvdXNseSwgYSA8bW9kZWw+IHdpdGggYSBjb250ZW50cyBjbGlwcGluZyBsYXllciAoZS5n
LiBib3JkZXItcmFkaXVzKQorICAgICAgICB3b3VsZCBub3QgcmVwYXJlbnQgaXRzIGNvbnRlbnRz
IGxheWVyIGluIHRoZSByaWdodCBwbGFjZSB3aGVuIHNldENvbnRlbnRzVG9Nb2RlbAorICAgICAg
ICB3YXMgY2FsbGVkIGFnYWluIChiZWNhdXNlIHRoZSBzb3VyY2UgY2hhbmdlZCksIGxlYXZpbmcg
dGhlIG9sZCBtb2RlbAorICAgICAgICBjb250ZW50cyBsYXllciBpbiBwbGFjZS4KKyAgICAgICAg
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJMaXN0KToKKyAg
ICAgICAgRW5zdXJlIHRoYXQgdXBkYXRlU3VibGF5ZXJMaXN0IGFsd2F5cyBwYXJlbnRzIGNvbnRl
bnRzTGF5ZXIgaW4gb25lIG9mIGl0cyB0d28gaG9tZXM6CisgICAgICAgIHVuZGVyIGNvbnRlbnRz
Q2xpcHBpbmdMYXllciwgaWYgaXQgZXhpc3RzOyBvdGhlcndpc2UsIGRpcmVjdGx5IHVuZGVyIHRo
ZSBwcmltYXJ5IGxheWVyLgorCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnNl
dENvbnRlbnRzVG9Nb2RlbCk6CisgICAgICAgIERyaXZlLWJ5IGZpeCBhIGJ1ZyByZXZlYWxlZCBi
eSB0aGUgdGVzdHMgZm9yIHRoaXMgcGF0Y2g6IHdoZW4gc3dhcHBpbmcgb3V0IHRoZQorICAgICAg
ICBjb250ZW50cyBsYXllciBpbiBzZXRDb250ZW50c1RvTW9kZWwsIHdlIGFsc28gbmVlZCB0byBt
YXJrIENvbnRlbnRzUmVjdHNDaGFuZ2VkLAorICAgICAgICBvciB0aGUgbmV3IGNvbnRlbnRzIGxh
eWVyIHdpbGwgbm90IGdldCBpdHMgYm91bmRzIHNldCBkdXJpbmcgdGhlIHN1YnNlcXVlbnQgZmx1
c2guCisKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb1Bs
YXRmb3JtTGF5ZXIpOgorICAgICAgICBSZW1vdmUgc3BlY2lhbC1jYXNlIGNvZGUgdGhhdCB3YXMg
YWRkZWQgdG8gZml4IHRoaXMgYnVnIGp1c3QgZm9yIHNldENvbnRlbnRzVG9QbGF0Zm9ybUxheWVy
OworICAgICAgICB0aGlzIGNhc2UgaXMgbm93IGNvcnJlY3RseSBoYW5kbGVkIGZvciBhbGwgY29u
dGVudHMgbGF5ZXJzIGJ5IHVwZGF0ZVN1YmxheWVyTGlzdC4KKworICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjpkdW1wSW5uZXJMYXllciBjb25zdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNBTGF5ZXI6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9QbGF0Zm9ybUxheWVyVHJlZUZsYWdzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmlkbDoKKyAgICAgICAgQWRkIGEgYml0IHRvIHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KCkgdGhh
dCBtYWtlcyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcKKyAgICAgICAgZHVtcCB0
aGUgc2l6ZSBvZiB0aGUgbW9kZWwgdGhhdCBpdCBpcyBob3N0aW5nLCB3aGljaCBpcyB1c2VkIGlu
IHRoZSB0ZXN0IGZvciB0aGlzIGJ1Zy4KKworICAgICAgICBSZW1vdmUgdGhlIEluY2x1ZGVPcGFj
aXR5IGJpdCBzaW5jZSB3ZSBjYW4ganVzdCBhbHdheXMgbG9nIG9wYWNpdHkgaWYgaXQncyBub3Qg
dGhlIGRlZmF1bHQuCisKIDIwMjEtMDQtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSBzaG91bGQgYWZmZWN0
IG5lc3RlZCBwb3NpdGlvbjpmaXhlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAwNjYwODAyNTA2YmI3MzZhYjkwZjQ5
M2Y5MjY0Y2NiMTRlNGZlMWI5Li5kZjM1MDM0NDc2YzAyNWYxYTY4MmZiZjQ1YzVkYzEwYzg0MWQ2
ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA0LTIyICBUaW0gSG9ydG9uICA8
dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5naW5nIHRoZSBzb3VyY2Ug
b2YgYSBtb2RlbCBlbGVtZW50IHdpdGggY2xpcHBpbmcgYXBwbGllZCBkb2VzIG5vdCB1cGRhdGUg
dGhlIG1vZGVsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQ5MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVt
b3RlTW9kZWxIb3N0aW5nLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxh
eWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcubW06CisgICAgICAgIChX
ZWJLaXQ6OlBsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZzo6ZHVtcEFkZGl0aW9uYWxQ
cm9wZXJ0aWVzKToKKyAgICAgICAgQWRkIGEgYml0IHRvIHBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0
KCkgdGhhdCBtYWtlcyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3RpbmcKKyAgICAgICAg
ZHVtcCB0aGUgc2l6ZSBvZiB0aGUgbW9kZWwgdGhhdCBpdCBpcyBob3N0aW5nLCB3aGljaCBpcyB1
c2VkIGluIHRoZSB0ZXN0IGZvciB0aGlzIGJ1Zy4KKwogMjAyMS0wNC0yMSAgS2F0ZSBDaGVuZXkg
IDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3d1cCBjaGFuZ2Ug
dG8gYnVnIDIyNDc3OSBiYXNlZCBvbiBwb3N0LWxhbmQgcmV2aWV3IGNvbW1lbnQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyQ2xpZW50
LmgKaW5kZXggZDhhZjVmYjcwNGNhYTc2ZWI0ZDc1OTc3YmVhNzBjZTcxMDk5YmFiMC4uMmE0MjJl
ZjNmYTk2MWY0MWJlZGM2YmZiN2MwYWE1M2E2Zjk1NWY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaApAQCAtOTAs
NyArOTAsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIExheWVyVHJlZUFzVGV4dEJlaGF2aW9yOwogZW51
bSBjbGFzcyBQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzIDogdWludDhfdCB7CiAgICAgRGVi
dWcgPSAxIDw8IDAsCiAgICAgSWdub3JlQ2hpbGRyZW4gPSAxIDw8IDEsCi0gICAgSW5jbHVkZU9w
YWNpdHkgPSAxIDw8IDIsCisgICAgSW5jbHVkZU1vZGVscyA9IDEgPDwgMiwKIH07CiAKIGVudW0g
R3JhcGhpY3NMYXllclBhaW50RmxhZ3MgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKaW5kZXggMGFjY2MzOTFmY2Jm
YjI5NTUyMTMyZTkxZGM2Y2UzOTI3NzEyZDE0NC4uMDVmOTg4Y2Y0NGVhZDRjMGYxN2I2OGQyNmQ3
YWY4NmYwNDU5MTA2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0xMjQzLDcgKzEyNDMsNyBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb01vZGVsKFJlZlB0cjxNb2RlbD4mJiBtb2Rl
bCkKICAgICBpZiAoY29udGVudHNMYXllckNoYW5nZWQpCiAgICAgICAgIG5vdGVTdWJsYXllcnND
aGFuZ2VkKCk7CiAKLSAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoT3BhY2l0eUNoYW5nZWQp
OworICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c1JlY3RzQ2hhbmdlZCB8IE9w
YWNpdHlDaGFuZ2VkKTsKIH0KICNlbmRpZgogCkBAIC0xMjUyLDkgKzEyNTIsNiBAQCB2b2lkIEdy
YXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb1BsYXRmb3JtTGF5ZXIoUGxhdGZvcm1MYXllciog
cGxhdGZvcm1MYXllciwgQwogICAgIGlmIChtX2NvbnRlbnRzTGF5ZXIgJiYgcGxhdGZvcm1MYXll
ciA9PSBtX2NvbnRlbnRzTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKG1fY29udGVudHNDbGlwcGluZ0xheWVyICYmIG1fY29udGVudHNMYXllcikKLSAg
ICAgICAgbV9jb250ZW50c0xheWVyLT5yZW1vdmVGcm9tU3VwZXJsYXllcigpOwotCiAgICAgLy8g
RklYTUU6IFRoZSBwYXNzZWQgaW4gbGF5ZXIgbWlnaHQgYmUgYSByYXcgbGF5ZXIgb3IgYW4gZXh0
ZXJuYWxseSBjcmVhdGVkCiAgICAgLy8gUGxhdGZvcm1DQUxheWVyLiBUbyBkZXRlcm1pbmUgdGhp
cyB3ZSBhdHRlbXB0IHRvIGdldCB0aGUKICAgICAvLyBQbGF0Zm9ybUNBTGF5ZXIgcG9pbnRlci4g
SWYgdGhpcyByZXR1cm5zIGEgbnVsbCBwb2ludGVyIHdlIGFzc3VtZSBpdCdzCkBAIC0xMjczLDkg
KzEyNzAsNiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb1BsYXRmb3JtTGF5
ZXIoUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllciwgQwogCiAgICAgbV9jb250ZW50c0xheWVy
UHVycG9zZSA9IHBsYXRmb3JtTGF5ZXIgPyBwdXJwb3NlIDogQ29udGVudHNMYXllclB1cnBvc2U6
Ok5vbmU7CiAKLSAgICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIgJiYgbV9jb250ZW50c0xh
eWVyKQotICAgICAgICBtX2NvbnRlbnRzQ2xpcHBpbmdMYXllci0+YXBwZW5kU3VibGF5ZXIoKm1f
Y29udGVudHNMYXllcik7Ci0KICAgICBub3RlU3VibGF5ZXJzQ2hhbmdlZCgpOwogICAgIG5vdGVM
YXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c1BsYXRmb3JtTGF5ZXJDaGFuZ2VkKTsKIH0KQEAg
LTIwMzMsMjQgKzIwMjcsMjQgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZVN1YmxheWVy
TGlzdChib29sIG1heExheWVyRGVwdGhSZWFjaGVkKQogICAgICAgICBsaXN0LmFwcGVuZChtX2xh
eWVyKTsKICAgICB9OwogCi0gICAgYXV0byBhcHBlbmRDbGlwcGluZ0xheWVycyA9IFsmXShQbGF0
Zm9ybUNBTGF5ZXJMaXN0JiBsaXN0KSB7Ci0gICAgICAgIGlmICghbV9jb250ZW50c1Zpc2libGUp
Ci0gICAgICAgICAgICByZXR1cm47CisgICAgYXV0byBhcHBlbmRDb250ZW50c0xheWVyID0gWyZd
KFBsYXRmb3JtQ0FMYXllckxpc3QmIGxpc3QpIHsKKyAgICAgICAgaWYgKG1fY29udGVudHNWaXNp
YmxlICYmIG1fY29udGVudHNMYXllcikKKyAgICAgICAgICAgIGxpc3QuYXBwZW5kKG1fY29udGVu
dHNMYXllcik7CisgICAgfTsKIAotICAgICAgICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIp
IHsKKyAgICBhdXRvIGFwcGVuZENsaXBwaW5nTGF5ZXJzID0gWyZdKFBsYXRmb3JtQ0FMYXllckxp
c3QmIGxpc3QpIHsKKyAgICAgICAgaWYgKG1fY29udGVudHNWaXNpYmxlICYmIG1fY29udGVudHND
bGlwcGluZ0xheWVyKQogICAgICAgICAgICAgbGlzdC5hcHBlbmQobV9jb250ZW50c0NsaXBwaW5n
TGF5ZXIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKG1f
Y29udGVudHNMYXllcikKLSAgICAgICAgICAgIGxpc3QuYXBwZW5kKG1fY29udGVudHNMYXllcik7
CiAgICAgfTsKIAogICAgIGF1dG8gYXBwZW5kQ3VzdG9tQW5kQ2xpcHBpbmdMYXllcnMgPSBbJl0o
UGxhdGZvcm1DQUxheWVyTGlzdCYgbGlzdCkgewogICAgICAgICBpZiAoYXV0byogY3VzdG9tU3Vi
bGF5ZXJzID0gbV9sYXllci0+Y3VzdG9tU3VibGF5ZXJzKCkpCiAgICAgICAgICAgICBsaXN0LmFw
cGVuZFZlY3RvcigqY3VzdG9tU3VibGF5ZXJzKTsKIAotICAgICAgICBhcHBlbmRDbGlwcGluZ0xh
eWVycyhsaXN0KTsKKyAgICAgICAgaWYgKG1fY29udGVudHNDbGlwcGluZ0xheWVyKQorICAgICAg
ICAgICAgYXBwZW5kQ2xpcHBpbmdMYXllcnMobGlzdCk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGFwcGVuZENvbnRlbnRzTGF5ZXIobGlzdCk7CiAgICAgfTsKIAogICAgIGF1dG8gYXBwZW5k
TGF5ZXJzRnJvbUNoaWxkcmVuID0gWyZdKFBsYXRmb3JtQ0FMYXllckxpc3QmIGxpc3QpIHsKQEAg
LTIwNzksOSArMjA3MywxMSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJM
aXN0KGJvb2wgbWF4TGF5ZXJEZXB0aFJlYWNoZWQpCiAgICAgYXBwZW5kQ3VzdG9tQW5kQ2xpcHBp
bmdMYXllcnMocHJpbWFyeUxheWVyQ2hpbGRyZW4pOwogCiAgICAgYm9vbCBjbGlwcGluZ0xheWVy
SG9zdHNDaGlsZHJlbiA9IG1fY29udGVudHNSZWN0Q2xpcHNEZXNjZW5kYW50cyAmJiBtX2NvbnRl
bnRzQ2xpcHBpbmdMYXllcjsKLSAgICBpZiAoY2xpcHBpbmdMYXllckhvc3RzQ2hpbGRyZW4pIHsK
KyAgICBpZiAobV9jb250ZW50c0NsaXBwaW5nTGF5ZXIpIHsKICAgICAgICAgUGxhdGZvcm1DQUxh
eWVyTGlzdCBjbGlwcGluZ0NoaWxkcmVuOwotICAgICAgICBidWlsZENoaWxkTGF5ZXJMaXN0KGNs
aXBwaW5nQ2hpbGRyZW4pOworICAgICAgICBpZiAoY2xpcHBpbmdMYXllckhvc3RzQ2hpbGRyZW4p
CisgICAgICAgICAgICBidWlsZENoaWxkTGF5ZXJMaXN0KGNsaXBwaW5nQ2hpbGRyZW4pOworICAg
ICAgICBhcHBlbmRDb250ZW50c0xheWVyKGNsaXBwaW5nQ2hpbGRyZW4pOwogICAgICAgICBtX2Nv
bnRlbnRzQ2xpcHBpbmdMYXllci0+c2V0U3VibGF5ZXJzKGNsaXBwaW5nQ2hpbGRyZW4pOwogICAg
IH0KIApAQCAtMzk4NCwxMiArMzk4MCwxNCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6ZHVtcElu
bmVyTGF5ZXIoVGV4dFN0cmVhbSYgdHMsIFBsYXRmb3JtQ0FMYXllciogbGF5ZXIsIE9wdAogICAg
ICAgICB0cyA8PCBpbmRlbnQgPDwgIihwb3NpdGlvbiAiIDw8IGxheWVyLT5wb3NpdGlvbigpLngo
KSA8PCAiICIgPDwgbGF5ZXItPnBvc2l0aW9uKCkueSgpIDw8ICIpXG4iOwogICAgICAgICB0cyA8
PCBpbmRlbnQgPDwgIihib3VuZHMgIiA8PCBsYXllci0+Ym91bmRzKCkud2lkdGgoKSA8PCAiICIg
PDwgbGF5ZXItPmJvdW5kcygpLmhlaWdodCgpIDw8ICIpXG4iOwogICAgICAgICAKLSAgICAgICAg
aWYgKGZsYWdzLmNvbnRhaW5zKFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M6OkluY2x1ZGVP
cGFjaXR5KSkKKyAgICAgICAgaWYgKGxheWVyLT5vcGFjaXR5KCkgIT0gMSkKICAgICAgICAgICAg
IHRzIDw8IGluZGVudCA8PCAiKG9wYWNpdHkgIiA8PCBsYXllci0+b3BhY2l0eSgpIDw8ICIpXG4i
OwogCiAgICAgICAgIGlmIChsYXllci0+aXNIaWRkZW4oKSkKICAgICAgICAgICAgIHRzIDw8IGlu
ZGVudCA8PCAiKGhpZGRlbilcbiI7CiAKKyAgICAgICAgbGF5ZXItPmR1bXBBZGRpdGlvbmFsUHJv
cGVydGllcyh0cywgZmxhZ3MpOworCiAgICAgICAgIGlmICghZmxhZ3MuY29udGFpbnMoUGxhdGZv
cm1MYXllclRyZWVBc1RleHRGbGFnczo6SWdub3JlQ2hpbGRyZW4pKSB7CiAgICAgICAgICAgICBh
dXRvIHN1YmxheWVycyA9IGxheWVyLT5zdWJsYXllcnNGb3JMb2dnaW5nKCk7CiAgICAgICAgICAg
ICBpZiAoc3VibGF5ZXJzLnNpemUoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5jcHAKaW5kZXggMjZhMDBhMDQ2ODgw
M2E4Zjc4OThlOWM2Yjc2NjZmZjI5YTZiNGY2YS4uMWYzOTJmNTQ3NzM5NGNjM2M3NzVmYTRkMTk4
Yzc0MzgyOTJhYTUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvUGxhdGZvcm1DQUxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXIuY3BwCkBAIC0xOTgsNiArMTk4LDEwIEBAIExheWVy
UG9vbCYgUGxhdGZvcm1DQUxheWVyOjpsYXllclBvb2woKQogICAgIHJldHVybiAqc2hhcmVkUG9v
bDsKIH0KIAordm9pZCBQbGF0Zm9ybUNBTGF5ZXI6OmR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyhU
ZXh0U3RyZWFtJiwgT3B0aW9uU2V0PFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M+KQorewor
fQorCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBQbGF0Zm9ybUNBTGF5
ZXI6OkxheWVyVHlwZSBsYXllclR5cGUpCiB7CiAgICAgc3dpdGNoIChsYXllclR5cGUpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FM
YXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxh
eWVyLmgKaW5kZXggZjE2NWU0NDFhZWFkNThlYzIxODc1YzY3ZDgyZTYzYWEzYjFmNmZkNi4uMDMy
ODBjMTE3YjllYTVlZGFiYjM2NzU5ZjJkNmE5NjhhNDEzMTg1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTMw
MCw2ICszMDAsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIENHUmVjdCBmcmFtZUZvckxheWVyKGNv
bnN0IFBsYXRmb3JtTGF5ZXIqKTsKIAogICAgIHZvaWQgbW92ZVRvTGF5ZXJQb29sKCk7CisgICAg
CisgICAgdmlydHVhbCB2b2lkIGR1bXBBZGRpdGlvbmFsUHJvcGVydGllcyhUZXh0U3RyZWFtJiwg
T3B0aW9uU2V0PFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M+KTsKIAogcHJvdGVjdGVkOgog
ICAgIFBsYXRmb3JtQ0FMYXllcihMYXllclR5cGUsIFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3du
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDg4NGU5NDg1M2ZmY2Fl
MTc2OWExYzE2MzczZWVjYmE2MjQxY2Y3MmQuLjUzMmNiZTg0MDg3ZTk2ZWFlNmU3ODVjYTE2OTI4
YzI5N2EwNDNlMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTI4NjEs
OCArMjg2MSw4IEBAIHN0YXRpYyBPcHRpb25TZXQ8UGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFn
cz4gdG9QbGF0Zm9ybUxheWVyVHJlZUZsYWdzKHVuc2lnbmVkCiAgICAgICAgIHBsYXRmb3JtTGF5
ZXJUcmVlRmxhZ3MuYWRkKFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M6OkRlYnVnKTsKICAg
ICBpZiAoZmxhZ3MgJiBJbnRlcm5hbHM6OlBMQVRGT1JNX0xBWUVSX1RSRUVfSUdOT1JFU19DSElM
RFJFTikKICAgICAgICAgcGxhdGZvcm1MYXllclRyZWVGbGFncy5hZGQoUGxhdGZvcm1MYXllclRy
ZWVBc1RleHRGbGFnczo6SWdub3JlQ2hpbGRyZW4pOwotICAgIGlmIChmbGFncyAmIEludGVybmFs
czo6UExBVEZPUk1fTEFZRVJfVFJFRV9JTkNMVURFX09QQUNJVFkpCi0gICAgICAgIHBsYXRmb3Jt
TGF5ZXJUcmVlRmxhZ3MuYWRkKFBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M6OkluY2x1ZGVP
cGFjaXR5KTsKKyAgICBpZiAoZmxhZ3MgJiBJbnRlcm5hbHM6OlBMQVRGT1JNX0xBWUVSX1RSRUVf
SU5DTFVERV9NT0RFTFMpCisgICAgICAgIHBsYXRmb3JtTGF5ZXJUcmVlRmxhZ3MuYWRkKFBsYXRm
b3JtTGF5ZXJUcmVlQXNUZXh0RmxhZ3M6OkluY2x1ZGVNb2RlbHMpOwogICAgIHJldHVybiBwbGF0
Zm9ybUxheWVyVHJlZUZsYWdzOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRl
eCAxODM3ZjczZTdmMjE0NmZhNDE4YTY3ZmQ4ODA2Y2Q5M2U2NTk1MmJjLi45YWY5OWVmNjMxODNm
NjJmNWI4MmQwZjllNThlYjM3NzYzZDEzYjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKQEAgLTQyNSw3ICs0MjUsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIFZhbHVlcyBuZWVkIHRv
IGJlIGtlcHQgaW4gc3luYyB3aXRoIEludGVybmFscy5pZGwuCiAgICAgICAgIFBMQVRGT1JNX0xB
WUVSX1RSRUVfREVCVUcgPSAxLAogICAgICAgICBQTEFURk9STV9MQVlFUl9UUkVFX0lHTk9SRVNf
Q0hJTERSRU4gPSAyLAotICAgICAgICBQTEFURk9STV9MQVlFUl9UUkVFX0lOQ0xVREVfT1BBQ0lU
WSA9IDQsCisgICAgICAgIFBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMgPSA0LAog
ICAgIH07CiAgICAgRXhjZXB0aW9uT3I8U3RyaW5nPiBwbGF0Zm9ybUxheWVyVHJlZUFzVGV4dChF
bGVtZW50JiwgdW5zaWduZWQgc2hvcnQgZmxhZ3MpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggNmZhZjc0OTg5NjZmNmUyODcyYmIxNDljMDM2YjdhYTc3YzEz
Mjc4Yy4uNmRjYmE3MDA4ODRhZWNmNzM3ZjdkNjU3OGU1MzYyMmQ4ODEzY2JiOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNTA0LDcgKzUwNCw3IEBAIGVudW0gVHJlZVR5
cGUgewogICAgIC8vIEZsYWdzIGZvciBwbGF0Zm9ybUxheWVyVHJlZUFzVGV4dC4KICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBQTEFURk9STV9MQVlFUl9UUkVFX0RFQlVHID0gMTsKICAgICBjb25z
dCB1bnNpZ25lZCBzaG9ydCBQTEFURk9STV9MQVlFUl9UUkVFX0lHTk9SRVNfQ0hJTERSRU4gPSAy
OwotICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9P
UEFDSVRZID0gNDsKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBQTEFURk9STV9MQVlFUl9UUkVF
X0lOQ0xVREVfTU9ERUxTID0gNDsKICAgICBET01TdHJpbmcgcGxhdGZvcm1MYXllclRyZWVBc1Rl
eHQoRWxlbWVudCBlbGVtZW50LCBvcHRpb25hbCB1bnNpZ25lZCBzaG9ydCBmbGFncyA9IDApOwog
CiAgICAgRE9NU3RyaW5nIHNjcm9sbGJhck92ZXJsYXlTdHlsZShvcHRpb25hbCBOb2RlPyBub2Rl
ID0gbnVsbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9S
ZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxh
eWVyUmVtb3RlTW9kZWxIb3N0aW5nLmgKaW5kZXggOWE3ZTNhYjRhNGQ1MjFmZDcwYzhkNjVkOTQ0
ZWMwYzUyYmE1NTgzZS4uOTMxNzNhNTRmZjNlM2JhZmU3NDcyNDQxYTMwMDRiMTFjMTZlMGM4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJU
cmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9zdGluZy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1v
dGVNb2RlbEhvc3RpbmcuaApAQCAtNDIsNiArNDIsOCBAQCBwcml2YXRlOgogICAgIFJlZjxXZWJD
b3JlOjpQbGF0Zm9ybUNBTGF5ZXI+IGNsb25lKFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllckNsaWVu
dCogb3duZXIpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIHZvaWQgcG9wdWxhdGVDcmVhdGlv
blByb3BlcnRpZXMoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyQ3JlYXRpb25Qcm9w
ZXJ0aWVzJiwgY29uc3QgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCYsIFdlYkNvcmU6OlBsYXRmb3Jt
Q0FMYXllcjo6TGF5ZXJUeXBlKSBvdmVycmlkZTsKKyAgICAKKyAgICB2b2lkIGR1bXBBZGRpdGlv
bmFsUHJvcGVydGllcyhUZXh0U3RyZWFtJiwgT3B0aW9uU2V0PFBsYXRmb3JtTGF5ZXJUcmVlQXNU
ZXh0RmxhZ3M+KSBmaW5hbDsKIAogICAgIFJlZjxNb2RlbD4gbV9tb2RlbDsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxh
dGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0aW5nLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1BsYXRmb3JtQ0FMYXllclJlbW90ZU1vZGVsSG9z
dGluZy5tbQppbmRleCBjZjA0NzllNjdjYzI1MzYyNDdlMGU2Y2YzZjQwMzliOTBmM2M4OTlmLi44
YzEwNjIyMDVjNzdhZmZkN2JhZDE3Y2Y5NzI2ZmM4MDIwNzY2YzJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxh
eWVyUmVtb3RlTW9kZWxIb3N0aW5nLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGVNb2RlbEhvc3Rpbmcu
bW0KQEAgLTY2LDQgKzY2LDEwIEBAIHZvaWQgUGxhdGZvcm1DQUxheWVyUmVtb3RlTW9kZWxIb3N0
aW5nOjpwb3B1bGF0ZUNyZWF0aW9uUHJvcGVydGllcyhSZW1vdGVMYXllclRyCiAgICAgcHJvcGVy
dGllcy5tb2RlbCA9IG1fbW9kZWwucHRyKCk7CiB9CiAKK3ZvaWQgUGxhdGZvcm1DQUxheWVyUmVt
b3RlTW9kZWxIb3N0aW5nOjpkdW1wQWRkaXRpb25hbFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMs
IE9wdGlvblNldDxQbGF0Zm9ybUxheWVyVHJlZUFzVGV4dEZsYWdzPiBmbGFncykKK3sKKyAgICBp
ZiAoZmxhZ3MuY29udGFpbnMoUGxhdGZvcm1MYXllclRyZWVBc1RleHRGbGFnczo6SW5jbHVkZU1v
ZGVscykpCisgICAgICAgIHRzIDw8IGluZGVudCA8PCAiKG1vZGVsIGRhdGEgc2l6ZSAiIDw8IG1f
bW9kZWwtPmRhdGEoKS0+c2l6ZSgpIDw8ICIpXG4iOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2OWQ5MmJjYzhkNzJkOWUzYzUyOWYzYjVlOGVjMTIwMWUyMjgzNGIyLi43N2Yw
Nzg1MjU1MGE4OWQxMTg2ZDYyZjhkNjAyZjJkZTJhMzFmOWJlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMjEtMDQtMjIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgQ2hhbmdpbmcgdGhlIHNvdXJjZSBvZiBhIG1vZGVsIGVsZW1lbnQgd2l0aCBjbGlw
cGluZyBhcHBsaWVkIGRvZXMgbm90IHVwZGF0ZSB0aGUgbW9kZWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDkxNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVt
ZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy13aXRo
LWNsaXBwaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogbW9kZWwtZWxlbWVudC9t
b2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBtb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5
ZXItdXBkYXRlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtb2RlbC1lbGVtZW50L3Jlc291cmNl
cy9jdWJlLnVzZHo6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgQWRkIHRlc3RzIHRoYXQgZW5zdXJlIHRoYXQgYWRkaW5nIGEgPG1vZGVsPiB3aXRoIG9uZSBz
b3VyY2UsIHRoZW4gY2hhbmdpbmcKKyAgICAgICAgaXQgdG8gYW5vdGhlciwgY29ycmVjdGx5IHVw
ZGF0ZXMgdGhlIGNvbnRlbnQgbGF5ZXIuIFRlc3QgdGhpcyBib3RoCisgICAgICAgIHdpdGggYW5k
IHdpdGhvdXQgY2xpcHBpbmcgKHRoZSB3aXRob3V0LWNsaXBwaW5nIGNhc2UgcGFzc2VkIGJlZm9y
ZSB0aGlzIGNoYW5nZSwKKyAgICAgICAgd2l0aC1jbGlwcGluZyBmYWlsZWQpLgorCisgICAgICAg
IFRoZXNlIHRlc3RzIG9ubHkgd29yayBvbiBDb2NvYSBwb3J0cyB3aXRoIFVJLXNpZGUgY29tcG9z
aXRpbmcgZW5hYmxlZAorICAgICAgICBiZWNhdXNlIHRoZXkgZGVwZW5kIG9uIHRoZSBQbGF0Zm9y
bUNBTGF5ZXIgc3ViY2xhc3MgaG9sZGluZyBvbiB0byB0aGUgbW9kZWwKKyAgICAgICAgZGF0YSAo
YW5kIGxvZ2dpbmcgaXRzIHNpemUpIGluIG9yZGVyIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhl
IHR3byBtb2RlbHMuCisKIDIwMjEtMDQtMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSBzaG91bGQgYWZmZWN0
IG5lc3RlZCBwb3NpdGlvbjpmaXhlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbW9kZWwtZWxl
bWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVw
ZGF0ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4ZjAzZTlmMWI4MGYzOTEwOGFhMjZlOTcx
N2E1ZGFlNDk2Mjc0MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVt
ZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyNSBAQAorIEJlZm9yZSBDaGFuZ2luZyBTb3VyY2U6CisocGxhdGZvcm0gbGF5ZXIK
KyAgKHBvc2l0aW9uIDE1OC4wMCA4My4wMCkKKyAgKGJvdW5kcyAzMDAuMDAgMTUwLjAwKQorICAo
Y2hpbGRyZW4KKyAgICAoY29udGVudHMgbGF5ZXIgKG1vZGVsKQorICAgICAgKHBvc2l0aW9uIDAu
MDAgMC4wMCkKKyAgICAgIChib3VuZHMgMzAwLjAwIDE1MC4wMCkKKyAgICAgIChtb2RlbCBkYXRh
IHNpemUgMzk1MTI2KQorICAgICkKKyAgKQorKQorQWZ0ZXIgQ2hhbmdpbmcgU291cmNlOgorKHBs
YXRmb3JtIGxheWVyCisgIChwb3NpdGlvbiAxNTguMDAgODMuMDApCisgIChib3VuZHMgMzAwLjAw
IDE1MC4wMCkKKyAgKGNoaWxkcmVuCisgICAgKGNvbnRlbnRzIGxheWVyIChtb2RlbCkKKyAgICAg
IChwb3NpdGlvbiAwLjAwIDAuMDApCisgICAgICAoYm91bmRzIDMwMC4wMCAxNTAuMDApCisgICAg
ICAobW9kZWwgZGF0YSBzaXplIDMyNDgpCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRh
dGVzLXdpdGgtY2xpcHBpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVu
dC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTUxN2QyMmNhNGQ2Yjc1NzEwODdmM2M3ZmI3MmUwMzA4OGRk
YTI2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwt
ZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLXdpdGgtY2xpcHBpbmctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzcgQEAKKyBCZWZvcmUgQ2hhbmdpbmcgU291cmNlOgorKHBsYXRmb3JtIGxh
eWVyCisgIChwb3NpdGlvbiAxNTguMDAgODMuMDApCisgIChib3VuZHMgMzAwLjAwIDE1MC4wMCkK
KyAgKGNoaWxkcmVuCisgICAgKGNvbnRlbnRzIGNsaXBwaW5nIGxheWVyCisgICAgICAocG9zaXRp
b24gMC4wMCAwLjAwKQorICAgICAgKGJvdW5kcyAzMDAuMDAgMTUwLjAwKQorICAgICAgKGNoaWxk
cmVuCisgICAgICAgIChjb250ZW50cyBsYXllciAobW9kZWwpCisgICAgICAgICAgKHBvc2l0aW9u
IDAuMDAgMC4wMCkKKyAgICAgICAgICAoYm91bmRzIDMwMC4wMCAxNTAuMDApCisgICAgICAgICAg
KG1vZGVsIGRhdGEgc2l6ZSAzOTUxMjYpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkK
KykKK0FmdGVyIENoYW5naW5nIFNvdXJjZToKKyhwbGF0Zm9ybSBsYXllcgorICAocG9zaXRpb24g
MTU4LjAwIDgzLjAwKQorICAoYm91bmRzIDMwMC4wMCAxNTAuMDApCisgIChjaGlsZHJlbgorICAg
IChjb250ZW50cyBjbGlwcGluZyBsYXllcgorICAgICAgKHBvc2l0aW9uIDAuMDAgMC4wMCkKKyAg
ICAgIChib3VuZHMgMzAwLjAwIDE1MC4wMCkKKyAgICAgIChjaGlsZHJlbgorICAgICAgICAoY29u
dGVudHMgbGF5ZXIgKG1vZGVsKQorICAgICAgICAgIChwb3NpdGlvbiAwLjAwIDAuMDApCisgICAg
ICAgICAgKGJvdW5kcyAzMDAuMDAgMTUwLjAwKQorICAgICAgICAgIChtb2RlbCBkYXRhIHNpemUg
MzI0OCkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBk
YXRlcy13aXRoLWNsaXBwaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9tb2RlbC1lbGVtZW50L21vZGVs
LWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBkYXRlcy13aXRoLWNsaXBwaW5nLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTg5ZjI2ODlmMTQ0OWFlMWY3YjllMDAxOTA1MDkzNjdlNTljOWIxOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50
cy1sYXllci11cGRhdGVzLXdpdGgtY2xpcHBpbmcuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIE1vZGVsRWxlbWVudEVuYWJsZWQ9
dHJ1ZSBdIC0tPgorPGh0bWw+Cis8Ym9keT4KKzxtb2RlbCBpZD0ibW9kZWwiIHN0eWxlPSJib3Jk
ZXItcmFkaXVzOiA1cHgiPgorICAgIDxzb3VyY2Ugc3JjPSJyZXNvdXJjZXMvaGVhcnQudXNkeiI+
Cis8L21vZGVsPgorPHByZSBpZD0ibGF5ZXJzIj48L3ByZT4KKzxzY3JpcHQ+CisgICAgbGV0IGxh
eWVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllcnMiKTsKKyAgICBsZXQgc291cmNl
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNvdXJjZSIpWzBdOworCisgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
bGF5ZXJzLnRleHRDb250ZW50ID0gIlRoaXMgdGVzdCByZXF1aXJlcyB0ZXN0UnVubmVyLiI7CisK
KyAgICBsZXQgbW9kZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9kZWwiKTsKKworICAg
IG1vZGVsLnJlYWR5LnRoZW4odmFsdWUgPT4geworICAgICAgICBsYXllcnMudGV4dENvbnRlbnQg
PSAiQmVmb3JlIENoYW5naW5nIFNvdXJjZTpcbiI7CisgICAgICAgIGxheWVycy50ZXh0Q29udGVu
dCArPSB3aW5kb3cuaW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KG1vZGVsLCB3aW5k
b3cuaW50ZXJuYWxzLlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMpOworCisgICAg
ICAgIHNvdXJjZS5zcmMgPSAicmVzb3VyY2VzL2N1YmUudXNkeiI7CisgICAgICAgIG1vZGVsLnJl
YWR5LnRoZW4odmFsdWUgPT4geworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgICAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ICs9ICJBZnRlciBDaGFuZ2luZyBT
b3VyY2U6XG4iOworICAgICAgICAgICAgICAgIGxheWVycy50ZXh0Q29udGVudCArPSB3aW5kb3cu
aW50ZXJuYWxzLnBsYXRmb3JtTGF5ZXJUcmVlQXNUZXh0KG1vZGVsLCB3aW5kb3cuaW50ZXJuYWxz
LlBMQVRGT1JNX0xBWUVSX1RSRUVfSU5DTFVERV9NT0RFTFMpOworICAgICAgICAgICAgfQorICAg
ICAgICB9LCByZWFzb24gPT4geworICAgICAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ID0gYEZh
aWxlZC4gU2Vjb25kIG1vZGVsIGRpZCBub3QgbG9hZDogJHtyZWFzb259YDsKKyAgICAgICAgfSku
ZmluYWxseSgoKSA9PiB7IAorICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKKyAgICAg
ICAgCisgICAgfSwgcmVhc29uID0+IHsKKyAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ID0gYEZh
aWxlZC4gRmlyc3QgbW9kZWwgZGlkIG5vdCBsb2FkOiAke3JlYXNvbn1gOworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICB9KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMu
aHRtbCBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1lbnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1s
YXllci11cGRhdGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWYxM2E2NDQyNzM4NDAyZjFjZTdmMWUxYWMw
NWJmZDcxNjFjNDZiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21vZGVsLWVsZW1l
bnQvbW9kZWwtZWxlbWVudC1jb250ZW50cy1sYXllci11cGRhdGVzLmh0bWwKQEAgLTAsMCArMSw0
NCBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBNb2RlbEVsZW1l
bnRFbmFibGVkPXRydWUgXSAtLT4KKzxodG1sPgorPGJvZHk+Cis8bW9kZWwgaWQ9Im1vZGVsIj4K
KyAgICA8c291cmNlIHNyYz0icmVzb3VyY2VzL2hlYXJ0LnVzZHoiPgorPC9tb2RlbD4KKzxwcmUg
aWQ9ImxheWVycyI+PC9wcmU+Cis8c2NyaXB0PgorICAgIGxldCBsYXllcnMgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibGF5ZXJzIik7CisgICAgbGV0IHNvdXJjZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJzb3VyY2UiKVswXTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgfSBlbHNlCisgICAgICAgIGxheWVycy50ZXh0Q29udGVu
dCA9ICJUaGlzIHRlc3QgcmVxdWlyZXMgdGVzdFJ1bm5lci4iOworCisgICAgbGV0IG1vZGVsID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vZGVsIik7CisKKyAgICBtb2RlbC5yZWFkeS50aGVu
KHZhbHVlID0+IHsKKyAgICAgICAgbGF5ZXJzLnRleHRDb250ZW50ID0gIkJlZm9yZSBDaGFuZ2lu
ZyBTb3VyY2U6XG4iOworICAgICAgICBsYXllcnMudGV4dENvbnRlbnQgKz0gd2luZG93LmludGVy
bmFscy5wbGF0Zm9ybUxheWVyVHJlZUFzVGV4dChtb2RlbCwgd2luZG93LmludGVybmFscy5QTEFU
Rk9STV9MQVlFUl9UUkVFX0lOQ0xVREVfTU9ERUxTKTsKKworICAgICAgICBzb3VyY2Uuc3JjID0g
InJlc291cmNlcy9jdWJlLnVzZHoiOworICAgICAgICBtb2RlbC5yZWFkeS50aGVuKHZhbHVlID0+
IHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAg
IGxheWVycy50ZXh0Q29udGVudCArPSAiQWZ0ZXIgQ2hhbmdpbmcgU291cmNlOlxuIjsKKyAgICAg
ICAgICAgICAgICBsYXllcnMudGV4dENvbnRlbnQgKz0gd2luZG93LmludGVybmFscy5wbGF0Zm9y
bUxheWVyVHJlZUFzVGV4dChtb2RlbCwgd2luZG93LmludGVybmFscy5QTEFURk9STV9MQVlFUl9U
UkVFX0lOQ0xVREVfTU9ERUxTKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSwgcmVhc29uID0+
IHsKKyAgICAgICAgICAgIGxheWVycy50ZXh0Q29udGVudCA9IGBGYWlsZWQuIFNlY29uZCBtb2Rl
bCBkaWQgbm90IGxvYWQ6ICR7cmVhc29ufWA7CisgICAgICAgIH0pLmZpbmFsbHkoKCkgPT4geyAK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CisgICAgICAgIAorICAgIH0sIHJlYXNv
biA9PiB7CisgICAgICAgIGxheWVycy50ZXh0Q29udGVudCA9IGBGYWlsZWQuIEZpcnN0IG1vZGVs
IGRpZCBub3QgbG9hZDogJHtyZWFzb259YDsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21vZGVsLWVsZW1l
bnQvbW9kZWwtZWxlbWVudC1ncmFwaGljcy1sYXllcnMtb3BhY2l0eS5odG1sIGIvTGF5b3V0VGVz
dHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1vcGFjaXR5Lmh0
bWwKaW5kZXggMTY0ZDZjM2JhNTBiMzIwYmY3ZTVmMDJmNTMwYTE3YjliZmRlMWRkNC4uNDk4MWU2
ZGJiM2M5YzU0ZTY3MWQ1YTJhNmZiNWQyZmU3YjExZTA4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNzLWxheWVycy1vcGFjaXR5Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWdyYXBoaWNz
LWxheWVycy1vcGFjaXR5Lmh0bWwKQEAgLTI1LDcgKzI1LDcgQEAKIAogICAgIG1vZGVsLnJlYWR5
LnRoZW4odmFsdWUgPT4gewogICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICBsYXllcnMuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5wbGF0Zm9ybUxheWVyVHJl
ZUFzVGV4dChtb2RlbCwgd2luZG93LmludGVybmFscy5QTEFURk9STV9MQVlFUl9UUkVFX0lOQ0xV
REVfT1BBQ0lUWSk7CisgICAgICAgICAgICBsYXllcnMuaW5uZXJUZXh0ID0gd2luZG93LmludGVy
bmFscy5wbGF0Zm9ybUxheWVyVHJlZUFzVGV4dChtb2RlbCk7CiAgICAgICAgIG1vZGVsLnJlbW92
ZSgpOwogICAgIH0sIHJlYXNvbiA9PiB7CiAgICAgICAgIGxheWVycy50ZXh0Q29udGVudCA9IGBG
YWlsZWQuIE1vZGVsIGRpZCBub3QgbG9hZDogJHtyZWFzb259YDsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL21vZGVsLWVsZW1lbnQvcmVzb3VyY2VzL2N1YmUudXNkeiBiL0xheW91dFRlc3RzL21v
ZGVsLWVsZW1lbnQvcmVzb3VyY2VzL2N1YmUudXNkegpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzQyNmU4ZWE5OTJh
ZDFkNjRmYzVmZjQ1YTFjMzljYmQ1MGYyNzE1CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMjQ4
CnpjbWJ0WFopX1c5OEdxaWhlTG1Nb1lzWDJPcTxgIS05Vy0/NXltO04jRnlpd1pRJWJZZXNlTXlu
RChiflBIPld5eAp6LXJZSCo2R0VPcUBMe0x8Qikrako2Q1hETGxNd0p9ZkF9KGk1PG5GajB3UHA0
a05eJFVHXzlJOFh+T2ZJP3t6fTkKelJ6dGtXYkktcnVgI2pJUmNsVy1KXkN4fSZaOXFmKyVKPEhN
amlabGo+aXs2eTJefjszOU5ucEU8czxyWiY5b2Q4Cno+VU8jR2pYdWVwTDZgajVHZWImWUVET1B3
PkIoXjBeP3dQPm85IyE9V2lzKjFFISNHa2AtRHdDOXwyKlRPZzApKAp6cSVJX20/TUF0VXB9UGR3
aDE5I3IpYHhPRyhyelQ0WiFnT0drbTUpUXIyUista1NOdnc2Mz14STxwKz4+dTF7PXwKektaJFl4
aU4rdWo+N1BQNmpQeEs5cEt9T2g5Kl5WamZ3K1V9eyRHZ2RwXjxEY2ZhWDQkdUgrUERMUShQeD5s
RlZMCnpUVXpiQjc0b20keSVWfnttYy0hZyZURHRZeVc7OW5ecVBOUmVtdT58I3x4eHEtQnY8d1dM
bSVmOSpzOXpkTHhhegp6ZiZhdjVHfjZxPWVvck9+PjAyP2ItSkFFWjt+Oyk+OTl7PnslWDc3M0go
SSQjPWFgU0k0ZU43OSF7Zishb18xfHAKekZkdkdPWlo4fFhjeGAyNF4pQDdtPUBRMWd1U3xaOXh0
RTtZNnlzaHBrM3MmQWxEVW9le2JjVUhBNVZNckBIbkp6CnptQU92KkwtTkt0Q0RPUShOTCVAdnFi
PlZaUEJfYGFae355fWVKZHc/MUFVeUlNOyR5SSo8bioyanplbjtrMnUyMQp6OS1pIWs9WHhVQGB0
R2UhXlNNXz9EP2UzVXxKbE92XnplYjkoZXV3fChqOHhYO3F7ald5S28tSiZ6cE4/bnQxeDEKejgx
YVZpbGlrR1Mqcl5De3hjdVRTOyNaJkUqP2ZjVjg/PVlme3pWUU51WHY4OUlBSDBBUF9KY1hic04z
X0hBfG4pCnpQVStSTXI1V3UjQUllJXF0eWk1cUkkPklLR3xTRndtU1g0Kmw8S3gpUExIZFhHOzIo
Q1I0N0BSPlg7VmI7cVk5Xgp6Ry1mbypOel5RRE0lVFdhTkZJNH44MD94PihrckBWZnBlKipvbD5W
WUk5b0JUWDs1dWpiNTBsKTZBVXQ1KVF2S2YKek9nd0IxJjJabzs2fD9HVSlyUkFtSWdNcVNINExx
NUhjYT0hamUoSSNnekxyeUQzczZ2KzRgZ2c8TkFkdTJlS0g8CnpRZWw+SW9VVjtIbVRLNWw0QXVx
MyheZ3J0SXczUCtUS2NvX3ZTdj5+JkQwSVk/cVA0dnNGcG9xSjdEMG5aXkFPRwp6czNxLWIlJjUo
dHooZ2dTcDNJdXskS2Q5NnlGT1hnWExNVVBqWTRUayFfdiFVZVhePCpecy1qSTB7KE5YRHw+YEoK
enBqbXk4d0NoI3tsNyVVQzQhJm1Bb20kPG9NfE1JQ2tEWnJ3eXo+I2c0NyN4b2VxN2NvbUFiOEUm
OG9RdlNUfXFmCno3aFNEWl8wbURPNXdeX3dnKCpYYFpKMEY4RHF5OSRJO21INj1oQzt9eF98K2tY
VT42UlVjPzhlKnlhMiRTWGJkWQp6a2J1JmNVQDRIUUsmNUpgNG1oZkhMMzhxfEdpQzIlYTtveW94
aCVZO1N2Mz5hMkpaeEI0em42QXpoUCpsRSliSHkKelJLXnx4Xzg1fip0MzNQIXtKX0JIMD8qYn1y
Oz1pR3NhOEpCPnU8ZWQ/cU55QyFGRDlGOXJOck5rSGVYUkNAQnA3Cno5cXhgUSNifEI8bT5AOWIh
fFJSNkBeV05aWUR5d0JMeV9lSHdnYCloaXkqP2drXm9td3B9KFgyMVdFe2FTfC1FdAp6KiZ0LV9F
Y0h3OVQzRShVMUhZRyRUI2k2QUU8enFwU0dqYCNWWXdsfSEqUGg8SDd0SyRnNDdfcURuWWN6KXFu
MmwKel5RaUF9XntXIWRnQ01hR0JuUlBPNVhOd1Jadj1jMiMxOGRCRUUkMj1JTGM+e2g3IVBiO1E5
WGBoRzI1QzdvdDs5Cno4MV47aEJwOEBgN3tTOGBOQDMpeTJ9dCRBQk4xUmhjbmMoWFZTWE9CMFpJ
TTw/RlptQ0F8Qm1Pd01pTTQ+VE50OAp6ZmtlXzVCRytkbWg+WXhUPzsjKC03PiFUayZDVGo4KSFs
ZGszcWZ+NjRqP2lMY3w/eDNrbW5KKDN1WkJReCkmUFgKemM2KkwrIX1neFNTTllSdVIldG8kUDN5
X15DX1RqQF81KCNGaGl5VHxaNFFiI3IzWTVUbzElejQhRjRnejZ2ZTxiCnp2RXVgQSQzTW1CaWgk
aHJfckFhRmQ0R0BhVVZLSG95OHE3dWl2ei0rYGFBeUUtfSMzX0A1Y1dVP3wzS1BgTWFTagp6NTNQ
djVqaiF6YiZHNXBvRm57entNfT1RTHskQmlUWU1OK3BQRUNfTG5sWk8zQkA8OUduWHhHSjMmUShC
UTMoOF8KelBaMGhwM2pYVlgoOF5GN3lxb3FqV255OT9oYUY4Zl9fdkQtPiZkclMkSWJRQ1c0flRN
OUQ4a2plTFZvPHo4XnUxCnotYVU2VHNUcVdjMmAxK2h4eWFVSSpIX29WeDdIWTJpYC1lZXYmUV4p
KkxZUXQpKHFUUy1KLVkjKVlpRzkrM21KZAp6eE1uT0wydCteKGB1KGV0S1kpTEpAY1ZAfDt5ckNO
ZncyZGFMOGs4YHhWe3ArRXFjITQ+NjV1cjF5NGFYPWUzSE8KendfX0tJWEhKfHR6NXhoJHR0bWVW
S1lKb0tLRE9iOHlgS0x2UmdSPE8mbE5mM2x+Jl5obXNAVmdYTnNUV0p+QUNeCnh7VmFmJkpieGpk
JVduNG4tdCVBTl5HYENZXnhuVEVKZWJFbSN4SU1MMGU1S19lKENyciF7Xi09XyY9KmRQfiFqcQoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDFjMDk1NGFmNTk1ZjU0OGQ1NWM1ZTU4NmNjMmE1YTJjMmVi
NWNjYjcuLjE4MDljZTRlMjZkODQxN2ExMDJhYTVlM2JmYTg5N2I0ZTMxZjVhNjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2LDYgKzQ2
LDkgQEAgZmFzdC9yZXBhaW50L3BsYWNlaG9sZGVyLWFmdGVyLWNhcHMtbG9jay1oaWRkZW4uaHRt
bCBbIFBhc3MgXQogZmFzdC92aXN1YWwtdmlld3BvcnQvcnViYmVyYmFuZGluZy12aWV3cG9ydC1y
ZWN0cy5odG1sIFsgUGFzcyBdCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9ydWJiZXJiYW5kaW5nLXZp
ZXdwb3J0LXJlY3RzLWhlYWRlci1mb290ZXIuaHRtbCAgWyBQYXNzIF0KIAorbW9kZWwtZWxlbWVu
dC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMtd2l0aC1jbGlwcGluZy5odG1s
IFsgUGFzcyBdCittb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQtY29udGVudHMtbGF5ZXItdXBk
YXRlcy5odG1sIFsgUGFzcyBdCisKICMgUGVuZGluZyBTREsgY2hhbmdlcywgcmUtc2tpcCB0aGVz
ZSB0ZXN0cyB0aGF0IGFyZSB1bi1za2lwcGVkIGFib3ZlLgogZmFzdC92aWV3cG9ydC9pb3Mvdmll
d3BvcnQtZml0LWNvbnRhaW4uaHRtbCBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3Mvdmlld3Bv
cnQtZml0LWNvdmVyLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNjNmYzI1OGU2Y2VmYTJkYzM2YjIzMTNmZjBhMTlmNGZjOTExOTZj
Yy4uNTQ0MTI0NzQ3Y2RhZDZmMGRkY2Y3ZGM4ZDBlY2ZlOTU1YmUyMTQyMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY3LDYgKzY3LDEwIEBAIHdlYmtp
dC5vcmcvYi8yMTkxNiB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzE3
ODg1NS54bWwgWyBQYXNzIEltCiBmYXN0L2RvbS9XaW5kb3cvc2xvdy11bmxvYWQtaGFuZGxlci5o
dG1sCiBmYXN0L2RvbS9XaW5kb3cvc2xvdy11bmxvYWQtaGFuZGxlci1vbmx5LWZyYW1lLWlzLXN0
b3BwZWQuaHRtbAogCisjIFRoaXMgdGVzdCBvbmx5IHdvcmtzIHdpdGggVUktc2lkZSBjb21wb3Np
dGluZworbW9kZWwtZWxlbWVudC9tb2RlbC1lbGVtZW50LWNvbnRlbnRzLWxheWVyLXVwZGF0ZXMt
d2l0aC1jbGlwcGluZy5odG1sIFsgU2tpcCBdCittb2RlbC1lbGVtZW50L21vZGVsLWVsZW1lbnQt
Y29udGVudHMtbGF5ZXItdXBkYXRlcy5odG1sIFsgU2tpcCBdCisKICMgQWNjZXNzaWJpbGl0eSB0
ZXN0cyBmb3Igbm90aWZpY2F0aW9ucyB0aGF0IGRvbid0IGV4aXN0IG9yIGFyZW4ndCBuZWVkZWQg
b24gTWFjIE9TIFguCiBhY2Nlc3NpYmlsaXR5L2FyaWEtY2hlY2tib3gtc2VuZHMtbm90aWZpY2F0
aW9uLmh0bWwKIGFjY2Vzc2liaWxpdHkvYXJpYS1zd2l0Y2gtc2VuZHMtbm90aWZpY2F0aW9uLmh0
bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>