<?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>238643</bug_id>
          
          <creation_ts>2022-03-31 18:03:23 -0700</creation_ts>
          <short_desc>Implement support for aligning baselines through subgrids</short_desc>
          <delta_ts>2022-04-18 14:45:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/33464</see_also>
          <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>
          
          <blocked>236959</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Woodrow">mattwoodrow</reporter>
          <assigned_to name="Matt Woodrow">mattwoodrow</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1857078</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-03-31 18:03:23 -0700</bug_when>
    <thetext>We should recurse into subgrids when looking for items to contribute to a baseline sharing group.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857081</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-31 18:10:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/91138101&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857084</commentid>
    <comment_count>2</comment_count>
      <attachid>456302</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-03-31 18:16:46 -0700</bug_when>
    <thetext>Created attachment 456302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1857085</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-03-31 18:18:37 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858740</commentid>
    <comment_count>4</comment_count>
      <attachid>456795</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-06 02:35:24 -0700</bug_when>
    <thetext>Created attachment 456795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858995</commentid>
    <comment_count>5</comment_count>
      <attachid>456856</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-06 13:38:28 -0700</bug_when>
    <thetext>Created attachment 456856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859637</commentid>
    <comment_count>6</comment_count>
      <attachid>456856</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2022-04-08 02:40:58 -0700</bug_when>
    <thetext>Comment on attachment 456856
Patch

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

The change looks good, but I&apos;d like to understand better why some ASSERTs has been removed.

&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:-923
&gt; -    ASSERT(!child.needsLayout());

Why this ASSERT is removed ?

&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:-948
&gt; -    ASSERT(m_renderGrid-&gt;isBaselineAlignmentForChild(item, axis));

Why this ASSERT has been removed ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860547</commentid>
    <comment_count>7</comment_count>
      <attachid>456856</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-11 20:47:19 -0700</bug_when>
    <thetext>Comment on attachment 456856
Patch

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

&gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:-923
&gt;&gt; -    ASSERT(!child.needsLayout());
&gt; 
&gt; Why this ASSERT is removed ?

We only require the child to have completed layout if we are going to synthesise a baseline.

I moved this assertion to two places within GridBaselineAlignment so that it only gets checked when we attempt to synthesise a baseline (and means we can align subgrid children that haven&apos;t been laid out yet, as long as they have a real baseline).

&gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:-948
&gt;&gt; -    ASSERT(m_renderGrid-&gt;isBaselineAlignmentForChild(item, axis));
&gt; 
&gt; Why this ASSERT has been removed ?

m_renderGrid is the outermost grid, and isBaselineAlignmentForChild is only guaranteed to return true on the parent grid of item.

I could change this to ASSERT(downcast&lt;RenderGrid&gt;(item.parent())-&gt;isBaselineAlignmentForChild(item, axis));, but since the only callers of this function also check that, it didn&apos;t seem necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861164</commentid>
    <comment_count>8</comment_count>
      <attachid>456856</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2022-04-13 10:45:04 -0700</bug_when>
    <thetext>Comment on attachment 456856
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:-948
&gt;&gt;&gt; -    ASSERT(m_renderGrid-&gt;isBaselineAlignmentForChild(item, axis));
&gt;&gt; 
&gt;&gt; Why this ASSERT has been removed ?
&gt; 
&gt; m_renderGrid is the outermost grid, and isBaselineAlignmentForChild is only guaranteed to return true on the parent grid of item.
&gt; 
&gt; I could change this to ASSERT(downcast&lt;RenderGrid&gt;(item.parent())-&gt;isBaselineAlignmentForChild(item, axis));, but since the only callers of this function also check that, it didn&apos;t seem necessary.

If I remember correctly, this assert was added to detect outdated elements in the cache, which might be target of a style change that could affect to the align-self or justify-self properties. Theoretically, we call cacheBaselineAlignedItem only if the items have baseline as value for theses properties, hence the ASSERT (eg, RenderGrid::computeIntrinsicLogicalWidths)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861382</commentid>
    <comment_count>9</comment_count>
      <attachid>457591</attachid>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-13 21:18:45 -0700</bug_when>
    <thetext>Created attachment 457591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861384</commentid>
    <comment_count>10</comment_count>
    <who name="Matt Woodrow">mattwoodrow</who>
    <bug_when>2022-04-13 21:19:21 -0700</bug_when>
    <thetext>(In reply to Javier Fernandez from comment #8)
&gt; Comment on attachment 456856 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=456856&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:-948
&gt; &gt;&gt;&gt; -    ASSERT(m_renderGrid-&gt;isBaselineAlignmentForChild(item, axis));
&gt; &gt;&gt; 
&gt; &gt;&gt; Why this ASSERT has been removed ?
&gt; &gt; 
&gt; &gt; m_renderGrid is the outermost grid, and isBaselineAlignmentForChild is only guaranteed to return true on the parent grid of item.
&gt; &gt; 
&gt; &gt; I could change this to ASSERT(downcast&lt;RenderGrid&gt;(item.parent())-&gt;isBaselineAlignmentForChild(item, axis));, but since the only callers of this function also check that, it didn&apos;t seem necessary.
&gt; 
&gt; If I remember correctly, this assert was added to detect outdated elements
&gt; in the cache, which might be target of a style change that could affect to
&gt; the align-self or justify-self properties. Theoretically, we call
&gt; cacheBaselineAlignedItem only if the items have baseline as value for theses
&gt; properties, hence the ASSERT (eg, RenderGrid::computeIntrinsicLogicalWidths)

Alright, I&apos;ve added this check back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862243</commentid>
    <comment_count>11</comment_count>
      <attachid>457591</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2022-04-18 09:45:28 -0700</bug_when>
    <thetext>Comment on attachment 457591
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862322</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-18 14:45:18 -0700</bug_when>
    <thetext>Committed r292973 (249736@main): &lt;https://commits.webkit.org/249736@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457591.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456302</attachid>
            <date>2022-03-31 18:16:46 -0700</date>
            <delta_ts>2022-04-06 02:35:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238643-20220401141645.patch</filename>
            <type>text/plain</type>
            <size>17550</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVlNDAwYTRkMGI1NDk4
YThlYmZhMzI4OTkxYTM1MTQxYjRmMWE4YS4uNjU4YjNiNGQ0M2RlZTM3NDQ4MDZhMWNhZjg3OTU4
ODUwNzNiYjdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTAzLTMxICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHN1
cHBvcnQgZm9yIGFsaWduaW5nIGJhc2VsaW5lcyB0aHJvdWdoIHN1YmdyaWRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NDMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYmFzZWxpbmUg
c2hhcmluZyByZWN1cnNpb24gaW50byBzdWJncmlkcworCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAw
Mi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMy5odG1sCisKKyAgICAgICAgKiByZW5kZXJp
bmcvR3JpZExheW91dEZ1bmN0aW9ucy5oOgorICAgICAgICAqIHJlbmRlcmluZy9HcmlkVHJhY2tT
aXppbmdBbGdvcml0aG0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtOjpjYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0pOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlQmFzZWxpbmVBbGlnbmVkQ2hp
bGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZUludHJpbnNpY0xv
Z2ljYWxXaWR0aHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6YWxpZ25T
ZWxmRm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6anVzdGlm
eVNlbGZGb3JDaGlsZCBjb25zdCk6CisKKyAgICAgICAgTW92ZXMgdGhlIGNvZGUgZm9yIGNvbGxl
Y3RpbmcgYmFzZWxpbmUgYWxpZ25lZCBjaGlsZHJlbiBpbnRvIGEgc2hhcmVkIGhlbHBlciBmdW5j
dGlvbiwgYW5kIGFkZHMKKyAgICAgICAgc3VwcG9ydCBmb3IgcmVjdXJzaW5nIGludG8gc3ViZ3Jp
ZCBjaGlsZHJlbiAocmVzdHJpY3RlZCB0byB0aGUgYXhlcyB0aGF0IHN1YmdyaWQgd2FzIGFwcGxp
ZWQpLgorCisgICAgICAgIEZpeGVzIGFsaWduL2p1c3RpZnlTZWxmRm9yQ2hpbGQgdG8gY2hlY2sg
aWYgdGhlIGNoaWxkIGlzIGEgc3ViZ3JpZCBhbmQgb3ZlcnJpZGVzIHRoZSByZXN1bHQgdG8gJ3N0
cmV0Y2gnLCBzbworICAgICAgICB0aGF0IHdlJ3JlIGNvcnJlY3RseSBzdHJldGNoaW5nIHN1Ymdy
aWRzLCBub3QgdGhlIGNoaWxkcmVuIG9mIHN1YmdyaWRzIChjb3ZlcmVkIGJ5IG5ldyB0ZXN0cyku
CisKIDIwMjItMDMtMjggIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KIAog
ICAgICAgICBEb24ndCBtdXRhdGUgY2hpbGRyZW4gZHVyaW5nIFJlbmRlckdyaWQ6OmNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzIHVubGVzcyB3ZSdyZSBhYm91dCB0byByZS1sYXlvdXQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZExheW91dEZ1bmN0aW9ucy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlvbnMuaAppbmRleCA4
NThmMTJkZmRkYTQyZWE1MGM3ZTU2MjhkMDNhNWNjYjhlNTdjYjZkLi5hN2IxMWY4YjdmM2RlNWU3
NDhhYzc2MWQ5ODc2ZTRkMWEzNDJmZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvR3JpZExheW91dEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9HcmlkTGF5b3V0RnVuY3Rpb25zLmgKQEAgLTM0LDcgKzM0LDEwIEBAIGNsYXNzIFJlbmRlckJv
eDsKIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJHcmlkOwogCi1lbnVtIEdyaWRB
eGlzIHsgR3JpZFJvd0F4aXMsIEdyaWRDb2x1bW5BeGlzIH07CitlbnVtIEdyaWRBeGlzIHsKKyAg
ICBHcmlkUm93QXhpcyA9IDEgPDwgMCwKKyAgICBHcmlkQ29sdW1uQXhpcyA9IDEgPDwgMQorfTsK
IAogbmFtZXNwYWNlIEdyaWRMYXlvdXRGdW5jdGlvbnMgewogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCmluZGV4IDBmY2Jh
N2VhZGE3ZDc4YjRjYWVhNGM4MWIyNGRlYzExOTFhN2NhMmQuLjJiMzhjMWM4NzY2NWNjYWU0NThk
MTljZWI2YjhkZmY0NzcyZmQ0MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC05NDUsNyArOTQ1LDkgQEAgdm9p
ZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmNsZWFyQmFzZWxpbmVJdGVtc0NhY2hlKCkKIAog
dm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbShj
b25zdCBSZW5kZXJCb3gmIGl0ZW0sIEdyaWRBeGlzIGF4aXMpCiB7Ci0gICAgQVNTRVJUKG1fcmVu
ZGVyR3JpZC0+aXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKGl0ZW0sIGF4aXMpKTsKKyAgICBp
ZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsUGFyZW50KCptX3JlbmRlckdyaWQs
ICppdGVtLnBhcmVudCgpKSkKKyAgICAgICAgYXhpcyA9IGF4aXMgPT0gR3JpZENvbHVtbkF4aXMg
PyBHcmlkUm93QXhpcyA6IEdyaWRDb2x1bW5BeGlzOworCiAgICAgaWYgKGF4aXMgPT0gR3JpZENv
bHVtbkF4aXMpCiAgICAgICAgIG1fY29sdW1uQmFzZWxpbmVJdGVtc01hcC5hZGQoJml0ZW0sIHRy
dWUpOwogICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRl
eCBjMjAzNjQ2ZmFmNmM5Y2IyYTFlMzdkYjUwZjNkNzYwMjRhNjU2ODI1Li4zMDMzZjMyN2FiYWM4
NjBmZWQyMDZhYTVmZjEyMzJmNjA3Y2E4OGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwCkBAIC0xOTIsNiArMTkyLDQwIEBAIGJvb2wgUmVuZGVyR3JpZDo6Y2FuUGVy
Zm9ybVNpbXBsaWZpZWRMYXlvdXQoKSBjb25zdAogICAgIHJldHVybiBSZW5kZXJCbG9jazo6Y2Fu
UGVyZm9ybVNpbXBsaWZpZWRMYXlvdXQoKTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgRj4KK3N0
YXRpYyB2b2lkIGNhY2hlQmFzZWxpbmVBbGlnbmVkQ2hpbGRyZW4oY29uc3QgUmVuZGVyR3JpZCYg
Z3JpZCwgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtJiBhbGdvcml0aG0sIHVpbnQzMl90IGF4ZXMs
IEYmIGNhbGxiYWNrKQoreworICAgIGZvciAoYXV0byogY2hpbGQgPSBncmlkLmZpcnN0Q2hpbGRC
b3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAg
aWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGlsZC0+aXNMZWdlbmQoKSkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGNhbGxiYWNrKGNoaWxkKTsKKworICAg
ICAgICAvLyBXZSBrZWVwIGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNlbGluZSBhcyBhbGlnbm1l
bnQgdmFsdWVzIHNvIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBiYXNlbGluZSBzaGltcyBmb3IK
KyAgICAgICAgLy8gc3VjaCBpdGVtcy4gVGhpcyBjYWNoZSBpcyBuZWVkZWQgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlIGNvc3Qgb2YgZXZhbHVhdGluZyB0aGUgaXRl
bSdzCisgICAgICAgIC8vIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNlbGluZSBjb250ZXh0IGR1cmlu
ZyB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KKyAgICAgICAgdWludDMyX3QgaW5uZXJBeGVz
ID0gMDsKKyAgICAgICAgUmVuZGVyR3JpZCogaW5uZXIgPSBpczxSZW5kZXJHcmlkPihjaGlsZCkg
PyBkb3duY2FzdDxSZW5kZXJHcmlkPihjaGlsZCkgOiBudWxscHRyOworCisgICAgICAgIGlmIChh
eGVzICYgR3JpZENvbHVtbkF4aXMpIHsKKyAgICAgICAgICAgIGlmIChpbm5lciAmJiBpbm5lci0+
aXNTdWJncmlkSW5QYXJlbnREaXJlY3Rpb24oRm9yUm93cykpCisgICAgICAgICAgICAgICAgaW5u
ZXJBeGVzIHw9IEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKGdyaWQsICpj
aGlsZCkgPyBHcmlkUm93QXhpcyA6IEdyaWRDb2x1bW5BeGlzOworICAgICAgICAgICAgZWxzZSBp
ZiAoZ3JpZC5pc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkQ29sdW1uQXhp
cykpCisgICAgICAgICAgICAgICAgYWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgq
Y2hpbGQsIEdyaWRDb2x1bW5BeGlzKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChheGVzICYg
R3JpZFJvd0F4aXMpIHsKKyAgICAgICAgICAgIGlmIChpbm5lciAmJiBpbm5lci0+aXNTdWJncmlk
SW5QYXJlbnREaXJlY3Rpb24oRm9yQ29sdW1ucykpCisgICAgICAgICAgICAgICAgaW5uZXJBeGVz
IHw9IEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKGdyaWQsICpjaGlsZCkg
PyBHcmlkQ29sdW1uQXhpcyA6IEdyaWRSb3dBeGlzOworICAgICAgICAgICAgZWxzZSBpZiAoZ3Jp
ZC5pc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkUm93QXhpcykpCisgICAg
ICAgICAgICAgICAgYWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdy
aWRSb3dBeGlzKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpbm5lckF4ZXMpCisgICAgICAg
ICAgICBjYWNoZUJhc2VsaW5lQWxpZ25lZENoaWxkcmVuKCppbm5lciwgYWxnb3JpdGhtLCBpbm5l
ckF4ZXMsIGNhbGxiYWNrKTsKKyAgICB9Cit9CisKIFZlY3RvcjxSZW5kZXJCb3gqPiBSZW5kZXJH
cmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRlbnRBbmRCYXNlbGluZUl0ZW1zKCkKIHsKICAg
ICBWZWN0b3I8UmVuZGVyQm94Kj4gZGVwZW5kZW50R3JpZEl0ZW1zOwpAQCAtMjAwLDE1ICsyMzQs
NyBAQCBWZWN0b3I8UmVuZGVyQm94Kj4gUmVuZGVyR3JpZDo6Y29tcHV0ZUFzcGVjdFJhdGlvRGVw
ZW5kZW50QW5kQmFzZWxpbmVJdGVtcygpCiAgICAgbV9oYXNBbnlPcnRob2dvbmFsSXRlbSA9IGZh
bHNlOwogICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0gZmFsc2U7
CiAKLSAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0xlZ2VuZCgpKQotICAgICAgICAgICAgY29udGlu
dWU7Ci0KLSAgICAgICAgLy8gR3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBp
dGVtJ3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3ZSBuZWVkIHRvCi0gICAgICAgIC8vIGNsZWFy
IGFueSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRvZXNuJ3QgaW50ZXJm
ZXJlIGluIGN1cnJlbnQgbGF5b3V0Ci0gICAgICAgIC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1
c2VzIHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFy
ICBpdC4KLSAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQoKTsKLQor
ICAgIGF1dG8gY29tcHV0ZU9ydGhvZ29uYWxBbmREZXBlbmRlbnRJdGVtcyA9IFsmXShSZW5kZXJC
b3gqIGNoaWxkKSB7CiAgICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9naWMgY29udHJvbHMgdGhl
IGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVlZCB0bwogICAgICAgICAv
LyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2aW91c2x5LCBzbyBpdCBkb2Vzbid0
IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAogICAgICAgICAvLyBleGVjdXRpb24uIEdyaWQg
bmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkgd2UgZG9uJ3QgbmVlZCB0
byBjbGVhciAgaXQuCkBAIC0yMjQsMTUgKzI1MCw5IEBAIFZlY3RvcjxSZW5kZXJCb3gqPiBSZW5k
ZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRlbnRBbmRCYXNlbGluZUl0ZW1zKCkKICAg
ICAgICAgICAgIGRlcGVuZGVudEdyaWRJdGVtcy5hcHBlbmQoY2hpbGQpOwogICAgICAgICAgICAg
bV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSB0cnVlOwogICAgICAgICB9
CisgICAgfTsKIAotICAgICAgICAvLyBXZSBrZWVwIGEgY2FjaGUgb2YgaXRlbXMgd2l0aCBiYXNl
bGluZSBhcyBhbGlnbm1lbnQgdmFsdWVzIHNvIHRoYXQgd2Ugb25seSBjb21wdXRlIHRoZSBiYXNl
bGluZSBzaGltcyBmb3IKLSAgICAgICAgLy8gc3VjaCBpdGVtcy4gVGhpcyBjYWNoZSBpcyBuZWVk
ZWQgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgcmVhc29ucyBkdWUgdG8gdGhlIGNvc3Qgb2YgZXZh
bHVhdGluZyB0aGUgaXRlbSdzCi0gICAgICAgIC8vIHBhcnRpY2lwYXRpb24gaW4gYSBiYXNlbGlu
ZSBjb250ZXh0IGR1cmluZyB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobS4KLSAgICAgICAgaWYg
KGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKSkKLSAg
ICAgICAgICAgIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVt
KCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpOwotICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVu
dEZvckNoaWxkKCpjaGlsZCwgR3JpZFJvd0F4aXMpKQotICAgICAgICAgICAgbV90cmFja1Npemlu
Z0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkUm93QXhpcyk7
Ci0gICAgfQorICAgIGNhY2hlQmFzZWxpbmVBbGlnbmVkQ2hpbGRyZW4oKnRoaXMsIG1fdHJhY2tT
aXppbmdBbGdvcml0aG0sIEdyaWRSb3dBeGlzIHwgR3JpZENvbHVtbkF4aXMsIGNvbXB1dGVPcnRo
b2dvbmFsQW5kRGVwZW5kZW50SXRlbXMpOwogCiAgICAgcmV0dXJuIGRlcGVuZGVudEdyaWRJdGVt
czsKIH0KQEAgLTQ3NiwxMiArNDk2LDggQEAgdm9pZCBSZW5kZXJHcmlkOjpjb21wdXRlSW50cmlu
c2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW8KICAgICAg
ICAgaWYgKG1fYmFzZWxpbmVJdGVtc0NhY2hlZCkKICAgICAgICAgICAgIGFsZ29yaXRobS5jb3B5
QmFzZWxpbmVJdGVtc0NhY2hlKG1fdHJhY2tTaXppbmdBbGdvcml0aG0sIEdyaWRSb3dBeGlzKTsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8qIGNoaWxkID0gZmlyc3RDaGls
ZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAg
ICAgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpCi0gICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25t
ZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkUm93QXhpcykpCi0gICAgICAgICAgICAgICAgICAgIGFs
Z29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkUm93QXhpcyk7Ci0g
ICAgICAgICAgICB9CisgICAgICAgICAgICBhdXRvIGVtcHR5Q2FsbGJhY2sgPSBbXShSZW5kZXJC
b3gqKSB7IH07CisgICAgICAgICAgICBjYWNoZUJhc2VsaW5lQWxpZ25lZENoaWxkcmVuKCp0aGlz
LCBhbGdvcml0aG0sIEdyaWRSb3dBeGlzLCBlbXB0eUNhbGxiYWNrKTsKICAgICAgICAgfQogCiAg
ICAgICAgIGNvbXB1dGVUcmFja1NpemVzRm9ySW5kZWZpbml0ZVNpemUoYWxnb3JpdGhtLCBGb3JD
b2x1bW5zLCAmbWluTG9naWNhbFdpZHRoLCAmbWF4TG9naWNhbFdpZHRoKTsKQEAgLTEyMjUsNyAr
MTI0MSw3IEBAIExheW91dFVuaXQgUmVuZGVyR3JpZDo6YXZhaWxhYmxlQWxpZ25tZW50U3BhY2VG
b3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcoTGF5b3V0VW5pCiAKIFN0eWxlU2VsZkFsaWdubWVudERh
dGEgUmVuZGVyR3JpZDo6YWxpZ25TZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwg
U3RyZXRjaGluZ01vZGUgc3RyZXRjaGluZ01vZGUsIGNvbnN0IFJlbmRlclN0eWxlKiBncmlkU3R5
bGUpIGNvbnN0CiB7Ci0gICAgaWYgKGlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJvd3Mp
KQorICAgIGlmIChpczxSZW5kZXJHcmlkPihjaGlsZCkgJiYgZG93bmNhc3Q8UmVuZGVyR3JpZD4o
Y2hpbGQpLmlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJvd3MpKQogICAgICAgICByZXR1
cm4geyBJdGVtUG9zaXRpb246OlN0cmV0Y2gsIE92ZXJmbG93QWxpZ25tZW50OjpEZWZhdWx0IH07
CiAgICAgaWYgKCFncmlkU3R5bGUpCiAgICAgICAgIGdyaWRTdHlsZSA9ICZzdHlsZSgpOwpAQCAt
MTIzNSw3ICsxMjUxLDcgQEAgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjphbGln
blNlbGZGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBTdHIKIAogU3R5bGVTZWxmQWxp
Z25tZW50RGF0YSBSZW5kZXJHcmlkOjpqdXN0aWZ5U2VsZkZvckNoaWxkKGNvbnN0IFJlbmRlckJv
eCYgY2hpbGQsIFN0cmV0Y2hpbmdNb2RlIHN0cmV0Y2hpbmdNb2RlLCBjb25zdCBSZW5kZXJTdHls
ZSogZ3JpZFN0eWxlKSBjb25zdAogewotICAgIGlmIChpc1N1YmdyaWRJblBhcmVudERpcmVjdGlv
bihGb3JDb2x1bW5zKSkKKyAgICBpZiAoaXM8UmVuZGVyR3JpZD4oY2hpbGQpICYmIGRvd25jYXN0
PFJlbmRlckdyaWQ+KGNoaWxkKS5pc1N1YmdyaWRJblBhcmVudERpcmVjdGlvbihGb3JDb2x1bW5z
KSkKICAgICAgICAgcmV0dXJuIHsgSXRlbVBvc2l0aW9uOjpTdHJldGNoLCBPdmVyZmxvd0FsaWdu
bWVudDo6RGVmYXVsdCB9OwogICAgIGlmICghZ3JpZFN0eWxlKQogICAgICAgICBncmlkU3R5bGUg
PSAmc3R5bGUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDlmMDE3MTU5NGJl
OWVhNWJkMjNiYjE0YWFlN2M4Mjc5NTRjYjIzNGIuLjNiOGY2ZmEzNDgxZmE4YWVhMjY3YjBkMzQy
ZjEzNGJiZGNhMWQ2NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDIyLTAzLTMxICBNYXR0IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIGFsaWduaW5nIGJhc2VsaW5lcyB0aHJv
dWdoIHN1YmdyaWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0w
MDItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAzLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvc3ViZ3JpZC9iYXNlbGluZS0wMDMuaHRtbDogQWRkZWQuCisKKyAgICAgICAgQWRkZWQgbmV3
IFdQVCB2YXJpYW50cyBvZiB0aGUgYmFzZWxpbmUgdGVzdHMsIGZvciB0aGUgY2FzZSB3aGVyZSB0
aGUgaW50cm9zcGVjdGVkIHN1YmdyaWQKKyAgICAgICAgaGFzIHBhZGRpbmcgdGhhdCBhZmZlY3Rz
IHRoZSBiYXNlbGluZSBwb3NpdGlvbiwgYW5kIGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgc3ViZ3Jp
ZCB1c2VzIGFuCisgICAgICAgIG9ydGhvZ29uYWwgd3JpdGluZyBtb2RlLgorCiAyMDIyLTAzLTI3
ICBNYXR0IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CiAKICAgICAgICAgTGF6aWx5
IGFsbG9jYXRlIGJhY2tpbmcgc3RvcmUgZm9yIGdyaWQgY29sdW1ucy4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1
YmdyaWQvYmFzZWxpbmUtMDAyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzNDNmZjg2NzJkNDg4MDU0MTg0YTkxOTA1NDI2ZmNh
YzhiYjk1MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPCEtLQorICAgICBBbnkg
Y29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgaHR0cDov
L2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworLS0+Cis8aHRtbD48
aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+UmVmZXJlbmNlOiBiYXNl
bGluZS1hbGlnbmVkIHN1YmdyaWQgaXRlbSB3aXRoIHBhZGRpbmc8L3RpdGxlPgorICA8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3b29kcm93
QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9Ii9mb250cy9haGVtLmNzcyI+CisgIDxzdHlsZT4KK2h0bWwsYm9keSB7CisgIGNvbG9yOmJs
YWNrOyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBmb250OjE2cHgvMSBBaGVtOyBwYWRkaW5nOjA7
IG1hcmdpbjowOworfQorCisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIGdyaWQ6IDIwcHgg
cmVwZWF0KDQsIGF1dG8pIDMwcHggLyAzMHB4IHJlcGVhdCg0LCBhdXRvKSAyMHB4OworICBwbGFj
ZS1jb250ZW50OiBzdGFydDsKKyAgcGxhY2UtaXRlbXM6IGJhc2VsaW5lIHN0YXJ0OworICBib3Jk
ZXI6IDFweCBzb2xpZDsKKyAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgYmx1ZTsKK30KKwor
LnN1YmdyaWQgeworICBiYWNrZ3JvdW5kOiBsaWdodGdyZXk7CisgIGdyaWQtY29sdW1uOiAyIC8g
c3BhbiA0OworICBncmlkLXJvdzogMyAvIHNwYW4gMjsKKyAgbWluLXdpZHRoOiAxMHB4OworICBt
aW4taGVpZ2h0OiAwOworICBiYWNrZ3JvdW5kOiB5ZWxsb3c7CisgIHBhZGRpbmctdG9wOiAyMHB4
OworfQorCit4LCB6IHsKKyAgZGlzcGxheTogYmxvY2s7CisgIG1pbi13aWR0aDogMjBweDsKKyAg
bWluLWhlaWdodDogMTBweDsKKyAgZm9udC1zaXplOiA4ZW07CisgIGJhY2tncm91bmQ6IHNpbHZl
cjsKK30KK3ogeworICB3aWR0aDogMjBweDsKKyAgaGVpZ2h0OiAxMHB4OworfQorCisgIDwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBjbGFzcz0iZ3JpZCI+Cis8eSBzdHlsZT0iZ3Jp
ZC1hcmVhOjMvMSI+QSZuYnNwOzwveT4KKzxkaXYgY2xhc3M9InN1YmdyaWQiPgorICA8ej48L3o+
PHg+Jm5ic3A7QTwveD4KKzwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEyN2JmMTRlOTRiOTFiNTU4ZDA1ZDM5MTk5ZTgwNGQwM2MyMDBhNGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi5odG1sCkBAIC0wLDAgKzEs
NjAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPCEtLQorICAgICBBbnkgY29weXJpZ2h0IGlzIGRlZGlj
YXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5v
cmcvcHVibGljZG9tYWluL3plcm8vMS4wLworLS0+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorICA8dGl0bGU+Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBz
dWJncmlkIGl0ZW0gd2l0aCBwYWRkaW5nPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJNYXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgor
ICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3Jp
ZC0yIj4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2Zv
bnRzL2FoZW0uY3NzIj4KKyAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iYmFzZWxpbmUtMDAyLXJl
Zi5odG1sIj4KKyAgPHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6YmxhY2s7IGJhY2tncm91
bmQtY29sb3I6d2hpdGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsgbWFyZ2luOjA7Cit9
CisKKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZDogMjBweCByZXBlYXQoNCwgYXV0
bykgMzBweCAvIDMwcHggcmVwZWF0KDQsIGF1dG8pIDIwcHg7CisgIHBsYWNlLWNvbnRlbnQ6IHN0
YXJ0OworICBwbGFjZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7CisgIGJvcmRlcjogMXB4IHNvbGlk
OworICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBibHVlOworfQorCisuc3ViZ3JpZCB7Cisg
IGRpc3BsYXk6IGdyaWQ7CisgIGdyaWQ6IHN1YmdyaWQgLyBhdXRvOworICBiYWNrZ3JvdW5kOiBs
aWdodGdyZXk7CisgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiA0OworICBncmlkLXJvdzogMyAvIHNw
YW4gMjsKKyAgbWluLXdpZHRoOiAxMHB4OworICBtaW4taGVpZ2h0OiAwOworICBiYWNrZ3JvdW5k
OiB5ZWxsb3c7CisgIHBsYWNlLWNvbnRlbnQ6IGluaGVyaXQ7CisgIHBsYWNlLWl0ZW1zOiBpbmhl
cml0OworICBwYWRkaW5nLXRvcDogMjBweDsKK30KKworeCB7CisgIG1pbi13aWR0aDogMjBweDsK
KyAgbWluLWhlaWdodDogMTBweDsKKyAgZm9udC1zaXplOiA4ZW07CisgIGJhY2tncm91bmQ6IHNp
bHZlcjsKK30KKworICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9Imdy
aWQiPgorPHkgc3R5bGU9ImdyaWQtYXJlYTo0LzEiPkEmbmJzcDs8L3k+Cis8ZGl2IGNsYXNzPSJz
dWJncmlkIj4KKyAgPHggc3R5bGU9ImdyaWQtcm93OjIiPiZuYnNwO0E8L3g+PHg+PC94PgorPC9k
aXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNl
bGluZS0wMDMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAzLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzE1NWEyZDZjZWZjMGRkNmZlZWFmYjMyOGFjZTQzZTJhY2E1ZmJmZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAzLWV4cGVjdGVkLmh0bWwKQEAg
LTAsMCArMSw1OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8IS0tCisgICAgIEFueSBjb3B5cmlnaHQg
aXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICAgICBodHRwOi8vY3JlYXRpdmVj
b21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCistLT4KKzxodG1sPjxoZWFkPgorICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5SZWZlcmVuY2U6IGJhc2VsaW5lLWFsaWdu
ZWQgc3ViZ3JpZCBpdGVtIHdpdGggb3J0aG9nb25hbCB3cml0aW5nLW1vZGU8L3RpdGxlPgorICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3
b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9j
c3MiIGhyZWY9Ii9mb250cy9haGVtLmNzcyI+CisgIDxzdHlsZT4KK2h0bWwsYm9keSB7CisgIGNv
bG9yOmJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBmb250OjE2cHgvMSBBaGVtOyBwYWRk
aW5nOjA7IG1hcmdpbjowOworfQorCisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIGdyaWQ6
IDIwcHggcmVwZWF0KDQsIGF1dG8pIDMwcHggLyAzMHB4IHJlcGVhdCg0LCBhdXRvKSAyMHB4Owor
ICBwbGFjZS1jb250ZW50OiBzdGFydDsKKyAgcGxhY2UtaXRlbXM6IGJhc2VsaW5lIHN0YXJ0Owor
ICBib3JkZXI6IDFweCBzb2xpZDsKKyAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgYmx1ZTsK
K30KKworLnN1YmdyaWQgeworICBiYWNrZ3JvdW5kOiBsaWdodGdyZXk7CisgIGdyaWQtY29sdW1u
OiAyIC8gc3BhbiA0OworICBncmlkLXJvdzogMyAvIHNwYW4gMjsKKyAgbWluLXdpZHRoOiAxMHB4
OworICBtaW4taGVpZ2h0OiAwOworICBiYWNrZ3JvdW5kOiB5ZWxsb3c7Cit9CisKK3gsIHogewor
ICBkaXNwbGF5OiBibG9jazsKKyAgbWluLXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAxMHB4
OworICBmb250LXNpemU6IDhlbTsKKyAgYmFja2dyb3VuZDogc2lsdmVyOworfQoreiB7CisgIHdp
ZHRoOiAyMHB4OworICBoZWlnaHQ6IDEwcHg7Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorCis8ZGl2IGNsYXNzPSJncmlkIj4KKzx5IHN0eWxlPSJncmlkLWFyZWE6My8xIj5BJm5i
c3A7PC95PgorPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgIDx6Pjwvej48eCBzdHlsZT0ibWFyZ2lu
LWxlZnQ6IDIwcHgiPiZuYnNwO0E8L3g+Cis8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNl
bGluZS0wMDMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMzEyZWQ1NTMwZjVkMzhkZGE2OGFjNDQ1YzZiNThl
MWJmODMwOWU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDMuaHRtbApA
QCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUgSFRNTD4KKzwhLS0KKyAgICAgQW55IGNvcHlyaWdo
dCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgICAgIGh0dHA6Ly9jcmVhdGl2
ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKy0tPgorPGh0bWw+PGhlYWQ+Cisg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkNTUyBHcmlkIFRlc3Q6IGJhc2VsaW5l
LWFsaWduZWQgc3ViZ3JpZCBpdGVtIHdpdGggb3J0aG9nb25hbCB3cml0aW5nLW1vZGU8L3RpdGxl
PgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRv
Om1hdHR3b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLTIiPgorICA8bGluayByZWw9InN0eWxlc2hlZXQi
IHR5cGU9InRleHQvY3NzIiBocmVmPSIvZm9udHMvYWhlbS5jc3MiPgorICA8bGluayByZWw9Im1h
dGNoIiBocmVmPSJiYXNlbGluZS0wMDMtcmVmLmh0bWwiPgorICA8c3R5bGU+CitodG1sLGJvZHkg
eworICBjb2xvcjpibGFjazsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgQWhl
bTsgcGFkZGluZzowOyBtYXJnaW46MDsKK30KKworLmdyaWQgeworICBkaXNwbGF5OiBncmlkOwor
ICBncmlkOiAyMHB4IHJlcGVhdCg0LCBhdXRvKSAzMHB4IC8gMzBweCByZXBlYXQoNCwgYXV0bykg
MjBweDsKKyAgcGxhY2UtY29udGVudDogc3RhcnQ7CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBz
dGFydDsKKyAgYm9yZGVyOiAxcHggc29saWQ7CisgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5l
IGJsdWU7Cit9CisKKy5zdWJncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZDogYXV0byAv
IHN1YmdyaWQ7CisgIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTsKKyAgZ3JpZC1jb2x1bW46IDIgLyBz
cGFuIDQ7CisgIGdyaWQtcm93OiAzIC8gc3BhbiAyOworICBtaW4td2lkdGg6IDEwcHg7CisgIG1p
bi1oZWlnaHQ6IDA7CisgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgcGxhY2UtY29udGVudDogaW5o
ZXJpdDsKKyAgcGxhY2UtaXRlbXM6IHN0YXJ0IGJhc2VsaW5lOworICB3cml0aW5nLW1vZGU6IHZl
cnRpY2FsLXJsOworfQorCit4IHsKKyAgbWluLXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAx
MHB4OworICBmb250LXNpemU6IDhlbTsKKyAgYmFja2dyb3VuZDogc2lsdmVyOworICB3cml0aW5n
LW1vZGU6IGhvcml6b250YWwtdGI7Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IGNsYXNzPSJncmlkIj4KKzx5IHN0eWxlPSJncmlkLWFyZWE6NC8xIj5BJm5ic3A7PC95
PgorPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgIDx4IHN0eWxlPSJncmlkLWNvbHVtbjoyIj4mbmJz
cDtBPC94Pjx4PjwveD4KKzwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456795</attachid>
            <date>2022-04-06 02:35:24 -0700</date>
            <delta_ts>2022-04-06 13:38:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238643-20220406213522.patch</filename>
            <type>text/plain</type>
            <size>35249</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ2MDVjNzllNjlhYmMw
YjZiMjMxZjY4MGI1ZWMyMThmZDdhYTQ1ZC4uM2M0NTk1MjNhYTQwOGVkYjgxMmZkOWY0ODkzOWJi
YzY5MjUyNjRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTA0LTA2ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHN1
cHBvcnQgZm9yIGFsaWduaW5nIGJhc2VsaW5lcyB0aHJvdWdoIHN1YmdyaWRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NDMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYmFzZWxpbmUg
c2hhcmluZyByZWN1cnNpb24gaW50byBzdWJncmlkcworCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAw
Mi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5l
LTAwNC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRC
YXNlbGluZUFsaWdubWVudDo6YXNjZW50Rm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZEJhc2VsaW5lQWxpZ25tZW50OjpkZXNjZW50Rm9yQ2hpbGQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JpZEJhc2VsaW5lQWxpZ25tZW50Ojp1cGRhdGVCYXNlbGluZUFsaWdubWVu
dENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZWxpbmVHcm91cDo6QmFzZWxpbmVHcm91
cCk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlbGluZUdyb3VwOjp1cGRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QmFzZWxpbmVDb250ZXh0OjpCYXNlbGluZUNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzZWxpbmVDb250ZXh0Ojp1cGRhdGVTaGFyZWRHcm91cCk6CisgICAgICAgICogcmVu
ZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6QmFzZWxp
bmVHcm91cDo6bWF4QXNjZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VsaW5lR3Jv
dXA6Om1heERlc2NlbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9Hcmlk
TGF5b3V0RnVuY3Rpb25zLmg6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0Fs
Z29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06
OmNhblBhcnRpY2lwYXRlSW5CYXNlbGluZUFsaWdubWVudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnVwZGF0ZUJhc2VsaW5lQWxpZ25tZW50Q29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmJhc2Vs
aW5lT2Zmc2V0Rm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtOjpjYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0pOgorICAgICAgICAqIHJlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZUJhc2VsaW5lQWxpZ25lZENoaWxk
cmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBlcmZvcm1H
cmlkSXRlbXNQcmVMYXlvdXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
YWxpZ25TZWxmRm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
anVzdGlmeVNlbGZGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlk
Ojpjb2x1bW5BeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJHcmlkOjpyb3dBeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZCBjb25zdCk6CisK
KyAgICAgICAgTW92ZXMgdGhlIGNvZGUgZm9yIGNvbGxlY3RpbmcgYmFzZWxpbmUgYWxpZ25lZCBj
aGlsZHJlbiBpbnRvIGEgc2hhcmVkIGhlbHBlciBmdW5jdGlvbiwgYW5kIGFkZHMKKyAgICAgICAg
c3VwcG9ydCBmb3IgcmVjdXJzaW5nIGludG8gc3ViZ3JpZCBjaGlsZHJlbiAocmVzdHJpY3RlZCB0
byB0aGUgYXhlcyB0aGF0IHN1YmdyaWQgd2FzIGFwcGxpZWQpLgorCisgICAgICAgIEZpeGVzIGFs
aWduL2p1c3RpZnlTZWxmRm9yQ2hpbGQgdG8gY2hlY2sgaWYgdGhlIGNoaWxkIGlzIGEgc3ViZ3Jp
ZCBhbmQgb3ZlcnJpZGVzIHRoZSByZXN1bHQgdG8gJ3N0cmV0Y2gnLCBzbworICAgICAgICB0aGF0
IHdlJ3JlIGNvcnJlY3RseSBzdHJldGNoaW5nIHN1YmdyaWRzLCBub3QgdGhlIGNoaWxkcmVuIG9m
IHN1YmdyaWRzIChjb3ZlcmVkIGJ5IG5ldyB0ZXN0cykuCisKIDIwMjItMDQtMDMgIFR5bGVyIFdp
bGNvY2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICAtW1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpmb3JQYXJhbWV0ZXI6XSBz
aG91bGQgZmFpbCBmYXN0IGlmIHRoZSBnaXZlbiBwYXJhbWV0ZXIgd3JhcHBlciBoYXMgbm8gYmFj
a2luZyBvYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFz
ZWxpbmVBbGlnbm1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGlu
ZUFsaWdubWVudC5jcHAKaW5kZXggMjIzZTAyOGYyYTNmNzc3ZDliMjIwYzA5MWEzMmUxYWIwN2Mw
MzIxZi4uZDE0MTU3NmU3ZDUyZTBhY2E2ZDczMGY5MzZmNmI4ZDcyNDk5ZDM2MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5jcHAKQEAg
LTY4LDYgKzY4LDcgQEAgTGF5b3V0VW5pdCBHcmlkQmFzZWxpbmVBbGlnbm1lbnQ6OmFzY2VudEZv
ckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEdyaWRBeGkKICAgICBMYXlvdXRVbml0IGJh
c2VsaW5lKGlzUGFyYWxsZWxUb0Jhc2VsaW5lQXhpc0ZvckNoaWxkKGNoaWxkLCBiYXNlbGluZUF4
aXMpID8gY2hpbGQuZmlyc3RMaW5lQmFzZWxpbmUoKS52YWx1ZV9vcihMYXlvdXRVbml0KC0xKSkg
OiBMYXlvdXRVbml0KC0xKSk7CiAgICAgLy8gV2UgdGFrZSBib3JkZXItYm94J3MgdW5kZXIgZWRn
ZSBpZiBubyB2YWxpZCBiYXNlbGluZS4KICAgICBpZiAoYmFzZWxpbmUgPT0gLTEpIHsKKyAgICAg
ICAgQVNTRVJUKCFjaGlsZC5uZWVkc0xheW91dCgpKTsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRh
bEJhc2VsaW5lQXhpcyhiYXNlbGluZUF4aXMpKQogICAgICAgICAgICAgcmV0dXJuIGlzRmxpcHBl
ZFdyaXRpbmdNb2RlKG1fYmxvY2tGbG93KSA/IGNoaWxkLnNpemUoKS53aWR0aCgpLnRvSW50KCkg
KyBtYXJnaW4gOiBtYXJnaW47CiAgICAgICAgIHJldHVybiBjaGlsZC5zaXplKCkuaGVpZ2h0KCkg
KyBtYXJnaW47CkBAIC03Nyw2ICs3OCw3IEBAIExheW91dFVuaXQgR3JpZEJhc2VsaW5lQWxpZ25t
ZW50Ojphc2NlbnRGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkQXhpCiAKIExh
eW91dFVuaXQgR3JpZEJhc2VsaW5lQWxpZ25tZW50OjpkZXNjZW50Rm9yQ2hpbGQoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5pdCBhc2NlbnQsIEdyaWRBeGlzIGJhc2VsaW5lQXhpcykg
Y29uc3QKIHsKKyAgICBBU1NFUlQoIWNoaWxkLm5lZWRzTGF5b3V0KCkpOwogICAgIGlmIChpc1Bh
cmFsbGVsVG9CYXNlbGluZUF4aXNGb3JDaGlsZChjaGlsZCwgYmFzZWxpbmVBeGlzKSkKICAgICAg
ICAgcmV0dXJuIGNoaWxkLm1hcmdpbkxvZ2ljYWxIZWlnaHQoKSArIGNoaWxkLmxvZ2ljYWxIZWln
aHQoKSAtIGFzY2VudDsKICAgICByZXR1cm4gY2hpbGQubWFyZ2luTG9naWNhbFdpZHRoKCkgKyBj
aGlsZC5sb2dpY2FsV2lkdGgoKSAtIGFzY2VudDsKQEAgLTEyMiw5ICsxMjQsOCBAQCB2b2lkIEdy
aWRCYXNlbGluZUFsaWdubWVudDo6dXBkYXRlQmFzZWxpbmVBbGlnbm1lbnRDb250ZXh0KEl0ZW1Q
b3NpdGlvbiBwcmVmZXJlbgogICAgIC8vIERldGVybWluZSBBc2NlbnQgYW5kIERlc2NlbnQgdmFs
dWVzIG9mIHRoaXMgY2hpbGQgd2l0aCByZXNwZWN0IHRvCiAgICAgLy8gaXRzIGdyaWQgY29udGFp
bmVyLgogICAgIExheW91dFVuaXQgYXNjZW50ID0gYXNjZW50Rm9yQ2hpbGQoY2hpbGQsIGJhc2Vs
aW5lQXhpcyk7Ci0gICAgTGF5b3V0VW5pdCBkZXNjZW50ID0gZGVzY2VudEZvckNoaWxkKGNoaWxk
LCBhc2NlbnQsIGJhc2VsaW5lQXhpcyk7CiAgICAgaWYgKGlzRGVzY2VudEJhc2VsaW5lRm9yQ2hp
bGQoY2hpbGQsIGJhc2VsaW5lQXhpcykpCi0gICAgICAgIHN0ZDo6c3dhcChhc2NlbnQsIGRlc2Nl
bnQpOworICAgICAgICBhc2NlbnQgPSBkZXNjZW50Rm9yQ2hpbGQoY2hpbGQsIGFzY2VudCwgYmFz
ZWxpbmVBeGlzKTsKIAogICAgIC8vIExvb2tpbmcgdXAgZm9yIGEgc2hhcmVkIGFsaWdubWVudCBj
b250ZXh0IHBlcnBlbmRpY3VsYXIgdG8gdGhlCiAgICAgLy8gYmFzZWxpbmUgYXhpcy4KQEAgLTEz
NCwxMCArMTM1LDEwIEBAIHZvaWQgR3JpZEJhc2VsaW5lQWxpZ25tZW50Ojp1cGRhdGVCYXNlbGlu
ZUFsaWdubWVudENvbnRleHQoSXRlbVBvc2l0aW9uIHByZWZlcmVuCiAKICAgICAvLyBMb29raW5n
IGZvciBhIGNvbXBhdGlibGUgYmFzZWxpbmUtc2hhcmluZyBncm91cC4KICAgICBpZiAoYWRkUmVz
dWx0LmlzTmV3RW50cnkpCi0gICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBtYWtl
VW5pcXVlPEJhc2VsaW5lQ29udGV4dD4oY2hpbGQsIHByZWZlcmVuY2UsIGFzY2VudCwgZGVzY2Vu
dCk7CisgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBtYWtlVW5pcXVlPEJhc2Vs
aW5lQ29udGV4dD4oY2hpbGQsIHByZWZlcmVuY2UsIGFzY2VudCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIGF1dG8qIGNvbnRleHQgPSBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmdldCgpOwotICAg
ICAgICBjb250ZXh0LT51cGRhdGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSwgYXNjZW50
LCBkZXNjZW50KTsKKyAgICAgICAgY29udGV4dC0+dXBkYXRlU2hhcmVkR3JvdXAoY2hpbGQsIHBy
ZWZlcmVuY2UsIGFzY2VudCk7CiAgICAgfQogfQogCkBAIC0xNTksMTcgKzE2MCwxNiBAQCB2b2lk
IEdyaWRCYXNlbGluZUFsaWdubWVudDo6Y2xlYXIoR3JpZEF4aXMgYmFzZWxpbmVBeGlzKQogfQog
CiBCYXNlbGluZUdyb3VwOjpCYXNlbGluZUdyb3VwKFdyaXRpbmdNb2RlIGJsb2NrRmxvdywgSXRl
bVBvc2l0aW9uIGNoaWxkUHJlZmVyZW5jZSkKLSAgICA6IG1fbWF4QXNjZW50KDApLCBtX21heERl
c2NlbnQoMCksIG1faXRlbXMoKQorICAgIDogbV9tYXhBc2NlbnQoMCksIG1faXRlbXMoKQogewog
ICAgIG1fYmxvY2tGbG93ID0gYmxvY2tGbG93OwogICAgIG1fcHJlZmVyZW5jZSA9IGNoaWxkUHJl
ZmVyZW5jZTsKIH0KIAotdm9pZCBCYXNlbGluZUdyb3VwOjp1cGRhdGUoY29uc3QgUmVuZGVyQm94
JiBjaGlsZCwgTGF5b3V0VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCkKK3ZvaWQgQmFz
ZWxpbmVHcm91cDo6dXBkYXRlKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgYXNj
ZW50KQogewogICAgIGlmIChtX2l0ZW1zLmFkZCgmY2hpbGQpLmlzTmV3RW50cnkpIHsKICAgICAg
ICAgbV9tYXhBc2NlbnQgPSBzdGQ6Om1heChtX21heEFzY2VudCwgYXNjZW50KTsKLSAgICAgICAg
bV9tYXhEZXNjZW50ID0gc3RkOjptYXgobV9tYXhEZXNjZW50LCBkZXNjZW50KTsKICAgICB9CiB9
CiAKQEAgLTIwOSwxMCArMjA5LDEwIEBAIGJvb2wgQmFzZWxpbmVHcm91cDo6aXNDb21wYXRpYmxl
KFdyaXRpbmdNb2RlIGNoaWxkQmxvY2tGbG93LCBJdGVtUG9zaXRpb24gY2hpbGRQCiAgICAgcmV0
dXJuICgobV9ibG9ja0Zsb3cgPT0gY2hpbGRCbG9ja0Zsb3cgfHwgaXNPcnRob2dvbmFsQmxvY2tG
bG93KGNoaWxkQmxvY2tGbG93KSkgJiYgbV9wcmVmZXJlbmNlID09IGNoaWxkUHJlZmVyZW5jZSkg
fHwgKGlzT3Bwb3NpdGVCbG9ja0Zsb3coY2hpbGRCbG9ja0Zsb3cpICYmIG1fcHJlZmVyZW5jZSAh
PSBjaGlsZFByZWZlcmVuY2UpOwogfQogCi1CYXNlbGluZUNvbnRleHQ6OkJhc2VsaW5lQ29udGV4
dChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSwgTGF5b3V0
VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCkKK0Jhc2VsaW5lQ29udGV4dDo6QmFzZWxp
bmVDb250ZXh0KGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbmNl
LCBMYXlvdXRVbml0IGFzY2VudCkKIHsKICAgICBBU1NFUlQoaXNCYXNlbGluZVBvc2l0aW9uKHBy
ZWZlcmVuY2UpKTsKLSAgICB1cGRhdGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSwgYXNj
ZW50LCBkZXNjZW50KTsKKyAgICB1cGRhdGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSwg
YXNjZW50KTsKIH0KIAogY29uc3QgQmFzZWxpbmVHcm91cCYgQmFzZWxpbmVDb250ZXh0OjpzaGFy
ZWRHcm91cChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSkg
Y29uc3QKQEAgLTIyMSwxMSArMjIxLDExIEBAIGNvbnN0IEJhc2VsaW5lR3JvdXAmIEJhc2VsaW5l
Q29udGV4dDo6c2hhcmVkR3JvdXAoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvCiAgICAg
cmV0dXJuIGNvbnN0X2Nhc3Q8QmFzZWxpbmVDb250ZXh0Kj4odGhpcyktPmZpbmRDb21wYXRpYmxl
U2hhcmVkR3JvdXAoY2hpbGQsIHByZWZlcmVuY2UpOwogfQogCi12b2lkIEJhc2VsaW5lQ29udGV4
dDo6dXBkYXRlU2hhcmVkR3JvdXAoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvc2l0aW9u
IHByZWZlcmVuY2UsIExheW91dFVuaXQgYXNjZW50LCBMYXlvdXRVbml0IGRlc2NlbnQpCit2b2lk
IEJhc2VsaW5lQ29udGV4dDo6dXBkYXRlU2hhcmVkR3JvdXAoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCwgSXRlbVBvc2l0aW9uIHByZWZlcmVuY2UsIExheW91dFVuaXQgYXNjZW50KQogewogICAgIEFT
U0VSVChpc0Jhc2VsaW5lUG9zaXRpb24ocHJlZmVyZW5jZSkpOwogICAgIEJhc2VsaW5lR3JvdXAm
IGdyb3VwID0gZmluZENvbXBhdGlibGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSk7Ci0g
ICAgZ3JvdXAudXBkYXRlKGNoaWxkLCBhc2NlbnQsIGRlc2NlbnQpOworICAgIGdyb3VwLnVwZGF0
ZShjaGlsZCwgYXNjZW50KTsKIH0KIAogLy8gRklYTUU6IFByb3Blcmx5IGltcGxlbWVudCBiYXNl
bGluZS1ncm91cCBjb21wYXRpYmlsaXR5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0dyaWRCYXNlbGluZUFsaWdubWVudC5oCmluZGV4IDMwZTBlYzhmY2RiNDBhMGUzZjJlMDA3ZGE2
NjQ5MGJmOWQwNzdjNWUuLjdjM2ZiMjE4OWQzYzBiYjIzYmQxYzZlZDQxOWM4ZjU2YzZkMGZiNmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50
LmgKQEAgLTQ5LDExICs0OSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLwogY2xhc3MgQmFz
ZWxpbmVHcm91cCB7CiBwdWJsaWM6Ci0gICAgLy8gSXQgc3RvcmVzIGFuIGl0ZW0gKGlmIG5vdCBh
bHJlYWR5IHByZXNlbnQpIGFuZCB1cGRhdGUgdGhlIG1heF9hc2NlbnQgYW5kIG1heF9kZXNjZW50
IGFzc29jaWF0ZWQgdG8gdGhpcworICAgIC8vIEl0IHN0b3JlcyBhbiBpdGVtIChpZiBub3QgYWxy
ZWFkeSBwcmVzZW50KSBhbmQgdXBkYXRlIHRoZSBtYXhfYXNjZW50IGFzc29jaWF0ZWQgdG8gdGhp
cwogICAgIC8vIGJhc2VsaW5lLXNoYXJpbmcgZ3JvdXAuCi0gICAgdm9pZCB1cGRhdGUoY29uc3Qg
UmVuZGVyQm94JiwgTGF5b3V0VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCk7CisgICAg
dm9pZCB1cGRhdGUoY29uc3QgUmVuZGVyQm94JiwgTGF5b3V0VW5pdCBhc2NlbnQpOwogICAgIExh
eW91dFVuaXQgbWF4QXNjZW50KCkgY29uc3QgeyByZXR1cm4gbV9tYXhBc2NlbnQ7IH0KLSAgICBM
YXlvdXRVbml0IG1heERlc2NlbnQoKSBjb25zdCB7IHJldHVybiBtX21heERlc2NlbnQ7IH0KICAg
ICBpbnQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXRlbXMuc2l6ZSgpOyB9CiAKIHByaXZhdGU6
CkBAIC03NSw3ICs3NCw2IEBAIHByaXZhdGU6CiAgICAgV3JpdGluZ01vZGUgbV9ibG9ja0Zsb3c7
CiAgICAgSXRlbVBvc2l0aW9uIG1fcHJlZmVyZW5jZTsKICAgICBMYXlvdXRVbml0IG1fbWF4QXNj
ZW50OwotICAgIExheW91dFVuaXQgbV9tYXhEZXNjZW50OwogICAgIEhhc2hTZXQ8Y29uc3QgUmVu
ZGVyQm94Kj4gbV9pdGVtczsKIH07CiAKQEAgLTk5LDEzICs5NywxMyBAQCBwcml2YXRlOgogY2xh
c3MgQmFzZWxpbmVDb250ZXh0IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBCYXNlbGluZUNvbnRleHQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvc2l0
aW9uIHByZWZlcmVuY2UsIExheW91dFVuaXQgYXNjZW50LCBMYXlvdXRVbml0IGRlc2NlbnQpOwor
ICAgIEJhc2VsaW5lQ29udGV4dChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24g
cHJlZmVyZW5jZSwgTGF5b3V0VW5pdCBhc2NlbnQpOwogICAgIGNvbnN0IEJhc2VsaW5lR3JvdXAm
IHNoYXJlZEdyb3VwKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJl
bmNlKSBjb25zdDsKIAogICAgIC8vIFVwZGF0ZXMgdGhlIGJhc2VsaW5lLXNoYXJpbmcgZ3JvdXAg
Y29tcGF0aWJsZSB3aXRoIHRoZSBpdGVtLgogICAgIC8vIFdlIHBhc3MgdGhlIGl0ZW0ncyBiYXNl
bGluZS1wcmVmZXJlbmNlIHRvIGF2b2lkIGRlcGVuZGVuY2llcyB3aXRoIHRoZSBMYXlvdXRHcmlk
IGNsYXNzLCB3aGljaCBpcyB0aGUgb25lCiAgICAgLy8gbWFuYWdpbmcgdGhlIGFsaWdubWVudCBi
ZWhhdmlvciBvZiB0aGUgR3JpZCBJdGVtcy4KLSAgICB2b2lkIHVwZGF0ZVNoYXJlZEdyb3VwKGNv
bnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbmNlLCBMYXlvdXRVbml0
IGFzY2VudCwgTGF5b3V0VW5pdCBkZXNjZW50KTsKKyAgICB2b2lkIHVwZGF0ZVNoYXJlZEdyb3Vw
KGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbmNlLCBMYXlvdXRV
bml0IGFzY2VudCk7CiAKIHByaXZhdGU6CiAgICAgLy8gUmV0dXJucyB0aGUgYmFzZWxpbmUtc2hh
cmluZyBncm91cCBjb21wYXRpYmxlIHdpdGggYW4gaXRlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkTGF5b3V0RnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZExheW91dEZ1bmN0aW9ucy5oCmluZGV4IDg1OGYxMmRmZGRhNDJlYTUwYzdl
NTYyOGQwM2E1Y2NiOGU1N2NiNmQuLmE3YjExZjhiN2YzZGU1ZTc0OGFjNzYxZDk4NzZlNGQxYTM0
MmZmMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkTGF5b3V0RnVu
Y3Rpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlv
bnMuaApAQCAtMzQsNyArMzQsMTAgQEAgY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyRWxl
bWVudDsKIGNsYXNzIFJlbmRlckdyaWQ7CiAKLWVudW0gR3JpZEF4aXMgeyBHcmlkUm93QXhpcywg
R3JpZENvbHVtbkF4aXMgfTsKK2VudW0gR3JpZEF4aXMgeworICAgIEdyaWRSb3dBeGlzID0gMSA8
PCAwLAorICAgIEdyaWRDb2x1bW5BeGlzID0gMSA8PCAxCit9OwogCiBuYW1lc3BhY2UgR3JpZExh
eW91dEZ1bmN0aW9ucyB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9H
cmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dy
aWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKaW5kZXggMGZjYmE3ZWFkYTdkNzhiNGNhZWE0Yzgx
YjI0ZGVjMTE5MWE3Y2EyZC4uMDE3ODUwNTUwNjIzZjg5OTI4N2Q0MTQ1OWIyNTFiNTE4NWY3YmZh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0Fs
Z29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAKQEAgLTkwMyw2ICs5MDMsMTMgQEAgYm9vbCBHcmlkVHJhY2tTaXppbmdB
bGdvcml0aG06OmNhblBhcnRpY2lwYXRlSW5CYXNlbGluZUFsaWdubWVudChjb25zdCBSZW5kZXJC
b3gKICAgICBpZiAoaXNQYXJhbGxlbFRvQmFzZWxpbmVBeGlzICYmIGNoaWxkLmZpcnN0TGluZUJh
c2VsaW5lKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgLy8gRklYTUU6IFdlIGRvbid0
IGN1cnJlbnRseSBhbGxvdyBpdGVtcyB3aXRoaW4gc3ViZ3JpZHMgdGhhdCBuZWVkIHRvCisgICAg
Ly8gc3ludGhlc2l6ZSBhIGJhc2VsaW5lLCBzaW5jZSB3ZSBuZWVkIGEgbGF5b3V0IHRvIGhhdmUg
YmVlbiBjb21wbGV0ZWQKKyAgICAvLyBhbmQgcGVyZm9ybUdyaWRJdGVtc1ByZUxheW91dCBvbiB0
aGUgb3V0ZXIgZ3JpZCBkb2Vzbid0IGxheW91dCBzdWJncmlkCisgICAgLy8gaXRlbXMuCisgICAg
aWYgKGNoaWxkLnBhcmVudCgpICE9IHJlbmRlckdyaWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgLy8gQmFzZWxpbmUgY3ljbGljIGRlcGVuZGVuY2llcyBvbmx5IGhhcHBlbiBpbiBn
cmlkIGFyZWFzIHdpdGgKICAgICAvLyBpbnRyaW5zaWNhbGx5LXNpemVkIHRyYWNrcy4gCiAgICAg
aWYgKCFpc0ludHJpbnNpY1NpemVkR3JpZEFyZWEoY2hpbGQsIGJhc2VsaW5lQXhpcykpCkBAIC05
MjAsNyArOTI3LDYgQEAgdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnVwZGF0ZUJhc2Vs
aW5lQWxpZ25tZW50Q29udGV4dChjb25zdCBSZW5kZXJCb3gmIGMKIHsKICAgICBBU1NFUlQod2Fz
U2V0dXAoKSk7CiAgICAgQVNTRVJUKGNhblBhcnRpY2lwYXRlSW5CYXNlbGluZUFsaWdubWVudChj
aGlsZCwgYmFzZWxpbmVBeGlzKSk7Ci0gICAgQVNTRVJUKCFjaGlsZC5uZWVkc0xheW91dCgpKTsK
IAogICAgIEl0ZW1Qb3NpdGlvbiBhbGlnbiA9IG1fcmVuZGVyR3JpZC0+c2VsZkFsaWdubWVudEZv
ckNoaWxkKGJhc2VsaW5lQXhpcywgY2hpbGQpLnBvc2l0aW9uKCk7CiAgICAgY29uc3QgYXV0byYg
c3BhbiA9IG1fcmVuZGVyR3JpZC0+Z3JpZFNwYW5Gb3JDaGlsZChjaGlsZCwgZ3JpZERpcmVjdGlv
bkZvckF4aXMoYmFzZWxpbmVBeGlzKSk7CkBAIC05MjksNiArOTM1LDExIEBAIHZvaWQgR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtOjp1cGRhdGVCYXNlbGluZUFsaWdubWVudENvbnRleHQoY29uc3Qg
UmVuZGVyQm94JiBjCiAKIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpiYXNl
bGluZU9mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEdyaWRBeGlzIGJhc2Vs
aW5lQXhpcykgY29uc3QKIHsKKyAgICAvLyBJZiB3ZSBoYXZlbid0IHlldCBpbml0aWFsaXplZCB0
aGlzIGF4aXMgKHdoaWNoIGNhbiBiZSB0aGUgY2FzZSBpZiB3ZSdyZSBkb2luZworICAgIC8vIHBy
ZWxheW91dCBvZiBhIHN1YmdyaWQpLCB0aGVuIHdlIGNhbid0IGtub3cgdGhlIGJhc2VsaW5lIG9m
ZnNldC4KKyAgICBpZiAodHJhY2tzKGdyaWREaXJlY3Rpb25Gb3JBeGlzKGJhc2VsaW5lQXhpcykp
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIExheW91dFVuaXQoKTsKKwogICAgIGlmICghcGFy
dGljaXBhdGVJbkJhc2VsaW5lQWxpZ25tZW50KGNoaWxkLCBiYXNlbGluZUF4aXMpKQogICAgICAg
ICByZXR1cm4gTGF5b3V0VW5pdCgpOwogCkBAIC05NDUsNyArOTU2LDkgQEAgdm9pZCBHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmNsZWFyQmFzZWxpbmVJdGVtc0NhY2hlKCkKIAogdm9pZCBHcmlk
VHJhY2tTaXppbmdBbGdvcml0aG06OmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbShjb25zdCBSZW5k
ZXJCb3gmIGl0ZW0sIEdyaWRBeGlzIGF4aXMpCiB7Ci0gICAgQVNTRVJUKG1fcmVuZGVyR3JpZC0+
aXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKGl0ZW0sIGF4aXMpKTsKKyAgICBpZiAoR3JpZExh
eW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsUGFyZW50KCptX3JlbmRlckdyaWQsICppdGVtLnBh
cmVudCgpKSkKKyAgICAgICAgYXhpcyA9IGF4aXMgPT0gR3JpZENvbHVtbkF4aXMgPyBHcmlkUm93
QXhpcyA6IEdyaWRDb2x1bW5BeGlzOworCiAgICAgaWYgKGF4aXMgPT0gR3JpZENvbHVtbkF4aXMp
CiAgICAgICAgIG1fY29sdW1uQmFzZWxpbmVJdGVtc01hcC5hZGQoJml0ZW0sIHRydWUpOwogICAg
IGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdB
bGdvcml0aG0uaAppbmRleCAxOTA1ZGUxODVlYjdjOGE1MDUwYjE4OTg4NDM0MzIxNzU1ODA3ZjA0
Li5iYTI5OWM1ODNlNjY5NWE0M2FhYjQwNDMzMWU1YjBhMGEwZTE5ZmNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCkBAIC0x
MjIsNyArMTIyLDcgQEAgcHVibGljOgogICAgIC8vIGFuZCBlbmNhcHN1bGF0ZSBhbnkgYWNjZXNz
IGluIHRoZSBhbGdvcml0aG0gY2xhc3MuCiAgICAgR3JpZCYgbXV0YWJsZUdyaWQoKSBjb25zdCB7
IHJldHVybiBtX2dyaWQ7IH0KIAotICAgIGNvbnN0IFJlbmRlckdyaWQqIHJlbmRlckdyaWQoKSB7
IHJldHVybiBtX3JlbmRlckdyaWQ7IH07CisgICAgY29uc3QgUmVuZGVyR3JpZCogcmVuZGVyR3Jp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyR3JpZDsgfTsKIAogICAgIExheW91dFVuaXQgbWlu
Q29udGVudFNpemUoKSBjb25zdCB7IHJldHVybiBtX21pbkNvbnRlbnRTaXplOyB9OwogICAgIExh
eW91dFVuaXQgbWF4Q29udGVudFNpemUoKSBjb25zdCB7IHJldHVybiBtX21heENvbnRlbnRTaXpl
OyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IGQ5OTA3ZjBm
N2E4ZmIwZDA5ZDBlNTFhNGU5MzQwOGFmMTAyYzY5MjAuLmNmZWRmZmM4OGUxZWUwZWI1MDJjNDAw
ZjhmYWFiNjA1MjU2NzJmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKQEAgLTE5Miw2ICsxOTIsNDAgQEAgYm9vbCBSZW5kZXJHcmlkOjpjYW5QZXJmb3JtU2ltcGxp
ZmllZExheW91dCgpIGNvbnN0CiAgICAgcmV0dXJuIFJlbmRlckJsb2NrOjpjYW5QZXJmb3JtU2lt
cGxpZmllZExheW91dCgpOwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorc3RhdGljIHZvaWQg
Y2FjaGVCYXNlbGluZUFsaWduZWRDaGlsZHJlbihjb25zdCBSZW5kZXJHcmlkJiBncmlkLCBHcmlk
VHJhY2tTaXppbmdBbGdvcml0aG0mIGFsZ29yaXRobSwgdWludDMyX3QgYXhlcywgRiYgY2FsbGJh
Y2spCit7CisgICAgZm9yIChhdXRvKiBjaGlsZCA9IGdyaWQuZmlyc3RDaGlsZEJveCgpOyBjaGls
ZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBpZiAoY2hpbGQt
PmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0xlZ2VuZCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgY2FsbGJhY2soY2hpbGQpOworCisgICAgICAgIC8vIFdl
IGtlZXAgYSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFzIGFsaWdubWVudCB2YWx1ZXMg
c28gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1zIGZvcgorICAgICAgICAv
LyBzdWNoIGl0ZW1zLiBUaGlzIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCByZWFzb25zIGR1ZSB0byB0aGUgY29zdCBvZiBldmFsdWF0aW5nIHRoZSBpdGVtJ3MKKyAgICAg
ICAgLy8gcGFydGljaXBhdGlvbiBpbiBhIGJhc2VsaW5lIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFj
ayBzaXppbmcgYWxnb3JpdGhtLgorICAgICAgICB1aW50MzJfdCBpbm5lckF4ZXMgPSAwOworICAg
ICAgICBSZW5kZXJHcmlkKiBpbm5lciA9IGlzPFJlbmRlckdyaWQ+KGNoaWxkKSA/IGRvd25jYXN0
PFJlbmRlckdyaWQ+KGNoaWxkKSA6IG51bGxwdHI7CisKKyAgICAgICAgaWYgKGF4ZXMgJiBHcmlk
Q29sdW1uQXhpcykgeworICAgICAgICAgICAgaWYgKGlubmVyICYmIGlubmVyLT5pc1N1YmdyaWRJ
blBhcmVudERpcmVjdGlvbihGb3JSb3dzKSkKKyAgICAgICAgICAgICAgICBpbm5lckF4ZXMgfD0g
R3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoZ3JpZCwgKmNoaWxkKSA/IEdy
aWRSb3dBeGlzIDogR3JpZENvbHVtbkF4aXM7CisgICAgICAgICAgICBlbHNlIGlmIChncmlkLmlz
QmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKSkKKyAgICAg
ICAgICAgICAgICBhbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3Jp
ZENvbHVtbkF4aXMpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGF4ZXMgJiBHcmlkUm93QXhp
cykgeworICAgICAgICAgICAgaWYgKGlubmVyICYmIGlubmVyLT5pc1N1YmdyaWRJblBhcmVudERp
cmVjdGlvbihGb3JDb2x1bW5zKSkKKyAgICAgICAgICAgICAgICBpbm5lckF4ZXMgfD0gR3JpZExh
eW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoZ3JpZCwgKmNoaWxkKSA/IEdyaWRDb2x1
bW5BeGlzIDogR3JpZFJvd0F4aXM7CisgICAgICAgICAgICBlbHNlIGlmIChncmlkLmlzQmFzZWxp
bmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKKyAgICAgICAgICAgICAg
ICBhbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZFJvd0F4aXMp
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKGlubmVyQXhlcykKKyAgICAgICAgICAgIGNhY2hl
QmFzZWxpbmVBbGlnbmVkQ2hpbGRyZW4oKmlubmVyLCBhbGdvcml0aG0sIGlubmVyQXhlcywgY2Fs
bGJhY2spOworICAgIH0KK30KKwogVmVjdG9yPFJlbmRlckJveCo+IFJlbmRlckdyaWQ6OmNvbXB1
dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRlbXMoKQogewogICAgIFZlY3RvcjxS
ZW5kZXJCb3gqPiBkZXBlbmRlbnRHcmlkSXRlbXM7CkBAIC0yMDAsMTUgKzIzNCw3IEBAIFZlY3Rv
cjxSZW5kZXJCb3gqPiBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRlbnRBbmRC
YXNlbGluZUl0ZW1zKCkKICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFsc2U7CiAgICAg
bV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKIAotICAgIGZv
ciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5u
ZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlv
bmVkKCkgfHwgY2hpbGQtPmlzTGVnZW5kKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAg
ICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVy
cmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5lZWQgdG8KLSAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJy
aWRlIGhlaWdodCBzZXQgcHJldmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3Vy
cmVudCBsYXlvdXQKLSAgICAgICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92
ZXJyaWRlIHdpZHRoLCB0aGF0J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgotICAg
ICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkaW5nTG9naWNhbEhlaWdodCgpOwotCisgICAgYXV0byBj
b21wdXRlT3J0aG9nb25hbEFuZERlcGVuZGVudEl0ZW1zID0gWyZdKFJlbmRlckJveCogY2hpbGQp
IHsKICAgICAgICAgLy8gR3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBpdGVt
J3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3ZSBuZWVkIHRvCiAgICAgICAgIC8vIGNsZWFyIGFu
eSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRvZXNuJ3QgaW50ZXJmZXJl
IGluIGN1cnJlbnQgbGF5b3V0CiAgICAgICAgIC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1c2Vz
IHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFyICBp
dC4KQEAgLTIyNCwxNSArMjUwLDkgQEAgVmVjdG9yPFJlbmRlckJveCo+IFJlbmRlckdyaWQ6OmNv
bXB1dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRlbXMoKQogICAgICAgICAgICAg
ZGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVuZChjaGlsZCk7CiAgICAgICAgICAgICBtX2hhc0FzcGVj
dFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IHRydWU7CiAgICAgICAgIH0KKyAgICB9Owog
Ci0gICAgICAgIC8vIFdlIGtlZXAgYSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFzIGFs
aWdubWVudCB2YWx1ZXMgc28gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1z
IGZvcgotICAgICAgICAvLyBzdWNoIGl0ZW1zLiBUaGlzIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCByZWFzb25zIGR1ZSB0byB0aGUgY29zdCBvZiBldmFsdWF0aW5nIHRo
ZSBpdGVtJ3MKLSAgICAgICAgLy8gcGFydGljaXBhdGlvbiBpbiBhIGJhc2VsaW5lIGNvbnRleHQg
ZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtLgotICAgICAgICBpZiAoaXNCYXNlbGlu
ZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpKQotICAgICAgICAgICAg
bV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBH
cmlkQ29sdW1uQXhpcyk7Ci0gICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQo
KmNoaWxkLCBHcmlkUm93QXhpcykpCi0gICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGht
LmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKLSAgICB9Cisg
ICAgY2FjaGVCYXNlbGluZUFsaWduZWRDaGlsZHJlbigqdGhpcywgbV90cmFja1NpemluZ0FsZ29y
aXRobSwgR3JpZFJvd0F4aXMgfCBHcmlkQ29sdW1uQXhpcywgY29tcHV0ZU9ydGhvZ29uYWxBbmRE
ZXBlbmRlbnRJdGVtcyk7CiAKICAgICByZXR1cm4gZGVwZW5kZW50R3JpZEl0ZW1zOwogfQpAQCAt
NDc2LDEyICs0OTYsOCBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2Fs
V2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5bwogICAgICAgICBpZiAobV9i
YXNlbGluZUl0ZW1zQ2FjaGVkKQogICAgICAgICAgICAgYWxnb3JpdGhtLmNvcHlCYXNlbGluZUl0
ZW1zQ2FjaGUobV90cmFja1NpemluZ0FsZ29yaXRobSwgR3JpZFJvd0F4aXMpOwogICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNo
aWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGls
ZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKLSAgICAgICAgICAgICAgICAgICAgYWxnb3JpdGhtLmNh
Y2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKLSAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGF1dG8gZW1wdHlDYWxsYmFjayA9IFtdKFJlbmRlckJveCopIHsgfTsK
KyAgICAgICAgICAgIGNhY2hlQmFzZWxpbmVBbGlnbmVkQ2hpbGRyZW4oKnRoaXMsIGFsZ29yaXRo
bSwgR3JpZFJvd0F4aXMsIGVtcHR5Q2FsbGJhY2spOwogICAgICAgICB9CiAKICAgICAgICAgY29t
cHV0ZVRyYWNrU2l6ZXNGb3JJbmRlZmluaXRlU2l6ZShhbGdvcml0aG0sIEZvckNvbHVtbnMsICZt
aW5Mb2dpY2FsV2lkdGgsICZtYXhMb2dpY2FsV2lkdGgpOwpAQCAtNzgyLDYgKzc5OCw4IEBAIHZv
aWQgUmVuZGVyR3JpZDo6cGVyZm9ybUdyaWRJdGVtc1ByZUxheW91dChjb25zdCBHcmlkVHJhY2tT
aXppbmdBbGdvcml0aG0mIGFsZ29yCiAgICAgICAgIC8vIFdlIG5lZWQgdG8gbGF5b3V0IHRoZSBp
dGVtIHRvIGtub3cgd2hldGhlciBpdCBtdXN0IHN5bnRoZXNpemUgaXRzCiAgICAgICAgIC8vIGJh
c2VsaW5lIG9yIG5vdCwgd2hpY2ggbWF5IGltcGx5IGEgY3ljbGljIHNpemluZyBkZXBlbmRlbmN5
LgogICAgICAgICAvLyBGSVhNRTogQ2FuIHdlIGF2b2lkIGl0ID8KKyAgICAgICAgLy8gRklYTUU6
IFdlIGFsc28gd2FudCB0byBsYXlvdXQgYmFzZWxpbmUgYWxpZ25lZCBpdGVtcyB3aXRoaW4gc3Vi
Z3JpZHMsIGJ1dAorICAgICAgICAvLyB3ZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBhIHdheSB0byBk
byB0aGF0IGhlcmUuCiAgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNo
aWxkKSkgewogICAgICAgICAgICAgdXBkYXRlR3JpZEFyZWFMb2dpY2FsU2l6ZSgqY2hpbGQsIGFs
Z29yaXRobS5lc3RpbWF0ZWRHcmlkQXJlYUJyZWFkdGhGb3JDaGlsZCgqY2hpbGQsIEZvckNvbHVt
bnMpLCBhbGdvcml0aG0uZXN0aW1hdGVkR3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQoKmNoaWxkLCBG
b3JSb3dzKSk7CiAgICAgICAgICAgICBjaGlsZC0+bGF5b3V0SWZOZWVkZWQoKTsKQEAgLTEyMjUs
NyArMTI0Myw3IEBAIExheW91dFVuaXQgUmVuZGVyR3JpZDo6YXZhaWxhYmxlQWxpZ25tZW50U3Bh
Y2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcoTGF5b3V0VW5pCiAKIFN0eWxlU2VsZkFsaWdubWVu
dERhdGEgUmVuZGVyR3JpZDo6YWxpZ25TZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCwgU3RyZXRjaGluZ01vZGUgc3RyZXRjaGluZ01vZGUsIGNvbnN0IFJlbmRlclN0eWxlKiBncmlk
U3R5bGUpIGNvbnN0CiB7Ci0gICAgaWYgKGlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJv
d3MpKQorICAgIGlmIChpczxSZW5kZXJHcmlkPihjaGlsZCkgJiYgZG93bmNhc3Q8UmVuZGVyR3Jp
ZD4oY2hpbGQpLmlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJvd3MpKQogICAgICAgICBy
ZXR1cm4geyBJdGVtUG9zaXRpb246OlN0cmV0Y2gsIE92ZXJmbG93QWxpZ25tZW50OjpEZWZhdWx0
IH07CiAgICAgaWYgKCFncmlkU3R5bGUpCiAgICAgICAgIGdyaWRTdHlsZSA9ICZzdHlsZSgpOwpA
QCAtMTIzNSw3ICsxMjUzLDcgQEAgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjph
bGlnblNlbGZGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBTdHIKIAogU3R5bGVTZWxm
QWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjpqdXN0aWZ5U2VsZkZvckNoaWxkKGNvbnN0IFJlbmRl
ckJveCYgY2hpbGQsIFN0cmV0Y2hpbmdNb2RlIHN0cmV0Y2hpbmdNb2RlLCBjb25zdCBSZW5kZXJT
dHlsZSogZ3JpZFN0eWxlKSBjb25zdAogewotICAgIGlmIChpc1N1YmdyaWRJblBhcmVudERpcmVj
dGlvbihGb3JDb2x1bW5zKSkKKyAgICBpZiAoaXM8UmVuZGVyR3JpZD4oY2hpbGQpICYmIGRvd25j
YXN0PFJlbmRlckdyaWQ+KGNoaWxkKS5pc1N1YmdyaWRJblBhcmVudERpcmVjdGlvbihGb3JDb2x1
bW5zKSkKICAgICAgICAgcmV0dXJuIHsgSXRlbVBvc2l0aW9uOjpTdHJldGNoLCBPdmVyZmxvd0Fs
aWdubWVudDo6RGVmYXVsdCB9OwogICAgIGlmICghZ3JpZFN0eWxlKQogICAgICAgICBncmlkU3R5
bGUgPSAmc3R5bGUoKTsKQEAgLTE0NTYsMTEgKzE0NzQsMjMgQEAgc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiBSZW5kZXJHcmlkOjppbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2Rl
KSBjb24KIAogTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpjb2x1bW5BeGlzQmFzZWxpbmVPZmZzZXRG
b3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogeworICAgIGlmIChpc1N1Ymdy
aWRSb3dzKCkpIHsKKyAgICAgICAgUmVuZGVyR3JpZCogb3V0ZXIgPSBkb3duY2FzdDxSZW5kZXJH
cmlkPihwYXJlbnQoKSk7CisgICAgICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25zOjppc09ydGhv
Z29uYWxDaGlsZCgqb3V0ZXIsICp0aGlzKSkKKyAgICAgICAgICAgIHJldHVybiBvdXRlci0+cm93
QXhpc0Jhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQpOworICAgICAgICByZXR1cm4gb3V0ZXIt
PmNvbHVtbkF4aXNCYXNlbGluZU9mZnNldEZvckNoaWxkKGNoaWxkKTsKKyAgICB9CiAgICAgcmV0
dXJuIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uYmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCwg
R3JpZENvbHVtbkF4aXMpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OnJvd0F4aXNCYXNl
bGluZU9mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CisgICAg
aWYgKGlzU3ViZ3JpZENvbHVtbnMoKSkgeworICAgICAgICBSZW5kZXJHcmlkKiBvdXRlciA9IGRv
d25jYXN0PFJlbmRlckdyaWQ+KHBhcmVudCgpKTsKKyAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5j
dGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKCpvdXRlciwgKnRoaXMpKQorICAgICAgICAgICAgcmV0
dXJuIG91dGVyLT5jb2x1bW5BeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCk7CisgICAg
ICAgIHJldHVybiBvdXRlci0+cm93QXhpc0Jhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQpOwor
ICAgIH0KICAgICByZXR1cm4gbV90cmFja1NpemluZ0FsZ29yaXRobS5iYXNlbGluZU9mZnNldEZv
ckNoaWxkKGNoaWxkLCBHcmlkUm93QXhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDdkMTA0YWVkOGE1YmY5YWMxZTljMjRmNjIyZTNiNTFhMDRkOGQ3ZmYuLjhlOWIx
NGVlNTllY2NkNTE5ZTU5ZjllYjllMzVjNzRkZmI3Y2NlMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTA0LTA2ICBNYXR0IFdvb2Ryb3cgIDxt
YXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIGFs
aWduaW5nIGJhc2VsaW5lcyB0aHJvdWdoIHN1YmdyaWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvc3ViZ3JpZC9iYXNlbGluZS0wMDItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1Ymdy
aWQvYmFzZWxpbmUtMDAzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2Vs
aW5lLTAwNC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDA0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDUt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS5odG1sOiBBZGRlZC4KKworICAgICAgICBBZGRl
ZCBuZXcgV1BUIHZhcmlhbnRzIG9mIHRoZSBiYXNlbGluZSB0ZXN0cywgZm9yIHRoZSBjYXNlIHdo
ZXJlIHRoZSBpbnRyb3NwZWN0ZWQgc3ViZ3JpZAorICAgICAgICBoYXMgcGFkZGluZyB0aGF0IGFm
ZmVjdHMgdGhlIGJhc2VsaW5lIHBvc2l0aW9uLCBhbmQgZm9yIHRoZSBjYXNlIHdoZXJlIHRoZSBz
dWJncmlkIHVzZXMgYW4KKyAgICAgICAgb3J0aG9nb25hbCB3cml0aW5nIG1vZGUuCisKIDIwMjIt
MDQtMDIgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
Q1NQOiBJbXByb3ZlIGNvbXBhdGliaWxpdHkgb2Ygc291cmNlIG1hdGNoaW5nCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0w
MDItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDRiMGRjY2YyMTFkNDYzMzZlNDFiM2YyMjVm
Y2U4MDYyOWM4NmNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDItZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPjxoZWFk
PgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5SZWZlcmVuY2U6IGJhc2VsaW5l
LWFsaWduZWQgc3ViZ3JpZCBpdGVtIHdpdGggcGFkZGluZzwvdGl0bGU+CisgIDxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iTWF0dCBXb29kcm93IiBocmVmPSJtYWlsdG86bWF0dHdvb2Ryb3dAYXBw
bGUuY29tIj4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0i
L2ZvbnRzL2FoZW0uY3NzIj4KKyAgPHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6YmxhY2s7
IGJhY2tncm91bmQtY29sb3I6d2hpdGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsgbWFy
Z2luOjA7Cit9CisKKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZDogMjBweCByZXBl
YXQoNCwgYXV0bykgMzBweCAvIDMwcHggcmVwZWF0KDQsIGF1dG8pIDIwcHg7CisgIHBsYWNlLWNv
bnRlbnQ6IHN0YXJ0OworICBwbGFjZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7CisgIGJvcmRlcjog
MXB4IHNvbGlkOworICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBibHVlOworfQorCisuc3Vi
Z3JpZCB7CisgIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTsKKyAgZ3JpZC1jb2x1bW46IDIgLyBzcGFu
IDQ7CisgIGdyaWQtcm93OiAzIC8gc3BhbiAyOworICBtaW4td2lkdGg6IDEwcHg7CisgIG1pbi1o
ZWlnaHQ6IDA7CisgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgcGFkZGluZy10b3A6IDIwcHg7Cit9
CisKK3gsIHogeworICBkaXNwbGF5OiBibG9jazsKKyAgbWluLXdpZHRoOiAyMHB4OworICBtaW4t
aGVpZ2h0OiAxMHB4OworICBmb250LXNpemU6IDhlbTsKKyAgYmFja2dyb3VuZDogc2lsdmVyOwor
fQoreiB7CisgIHdpZHRoOiAyMHB4OworICBoZWlnaHQ6IDEwcHg7Cit9CisKKyAgPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJncmlkIj4KKzx5IHN0eWxlPSJncmlkLWFy
ZWE6My8xIj5BJm5ic3A7PC95PgorPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgIDx6Pjwvej48eD4m
bmJzcDtBPC94PgorPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvc3ViZ3JpZC9iYXNlbGluZS0wMDIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZGFmNTJkMmZiNjBhMTg0NWY0OWVkZjg3MTAwYmI0MzhiNDFhODM4MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAyLmh0bWwKQEAgLTAsMCArMSw1NiBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorICA8dGl0bGU+Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW0g
d2l0aCBwYWRkaW5nPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdv
b2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3Nz
Ij4KKyAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iYmFzZWxpbmUtMDAyLXJlZi5odG1sIj4KKyAg
PHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6YmxhY2s7IGJhY2tncm91bmQtY29sb3I6d2hp
dGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsgbWFyZ2luOjA7Cit9CisKKy5ncmlkIHsK
KyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZDogMjBweCByZXBlYXQoNCwgYXV0bykgMzBweCAvIDMw
cHggcmVwZWF0KDQsIGF1dG8pIDIwcHg7CisgIHBsYWNlLWNvbnRlbnQ6IHN0YXJ0OworICBwbGFj
ZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7CisgIGJvcmRlcjogMXB4IHNvbGlkOworICB0ZXh0LWRl
Y29yYXRpb246IHVuZGVybGluZSBibHVlOworfQorCisuc3ViZ3JpZCB7CisgIGRpc3BsYXk6IGdy
aWQ7CisgIGdyaWQ6IHN1YmdyaWQgLyBhdXRvOworICBiYWNrZ3JvdW5kOiBsaWdodGdyZXk7Cisg
IGdyaWQtY29sdW1uOiAyIC8gc3BhbiA0OworICBncmlkLXJvdzogMyAvIHNwYW4gMjsKKyAgbWlu
LXdpZHRoOiAxMHB4OworICBtaW4taGVpZ2h0OiAwOworICBiYWNrZ3JvdW5kOiB5ZWxsb3c7Cisg
IHBsYWNlLWNvbnRlbnQ6IGluaGVyaXQ7CisgIHBsYWNlLWl0ZW1zOiBpbmhlcml0OworICBwYWRk
aW5nLXRvcDogMjBweDsKK30KKworeCB7CisgIG1pbi13aWR0aDogMjBweDsKKyAgbWluLWhlaWdo
dDogMTBweDsKKyAgZm9udC1zaXplOiA4ZW07CisgIGJhY2tncm91bmQ6IHNpbHZlcjsKK30KKwor
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImdyaWQiPgorPHkgc3R5
bGU9ImdyaWQtYXJlYTo0LzEiPkEmbmJzcDs8L3k+Cis8ZGl2IGNsYXNzPSJzdWJncmlkIj4KKyAg
PHggc3R5bGU9ImdyaWQtcm93OjIiPiZuYnNwO0E8L3g+PHg+PC94PgorPC9kaXY+Cis8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzAwOGQzMWUwMzBhNGUxNzg2ZWVjOWI3ZThjYzQyN2M2NjBhZjQ4MwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1NCBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorICA8dGl0bGU+UmVmZXJlbmNlOiBiYXNlbGluZS1hbGlnbmVkIHN1YmdyaWQgaXRlbSB3aXRo
IG9ydGhvZ29uYWwgd3JpdGluZy1tb2RlPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJNYXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgor
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvZm9udHMvYWhl
bS5jc3MiPgorICA8c3R5bGU+CitodG1sLGJvZHkgeworICBjb2xvcjpibGFjazsgYmFja2dyb3Vu
ZC1jb2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgQWhlbTsgcGFkZGluZzowOyBtYXJnaW46MDsKK30K
KworLmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlkOiAyMHB4IHJlcGVhdCg0LCBhdXRv
KSAzMHB4IC8gMzBweCByZXBlYXQoNCwgYXV0bykgMjBweDsKKyAgcGxhY2UtY29udGVudDogc3Rh
cnQ7CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFydDsKKyAgYm9yZGVyOiAxcHggc29saWQ7
CisgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGJsdWU7Cit9CisKKy5zdWJncmlkIHsKKyAg
YmFja2dyb3VuZDogbGlnaHRncmV5OworICBncmlkLWNvbHVtbjogMiAvIHNwYW4gNDsKKyAgZ3Jp
ZC1yb3c6IDMgLyBzcGFuIDI7CisgIG1pbi13aWR0aDogMTBweDsKKyAgbWluLWhlaWdodDogMDsK
KyAgYmFja2dyb3VuZDogeWVsbG93OworfQorCit4LCB6IHsKKyAgZGlzcGxheTogYmxvY2s7Cisg
IG1pbi13aWR0aDogMjBweDsKKyAgbWluLWhlaWdodDogMTBweDsKKyAgZm9udC1zaXplOiA4ZW07
CisgIGJhY2tncm91bmQ6IHNpbHZlcjsKK30KK3ogeworICB3aWR0aDogMjBweDsKKyAgaGVpZ2h0
OiAxMHB4OworfQorCisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBjbGFzcz0i
Z3JpZCI+Cis8eSBzdHlsZT0iZ3JpZC1hcmVhOjMvMSI+QSZuYnNwOzwveT4KKzxkaXYgY2xhc3M9
InN1YmdyaWQiPgorICA8ej48L3o+PHggc3R5bGU9Im1hcmdpbi1sZWZ0OiAyMHB4Ij4mbmJzcDtB
PC94PgorPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3Vi
Z3JpZC9iYXNlbGluZS0wMDMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzRmNjJlZTk5ZDdiODA5MDAzYjNhNGZkYjhjYzIwMzdjNDViOTAxZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAzLmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFE
T0NUWVBFIEhUTUw+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8
dGl0bGU+Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW0gd2l0aCBv
cnRob2dvbmFsIHdyaXRpbmctbW9kZTwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iTWF0dCBXb29kcm93IiBocmVmPSJtYWlsdG86bWF0dHdvb2Ryb3dAYXBwbGUuY29tIj4KKyAg
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWdyaWQt
MiI+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9mb250
cy9haGVtLmNzcyI+CisgIDxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9ImJhc2VsaW5lLTAwMy1yZWYu
aHRtbCI+CisgIDxzdHlsZT4KK2h0bWwsYm9keSB7CisgIGNvbG9yOmJsYWNrOyBiYWNrZ3JvdW5k
LWNvbG9yOndoaXRlOyBmb250OjE2cHgvMSBBaGVtOyBwYWRkaW5nOjA7IG1hcmdpbjowOworfQor
CisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIGdyaWQ6IDIwcHggcmVwZWF0KDQsIGF1dG8p
IDMwcHggLyAzMHB4IHJlcGVhdCg0LCBhdXRvKSAyMHB4OworICBwbGFjZS1jb250ZW50OiBzdGFy
dDsKKyAgcGxhY2UtaXRlbXM6IGJhc2VsaW5lIHN0YXJ0OworICBib3JkZXI6IDFweCBzb2xpZDsK
KyAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgYmx1ZTsKK30KKworLnN1YmdyaWQgeworICBk
aXNwbGF5OiBncmlkOworICBncmlkOiBhdXRvIC8gc3ViZ3JpZDsKKyAgYmFja2dyb3VuZDogbGln
aHRncmV5OworICBncmlkLWNvbHVtbjogMiAvIHNwYW4gNDsKKyAgZ3JpZC1yb3c6IDMgLyBzcGFu
IDI7CisgIG1pbi13aWR0aDogMTBweDsKKyAgbWluLWhlaWdodDogMDsKKyAgYmFja2dyb3VuZDog
eWVsbG93OworICBwbGFjZS1jb250ZW50OiBpbmhlcml0OworICBwbGFjZS1pdGVtczogc3RhcnQg
YmFzZWxpbmU7CisgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7Cit9CisKK3ggeworICBtaW4t
d2lkdGg6IDIwcHg7CisgIG1pbi1oZWlnaHQ6IDEwcHg7CisgIGZvbnQtc2l6ZTogOGVtOworICBi
YWNrZ3JvdW5kOiBzaWx2ZXI7CisgIHdyaXRpbmctbW9kZTogaG9yaXpvbnRhbC10YjsKK30KKwor
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImdyaWQiPgorPHkgc3R5
bGU9ImdyaWQtYXJlYTo0LzEiPkEmbmJzcDs8L3k+Cis8ZGl2IGNsYXNzPSJzdWJncmlkIj4KKyAg
PHggc3R5bGU9ImdyaWQtY29sdW1uOjIiPiZuYnNwO0E8L3g+PHg+PC94PgorPC9kaXY+Cis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDA0LWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjZhMmI2NGI5ZDUwOWZiZTZhMTdjMmUwNDYwYzBhMzcwMGVmMjU5OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDA0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwz
OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+CisgIDx0aXRsZT5DU1MgR3JpZCBUZXN0OiBiYXNlbGluZS1hbGlnbmVkIHN1YmdyaWQg
aXRlbTwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWF0dCBXb29kcm93IiBo
cmVmPSJtYWlsdG86bWF0dHdvb2Ryb3dAYXBwbGUuY29tIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWdyaWQtMiI+CisgIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9mb250cy9haGVtLmNzcyI+CisgIDxs
aW5rIHJlbD0ibWF0Y2giIGhyZWY9ImJhc2VsaW5lLTAwNC1yZWYuaHRtbCI+CisgIDxzdHlsZT4K
K2h0bWwsYm9keSB7CisgIGNvbG9yOmJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBmb250
OjE2cHgvMSBBaGVtOyBwYWRkaW5nOjA7IG1hcmdpbjowOworfQorCisuZ3JpZCB7CisgIGRpc3Bs
YXk6IGdyaWQ7CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvOworICBtYXgtd2lk
dGg6IDEwMHB4OworICBwbGFjZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7Cit9CisKKy5maXJzdCB7
CisgIGZvbnQtc2l6ZTogM2VtOworfQorCisuc2Vjb25kIHsKKyAgZm9udC1zaXplOiAyZW07Cit9
CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImdyaWQiPgorICA8ZGl2
IGNsYXNzPSJmaXJzdCI+QTwvZGl2PgorICA8ZGl2IGNsYXNzPSJzZWNvbmQiPkE8L2Rpdj4KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAw
NC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzBmOWQ0ZDAy
OGUxYWIxNDhkZTJjNjJhOTQ0ZTkzYmYwNGRmMzFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3Jp
ZC9iYXNlbGluZS0wMDQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkNTUyBHcmlk
IFRlc3Q6IGJhc2VsaW5lLWFsaWduZWQgc3ViZ3JpZCBpdGVtPC90aXRsZT4KKyAgPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJNYXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0Bh
cHBsZS5jb20iPgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dn
Lm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2Nz
cyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3NzIj4KKyAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iYmFz
ZWxpbmUtMDA0LXJlZi5odG1sIj4KKyAgPHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6Ymxh
Y2s7IGJhY2tncm91bmQtY29sb3I6d2hpdGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsg
bWFyZ2luOjA7Cit9CisKKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zOiBhdXRvIGF1dG87CisgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvOwor
ICBtYXgtd2lkdGg6IDEwMHB4OworICBwbGFjZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7Cit9CisK
Ky5zdWJncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJn
cmlkOworICBncmlkLXJvdzogMSAvIDM7CisgIGdyaWQtY29sdW1uOiAyOworCisgIHBhZGRpbmct
Ym90dG9tOiAyMHB4OworICBwbGFjZS1pdGVtczogaW5oZXJpdDsKK30KKworLmZpcnN0IHsKKyAg
Zm9udC1zaXplOiAzZW07CisgIGdyaWQtcm93OiAyOworfQorCisuc2Vjb25kIHsKKyAgZm9udC1z
aXplOiAyZW07CisgIGdyaWQtcm93OiAyOworfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdiBjbGFzcz0iZmlyc3QiPkE8L2Rpdj4KKyAgPGRp
diBjbGFzcz0ic3ViZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic2Vjb25kIj5BPC9kaXY+CisgIDwv
ZGl2PgorPC9kaXY+CisKKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2Vs
aW5lLTAwNS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDUtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNmEyYjY0YjlkNTA5ZmJlNmExN2MyZTA0NjBjMGEzNzAwZWYyNTk4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDUtZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDM4IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkNTUyBHcmlkIFRlc3Q6IGJhc2VsaW5lLWFsaWduZWQg
c3ViZ3JpZCBpdGVtPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdv
b2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3Nz
Ij4KKyAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iYmFzZWxpbmUtMDA0LXJlZi5odG1sIj4KKyAg
PHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6YmxhY2s7IGJhY2tncm91bmQtY29sb3I6d2hp
dGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsgbWFyZ2luOjA7Cit9CisKKy5ncmlkIHsK
KyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87Cisg
IG1heC13aWR0aDogMTAwcHg7CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFydDsKK30KKwor
LmZpcnN0IHsKKyAgZm9udC1zaXplOiAzZW07Cit9CisKKy5zZWNvbmQgeworICBmb250LXNpemU6
IDJlbTsKK30KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0iZ3JpZCI+
CisgIDxkaXYgY2xhc3M9ImZpcnN0Ij5BPC9kaXY+CisgIDxkaXYgY2xhc3M9InNlY29uZCI+QTwv
ZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFz
ZWxpbmUtMDA1Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3
NmVmMGQ0N2FjNzQ5ZWQ3YjczNTk3ZjllNzQ3YzZjNGUyZGI3ZDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+
Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW08L3RpdGxlPgorICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3
b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1ncmlkLTIiPgorICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSIvZm9udHMvYWhlbS5jc3MiPgorICA8bGluayByZWw9Im1hdGNoIiBo
cmVmPSJiYXNlbGluZS0wMDQtcmVmLmh0bWwiPgorICA8c3R5bGU+CitodG1sLGJvZHkgeworICBj
b2xvcjpibGFjazsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgQWhlbTsgcGFk
ZGluZzowOyBtYXJnaW46MDsKK30KKworLmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlk
LXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bzsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRv
IGF1dG87CisgIG1heC13aWR0aDogMTAwcHg7CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFy
dDsKK30KKworLnN1YmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlkLXRlbXBsYXRlLWNv
bHVtbnM6IHN1YmdyaWQ7CisgIGdyaWQtcm93OiAxIC8gMzsKKyAgZ3JpZC1jb2x1bW46IDI7CisK
KyAgcGFkZGluZy1ib3R0b206IDIwcHg7CisgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7Cisg
IHBsYWNlLWl0ZW1zOiBzdGFydCBiYXNlbGluZTsKK30KKworLmZpcnN0IHsKKyAgZm9udC1zaXpl
OiAzZW07CisgIGdyaWQtcm93OiAyOworfQorCisuc2Vjb25kIHsKKyAgZm9udC1zaXplOiAyZW07
CisgIGdyaWQtY29sdW1uOiAyOworICB3cml0aW5nLW1vZGU6IGhvcml6b250YWwtdGI7CisgIG1h
cmdpbi1sZWZ0OiA2cHg7Cit9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xh
c3M9ImdyaWQiPgorICA8ZGl2IGNsYXNzPSJmaXJzdCI+QTwvZGl2PgorICA8ZGl2IGNsYXNzPSJz
dWJncmlkIj4KKyAgICA8ZGl2IGNsYXNzPSJzZWNvbmQiPkE8L2Rpdj4KKyAgPC9kaXY+Cis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456856</attachid>
            <date>2022-04-06 13:38:28 -0700</date>
            <delta_ts>2022-04-13 21:18:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238643-20220407083827.patch</filename>
            <type>text/plain</type>
            <size>35371</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ2MDVjNzllNjlhYmMw
YjZiMjMxZjY4MGI1ZWMyMThmZDdhYTQ1ZC4uM2M0NTk1MjNhYTQwOGVkYjgxMmZkOWY0ODkzOWJi
YzY5MjUyNjRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTA0LTA2ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHN1
cHBvcnQgZm9yIGFsaWduaW5nIGJhc2VsaW5lcyB0aHJvdWdoIHN1YmdyaWRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NDMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYmFzZWxpbmUg
c2hhcmluZyByZWN1cnNpb24gaW50byBzdWJncmlkcworCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAw
Mi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5l
LTAwNC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRC
YXNlbGluZUFsaWdubWVudDo6YXNjZW50Rm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZEJhc2VsaW5lQWxpZ25tZW50OjpkZXNjZW50Rm9yQ2hpbGQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JpZEJhc2VsaW5lQWxpZ25tZW50Ojp1cGRhdGVCYXNlbGluZUFsaWdubWVu
dENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZWxpbmVHcm91cDo6QmFzZWxpbmVHcm91
cCk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlbGluZUdyb3VwOjp1cGRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QmFzZWxpbmVDb250ZXh0OjpCYXNlbGluZUNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzZWxpbmVDb250ZXh0Ojp1cGRhdGVTaGFyZWRHcm91cCk6CisgICAgICAgICogcmVu
ZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6QmFzZWxp
bmVHcm91cDo6bWF4QXNjZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VsaW5lR3Jv
dXA6Om1heERlc2NlbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9Hcmlk
TGF5b3V0RnVuY3Rpb25zLmg6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0Fs
Z29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06
OmNhblBhcnRpY2lwYXRlSW5CYXNlbGluZUFsaWdubWVudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnVwZGF0ZUJhc2VsaW5lQWxpZ25tZW50Q29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmJhc2Vs
aW5lT2Zmc2V0Rm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtOjpjYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0pOgorICAgICAgICAqIHJlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZUJhc2VsaW5lQWxpZ25lZENoaWxk
cmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBlcmZvcm1H
cmlkSXRlbXNQcmVMYXlvdXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
YWxpZ25TZWxmRm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
anVzdGlmeVNlbGZGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlk
Ojpjb2x1bW5BeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJHcmlkOjpyb3dBeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZCBjb25zdCk6CisK
KyAgICAgICAgTW92ZXMgdGhlIGNvZGUgZm9yIGNvbGxlY3RpbmcgYmFzZWxpbmUgYWxpZ25lZCBj
aGlsZHJlbiBpbnRvIGEgc2hhcmVkIGhlbHBlciBmdW5jdGlvbiwgYW5kIGFkZHMKKyAgICAgICAg
c3VwcG9ydCBmb3IgcmVjdXJzaW5nIGludG8gc3ViZ3JpZCBjaGlsZHJlbiAocmVzdHJpY3RlZCB0
byB0aGUgYXhlcyB0aGF0IHN1YmdyaWQgd2FzIGFwcGxpZWQpLgorCisgICAgICAgIEZpeGVzIGFs
aWduL2p1c3RpZnlTZWxmRm9yQ2hpbGQgdG8gY2hlY2sgaWYgdGhlIGNoaWxkIGlzIGEgc3ViZ3Jp
ZCBhbmQgb3ZlcnJpZGVzIHRoZSByZXN1bHQgdG8gJ3N0cmV0Y2gnLCBzbworICAgICAgICB0aGF0
IHdlJ3JlIGNvcnJlY3RseSBzdHJldGNoaW5nIHN1YmdyaWRzLCBub3QgdGhlIGNoaWxkcmVuIG9m
IHN1YmdyaWRzIChjb3ZlcmVkIGJ5IG5ldyB0ZXN0cykuCisKIDIwMjItMDQtMDMgIFR5bGVyIFdp
bGNvY2sgIDx0eWxlcl93QGFwcGxlLmNvbT4KIAogICAgICAgICAtW1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpmb3JQYXJhbWV0ZXI6XSBz
aG91bGQgZmFpbCBmYXN0IGlmIHRoZSBnaXZlbiBwYXJhbWV0ZXIgd3JhcHBlciBoYXMgbm8gYmFj
a2luZyBvYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFz
ZWxpbmVBbGlnbm1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGlu
ZUFsaWdubWVudC5jcHAKaW5kZXggMjIzZTAyOGYyYTNmNzc3ZDliMjIwYzA5MWEzMmUxYWIwN2Mw
MzIxZi4uZDE0MTU3NmU3ZDUyZTBhY2E2ZDczMGY5MzZmNmI4ZDcyNDk5ZDM2MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5jcHAKQEAg
LTY4LDYgKzY4LDcgQEAgTGF5b3V0VW5pdCBHcmlkQmFzZWxpbmVBbGlnbm1lbnQ6OmFzY2VudEZv
ckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEdyaWRBeGkKICAgICBMYXlvdXRVbml0IGJh
c2VsaW5lKGlzUGFyYWxsZWxUb0Jhc2VsaW5lQXhpc0ZvckNoaWxkKGNoaWxkLCBiYXNlbGluZUF4
aXMpID8gY2hpbGQuZmlyc3RMaW5lQmFzZWxpbmUoKS52YWx1ZV9vcihMYXlvdXRVbml0KC0xKSkg
OiBMYXlvdXRVbml0KC0xKSk7CiAgICAgLy8gV2UgdGFrZSBib3JkZXItYm94J3MgdW5kZXIgZWRn
ZSBpZiBubyB2YWxpZCBiYXNlbGluZS4KICAgICBpZiAoYmFzZWxpbmUgPT0gLTEpIHsKKyAgICAg
ICAgQVNTRVJUKCFjaGlsZC5uZWVkc0xheW91dCgpKTsKICAgICAgICAgaWYgKGlzSG9yaXpvbnRh
bEJhc2VsaW5lQXhpcyhiYXNlbGluZUF4aXMpKQogICAgICAgICAgICAgcmV0dXJuIGlzRmxpcHBl
ZFdyaXRpbmdNb2RlKG1fYmxvY2tGbG93KSA/IGNoaWxkLnNpemUoKS53aWR0aCgpLnRvSW50KCkg
KyBtYXJnaW4gOiBtYXJnaW47CiAgICAgICAgIHJldHVybiBjaGlsZC5zaXplKCkuaGVpZ2h0KCkg
KyBtYXJnaW47CkBAIC03Nyw2ICs3OCw3IEBAIExheW91dFVuaXQgR3JpZEJhc2VsaW5lQWxpZ25t
ZW50Ojphc2NlbnRGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkQXhpCiAKIExh
eW91dFVuaXQgR3JpZEJhc2VsaW5lQWxpZ25tZW50OjpkZXNjZW50Rm9yQ2hpbGQoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5pdCBhc2NlbnQsIEdyaWRBeGlzIGJhc2VsaW5lQXhpcykg
Y29uc3QKIHsKKyAgICBBU1NFUlQoIWNoaWxkLm5lZWRzTGF5b3V0KCkpOwogICAgIGlmIChpc1Bh
cmFsbGVsVG9CYXNlbGluZUF4aXNGb3JDaGlsZChjaGlsZCwgYmFzZWxpbmVBeGlzKSkKICAgICAg
ICAgcmV0dXJuIGNoaWxkLm1hcmdpbkxvZ2ljYWxIZWlnaHQoKSArIGNoaWxkLmxvZ2ljYWxIZWln
aHQoKSAtIGFzY2VudDsKICAgICByZXR1cm4gY2hpbGQubWFyZ2luTG9naWNhbFdpZHRoKCkgKyBj
aGlsZC5sb2dpY2FsV2lkdGgoKSAtIGFzY2VudDsKQEAgLTEyMiw5ICsxMjQsOCBAQCB2b2lkIEdy
aWRCYXNlbGluZUFsaWdubWVudDo6dXBkYXRlQmFzZWxpbmVBbGlnbm1lbnRDb250ZXh0KEl0ZW1Q
b3NpdGlvbiBwcmVmZXJlbgogICAgIC8vIERldGVybWluZSBBc2NlbnQgYW5kIERlc2NlbnQgdmFs
dWVzIG9mIHRoaXMgY2hpbGQgd2l0aCByZXNwZWN0IHRvCiAgICAgLy8gaXRzIGdyaWQgY29udGFp
bmVyLgogICAgIExheW91dFVuaXQgYXNjZW50ID0gYXNjZW50Rm9yQ2hpbGQoY2hpbGQsIGJhc2Vs
aW5lQXhpcyk7Ci0gICAgTGF5b3V0VW5pdCBkZXNjZW50ID0gZGVzY2VudEZvckNoaWxkKGNoaWxk
LCBhc2NlbnQsIGJhc2VsaW5lQXhpcyk7CiAgICAgaWYgKGlzRGVzY2VudEJhc2VsaW5lRm9yQ2hp
bGQoY2hpbGQsIGJhc2VsaW5lQXhpcykpCi0gICAgICAgIHN0ZDo6c3dhcChhc2NlbnQsIGRlc2Nl
bnQpOworICAgICAgICBhc2NlbnQgPSBkZXNjZW50Rm9yQ2hpbGQoY2hpbGQsIGFzY2VudCwgYmFz
ZWxpbmVBeGlzKTsKIAogICAgIC8vIExvb2tpbmcgdXAgZm9yIGEgc2hhcmVkIGFsaWdubWVudCBj
b250ZXh0IHBlcnBlbmRpY3VsYXIgdG8gdGhlCiAgICAgLy8gYmFzZWxpbmUgYXhpcy4KQEAgLTEz
NCwxMCArMTM1LDEwIEBAIHZvaWQgR3JpZEJhc2VsaW5lQWxpZ25tZW50Ojp1cGRhdGVCYXNlbGlu
ZUFsaWdubWVudENvbnRleHQoSXRlbVBvc2l0aW9uIHByZWZlcmVuCiAKICAgICAvLyBMb29raW5n
IGZvciBhIGNvbXBhdGlibGUgYmFzZWxpbmUtc2hhcmluZyBncm91cC4KICAgICBpZiAoYWRkUmVz
dWx0LmlzTmV3RW50cnkpCi0gICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBtYWtl
VW5pcXVlPEJhc2VsaW5lQ29udGV4dD4oY2hpbGQsIHByZWZlcmVuY2UsIGFzY2VudCwgZGVzY2Vu
dCk7CisgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBtYWtlVW5pcXVlPEJhc2Vs
aW5lQ29udGV4dD4oY2hpbGQsIHByZWZlcmVuY2UsIGFzY2VudCk7CiAgICAgZWxzZSB7CiAgICAg
ICAgIGF1dG8qIGNvbnRleHQgPSBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmdldCgpOwotICAg
ICAgICBjb250ZXh0LT51cGRhdGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSwgYXNjZW50
LCBkZXNjZW50KTsKKyAgICAgICAgY29udGV4dC0+dXBkYXRlU2hhcmVkR3JvdXAoY2hpbGQsIHBy
ZWZlcmVuY2UsIGFzY2VudCk7CiAgICAgfQogfQogCkBAIC0xNTksMTcgKzE2MCwxNiBAQCB2b2lk
IEdyaWRCYXNlbGluZUFsaWdubWVudDo6Y2xlYXIoR3JpZEF4aXMgYmFzZWxpbmVBeGlzKQogfQog
CiBCYXNlbGluZUdyb3VwOjpCYXNlbGluZUdyb3VwKFdyaXRpbmdNb2RlIGJsb2NrRmxvdywgSXRl
bVBvc2l0aW9uIGNoaWxkUHJlZmVyZW5jZSkKLSAgICA6IG1fbWF4QXNjZW50KDApLCBtX21heERl
c2NlbnQoMCksIG1faXRlbXMoKQorICAgIDogbV9tYXhBc2NlbnQoMCksIG1faXRlbXMoKQogewog
ICAgIG1fYmxvY2tGbG93ID0gYmxvY2tGbG93OwogICAgIG1fcHJlZmVyZW5jZSA9IGNoaWxkUHJl
ZmVyZW5jZTsKIH0KIAotdm9pZCBCYXNlbGluZUdyb3VwOjp1cGRhdGUoY29uc3QgUmVuZGVyQm94
JiBjaGlsZCwgTGF5b3V0VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCkKK3ZvaWQgQmFz
ZWxpbmVHcm91cDo6dXBkYXRlKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgYXNj
ZW50KQogewogICAgIGlmIChtX2l0ZW1zLmFkZCgmY2hpbGQpLmlzTmV3RW50cnkpIHsKICAgICAg
ICAgbV9tYXhBc2NlbnQgPSBzdGQ6Om1heChtX21heEFzY2VudCwgYXNjZW50KTsKLSAgICAgICAg
bV9tYXhEZXNjZW50ID0gc3RkOjptYXgobV9tYXhEZXNjZW50LCBkZXNjZW50KTsKICAgICB9CiB9
CiAKQEAgLTIwOSwxMCArMjA5LDEwIEBAIGJvb2wgQmFzZWxpbmVHcm91cDo6aXNDb21wYXRpYmxl
KFdyaXRpbmdNb2RlIGNoaWxkQmxvY2tGbG93LCBJdGVtUG9zaXRpb24gY2hpbGRQCiAgICAgcmV0
dXJuICgobV9ibG9ja0Zsb3cgPT0gY2hpbGRCbG9ja0Zsb3cgfHwgaXNPcnRob2dvbmFsQmxvY2tG
bG93KGNoaWxkQmxvY2tGbG93KSkgJiYgbV9wcmVmZXJlbmNlID09IGNoaWxkUHJlZmVyZW5jZSkg
fHwgKGlzT3Bwb3NpdGVCbG9ja0Zsb3coY2hpbGRCbG9ja0Zsb3cpICYmIG1fcHJlZmVyZW5jZSAh
PSBjaGlsZFByZWZlcmVuY2UpOwogfQogCi1CYXNlbGluZUNvbnRleHQ6OkJhc2VsaW5lQ29udGV4
dChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSwgTGF5b3V0
VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCkKK0Jhc2VsaW5lQ29udGV4dDo6QmFzZWxp
bmVDb250ZXh0KGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbmNl
LCBMYXlvdXRVbml0IGFzY2VudCkKIHsKICAgICBBU1NFUlQoaXNCYXNlbGluZVBvc2l0aW9uKHBy
ZWZlcmVuY2UpKTsKLSAgICB1cGRhdGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSwgYXNj
ZW50LCBkZXNjZW50KTsKKyAgICB1cGRhdGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSwg
YXNjZW50KTsKIH0KIAogY29uc3QgQmFzZWxpbmVHcm91cCYgQmFzZWxpbmVDb250ZXh0OjpzaGFy
ZWRHcm91cChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSkg
Y29uc3QKQEAgLTIyMSwxMSArMjIxLDExIEBAIGNvbnN0IEJhc2VsaW5lR3JvdXAmIEJhc2VsaW5l
Q29udGV4dDo6c2hhcmVkR3JvdXAoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvCiAgICAg
cmV0dXJuIGNvbnN0X2Nhc3Q8QmFzZWxpbmVDb250ZXh0Kj4odGhpcyktPmZpbmRDb21wYXRpYmxl
U2hhcmVkR3JvdXAoY2hpbGQsIHByZWZlcmVuY2UpOwogfQogCi12b2lkIEJhc2VsaW5lQ29udGV4
dDo6dXBkYXRlU2hhcmVkR3JvdXAoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvc2l0aW9u
IHByZWZlcmVuY2UsIExheW91dFVuaXQgYXNjZW50LCBMYXlvdXRVbml0IGRlc2NlbnQpCit2b2lk
IEJhc2VsaW5lQ29udGV4dDo6dXBkYXRlU2hhcmVkR3JvdXAoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCwgSXRlbVBvc2l0aW9uIHByZWZlcmVuY2UsIExheW91dFVuaXQgYXNjZW50KQogewogICAgIEFT
U0VSVChpc0Jhc2VsaW5lUG9zaXRpb24ocHJlZmVyZW5jZSkpOwogICAgIEJhc2VsaW5lR3JvdXAm
IGdyb3VwID0gZmluZENvbXBhdGlibGVTaGFyZWRHcm91cChjaGlsZCwgcHJlZmVyZW5jZSk7Ci0g
ICAgZ3JvdXAudXBkYXRlKGNoaWxkLCBhc2NlbnQsIGRlc2NlbnQpOworICAgIGdyb3VwLnVwZGF0
ZShjaGlsZCwgYXNjZW50KTsKIH0KIAogLy8gRklYTUU6IFByb3Blcmx5IGltcGxlbWVudCBiYXNl
bGluZS1ncm91cCBjb21wYXRpYmlsaXR5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0dyaWRCYXNlbGluZUFsaWdubWVudC5oCmluZGV4IDMwZTBlYzhmY2RiNDBhMGUzZjJlMDA3ZGE2
NjQ5MGJmOWQwNzdjNWUuLjdjM2ZiMjE4OWQzYzBiYjIzYmQxYzZlZDQxOWM4ZjU2YzZkMGZiNmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50
LmgKQEAgLTQ5LDExICs0OSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLwogY2xhc3MgQmFz
ZWxpbmVHcm91cCB7CiBwdWJsaWM6Ci0gICAgLy8gSXQgc3RvcmVzIGFuIGl0ZW0gKGlmIG5vdCBh
bHJlYWR5IHByZXNlbnQpIGFuZCB1cGRhdGUgdGhlIG1heF9hc2NlbnQgYW5kIG1heF9kZXNjZW50
IGFzc29jaWF0ZWQgdG8gdGhpcworICAgIC8vIEl0IHN0b3JlcyBhbiBpdGVtIChpZiBub3QgYWxy
ZWFkeSBwcmVzZW50KSBhbmQgdXBkYXRlIHRoZSBtYXhfYXNjZW50IGFzc29jaWF0ZWQgdG8gdGhp
cwogICAgIC8vIGJhc2VsaW5lLXNoYXJpbmcgZ3JvdXAuCi0gICAgdm9pZCB1cGRhdGUoY29uc3Qg
UmVuZGVyQm94JiwgTGF5b3V0VW5pdCBhc2NlbnQsIExheW91dFVuaXQgZGVzY2VudCk7CisgICAg
dm9pZCB1cGRhdGUoY29uc3QgUmVuZGVyQm94JiwgTGF5b3V0VW5pdCBhc2NlbnQpOwogICAgIExh
eW91dFVuaXQgbWF4QXNjZW50KCkgY29uc3QgeyByZXR1cm4gbV9tYXhBc2NlbnQ7IH0KLSAgICBM
YXlvdXRVbml0IG1heERlc2NlbnQoKSBjb25zdCB7IHJldHVybiBtX21heERlc2NlbnQ7IH0KICAg
ICBpbnQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXRlbXMuc2l6ZSgpOyB9CiAKIHByaXZhdGU6
CkBAIC03NSw3ICs3NCw2IEBAIHByaXZhdGU6CiAgICAgV3JpdGluZ01vZGUgbV9ibG9ja0Zsb3c7
CiAgICAgSXRlbVBvc2l0aW9uIG1fcHJlZmVyZW5jZTsKICAgICBMYXlvdXRVbml0IG1fbWF4QXNj
ZW50OwotICAgIExheW91dFVuaXQgbV9tYXhEZXNjZW50OwogICAgIEhhc2hTZXQ8Y29uc3QgUmVu
ZGVyQm94Kj4gbV9pdGVtczsKIH07CiAKQEAgLTk5LDEzICs5NywxMyBAQCBwcml2YXRlOgogY2xh
c3MgQmFzZWxpbmVDb250ZXh0IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBCYXNlbGluZUNvbnRleHQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvc2l0
aW9uIHByZWZlcmVuY2UsIExheW91dFVuaXQgYXNjZW50LCBMYXlvdXRVbml0IGRlc2NlbnQpOwor
ICAgIEJhc2VsaW5lQ29udGV4dChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24g
cHJlZmVyZW5jZSwgTGF5b3V0VW5pdCBhc2NlbnQpOwogICAgIGNvbnN0IEJhc2VsaW5lR3JvdXAm
IHNoYXJlZEdyb3VwKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJl
bmNlKSBjb25zdDsKIAogICAgIC8vIFVwZGF0ZXMgdGhlIGJhc2VsaW5lLXNoYXJpbmcgZ3JvdXAg
Y29tcGF0aWJsZSB3aXRoIHRoZSBpdGVtLgogICAgIC8vIFdlIHBhc3MgdGhlIGl0ZW0ncyBiYXNl
bGluZS1wcmVmZXJlbmNlIHRvIGF2b2lkIGRlcGVuZGVuY2llcyB3aXRoIHRoZSBMYXlvdXRHcmlk
IGNsYXNzLCB3aGljaCBpcyB0aGUgb25lCiAgICAgLy8gbWFuYWdpbmcgdGhlIGFsaWdubWVudCBi
ZWhhdmlvciBvZiB0aGUgR3JpZCBJdGVtcy4KLSAgICB2b2lkIHVwZGF0ZVNoYXJlZEdyb3VwKGNv
bnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbmNlLCBMYXlvdXRVbml0
IGFzY2VudCwgTGF5b3V0VW5pdCBkZXNjZW50KTsKKyAgICB2b2lkIHVwZGF0ZVNoYXJlZEdyb3Vw
KGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbmNlLCBMYXlvdXRV
bml0IGFzY2VudCk7CiAKIHByaXZhdGU6CiAgICAgLy8gUmV0dXJucyB0aGUgYmFzZWxpbmUtc2hh
cmluZyBncm91cCBjb21wYXRpYmxlIHdpdGggYW4gaXRlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkTGF5b3V0RnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZExheW91dEZ1bmN0aW9ucy5oCmluZGV4IDg1OGYxMmRmZGRhNDJlYTUwYzdl
NTYyOGQwM2E1Y2NiOGU1N2NiNmQuLmE3YjExZjhiN2YzZGU1ZTc0OGFjNzYxZDk4NzZlNGQxYTM0
MmZmMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkTGF5b3V0RnVu
Y3Rpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRMYXlvdXRGdW5jdGlv
bnMuaApAQCAtMzQsNyArMzQsMTAgQEAgY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyRWxl
bWVudDsKIGNsYXNzIFJlbmRlckdyaWQ7CiAKLWVudW0gR3JpZEF4aXMgeyBHcmlkUm93QXhpcywg
R3JpZENvbHVtbkF4aXMgfTsKK2VudW0gR3JpZEF4aXMgeworICAgIEdyaWRSb3dBeGlzID0gMSA8
PCAwLAorICAgIEdyaWRDb2x1bW5BeGlzID0gMSA8PCAxCit9OwogCiBuYW1lc3BhY2UgR3JpZExh
eW91dEZ1bmN0aW9ucyB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9H
cmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dy
aWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKaW5kZXggMGZjYmE3ZWFkYTdkNzhiNGNhZWE0Yzgx
YjI0ZGVjMTE5MWE3Y2EyZC4uMDE3ODUwNTUwNjIzZjg5OTI4N2Q0MTQ1OWIyNTFiNTE4NWY3YmZh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0Fs
Z29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAKQEAgLTkwMyw2ICs5MDMsMTMgQEAgYm9vbCBHcmlkVHJhY2tTaXppbmdB
bGdvcml0aG06OmNhblBhcnRpY2lwYXRlSW5CYXNlbGluZUFsaWdubWVudChjb25zdCBSZW5kZXJC
b3gKICAgICBpZiAoaXNQYXJhbGxlbFRvQmFzZWxpbmVBeGlzICYmIGNoaWxkLmZpcnN0TGluZUJh
c2VsaW5lKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgLy8gRklYTUU6IFdlIGRvbid0
IGN1cnJlbnRseSBhbGxvdyBpdGVtcyB3aXRoaW4gc3ViZ3JpZHMgdGhhdCBuZWVkIHRvCisgICAg
Ly8gc3ludGhlc2l6ZSBhIGJhc2VsaW5lLCBzaW5jZSB3ZSBuZWVkIGEgbGF5b3V0IHRvIGhhdmUg
YmVlbiBjb21wbGV0ZWQKKyAgICAvLyBhbmQgcGVyZm9ybUdyaWRJdGVtc1ByZUxheW91dCBvbiB0
aGUgb3V0ZXIgZ3JpZCBkb2Vzbid0IGxheW91dCBzdWJncmlkCisgICAgLy8gaXRlbXMuCisgICAg
aWYgKGNoaWxkLnBhcmVudCgpICE9IHJlbmRlckdyaWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgLy8gQmFzZWxpbmUgY3ljbGljIGRlcGVuZGVuY2llcyBvbmx5IGhhcHBlbiBpbiBn
cmlkIGFyZWFzIHdpdGgKICAgICAvLyBpbnRyaW5zaWNhbGx5LXNpemVkIHRyYWNrcy4gCiAgICAg
aWYgKCFpc0ludHJpbnNpY1NpemVkR3JpZEFyZWEoY2hpbGQsIGJhc2VsaW5lQXhpcykpCkBAIC05
MjAsNyArOTI3LDYgQEAgdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnVwZGF0ZUJhc2Vs
aW5lQWxpZ25tZW50Q29udGV4dChjb25zdCBSZW5kZXJCb3gmIGMKIHsKICAgICBBU1NFUlQod2Fz
U2V0dXAoKSk7CiAgICAgQVNTRVJUKGNhblBhcnRpY2lwYXRlSW5CYXNlbGluZUFsaWdubWVudChj
aGlsZCwgYmFzZWxpbmVBeGlzKSk7Ci0gICAgQVNTRVJUKCFjaGlsZC5uZWVkc0xheW91dCgpKTsK
IAogICAgIEl0ZW1Qb3NpdGlvbiBhbGlnbiA9IG1fcmVuZGVyR3JpZC0+c2VsZkFsaWdubWVudEZv
ckNoaWxkKGJhc2VsaW5lQXhpcywgY2hpbGQpLnBvc2l0aW9uKCk7CiAgICAgY29uc3QgYXV0byYg
c3BhbiA9IG1fcmVuZGVyR3JpZC0+Z3JpZFNwYW5Gb3JDaGlsZChjaGlsZCwgZ3JpZERpcmVjdGlv
bkZvckF4aXMoYmFzZWxpbmVBeGlzKSk7CkBAIC05MjksNiArOTM1LDExIEBAIHZvaWQgR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtOjp1cGRhdGVCYXNlbGluZUFsaWdubWVudENvbnRleHQoY29uc3Qg
UmVuZGVyQm94JiBjCiAKIExheW91dFVuaXQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpiYXNl
bGluZU9mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEdyaWRBeGlzIGJhc2Vs
aW5lQXhpcykgY29uc3QKIHsKKyAgICAvLyBJZiB3ZSBoYXZlbid0IHlldCBpbml0aWFsaXplZCB0
aGlzIGF4aXMgKHdoaWNoIGNhbiBiZSB0aGUgY2FzZSBpZiB3ZSdyZSBkb2luZworICAgIC8vIHBy
ZWxheW91dCBvZiBhIHN1YmdyaWQpLCB0aGVuIHdlIGNhbid0IGtub3cgdGhlIGJhc2VsaW5lIG9m
ZnNldC4KKyAgICBpZiAodHJhY2tzKGdyaWREaXJlY3Rpb25Gb3JBeGlzKGJhc2VsaW5lQXhpcykp
LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIExheW91dFVuaXQoKTsKKwogICAgIGlmICghcGFy
dGljaXBhdGVJbkJhc2VsaW5lQWxpZ25tZW50KGNoaWxkLCBiYXNlbGluZUF4aXMpKQogICAgICAg
ICByZXR1cm4gTGF5b3V0VW5pdCgpOwogCkBAIC05NDUsNyArOTU2LDkgQEAgdm9pZCBHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmNsZWFyQmFzZWxpbmVJdGVtc0NhY2hlKCkKIAogdm9pZCBHcmlk
VHJhY2tTaXppbmdBbGdvcml0aG06OmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbShjb25zdCBSZW5k
ZXJCb3gmIGl0ZW0sIEdyaWRBeGlzIGF4aXMpCiB7Ci0gICAgQVNTRVJUKG1fcmVuZGVyR3JpZC0+
aXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKGl0ZW0sIGF4aXMpKTsKKyAgICBpZiAoR3JpZExh
eW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsUGFyZW50KCptX3JlbmRlckdyaWQsICppdGVtLnBh
cmVudCgpKSkKKyAgICAgICAgYXhpcyA9IGF4aXMgPT0gR3JpZENvbHVtbkF4aXMgPyBHcmlkUm93
QXhpcyA6IEdyaWRDb2x1bW5BeGlzOworCiAgICAgaWYgKGF4aXMgPT0gR3JpZENvbHVtbkF4aXMp
CiAgICAgICAgIG1fY29sdW1uQmFzZWxpbmVJdGVtc01hcC5hZGQoJml0ZW0sIHRydWUpOwogICAg
IGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdB
bGdvcml0aG0uaAppbmRleCAxOTA1ZGUxODVlYjdjOGE1MDUwYjE4OTg4NDM0MzIxNzU1ODA3ZjA0
Li5iYTI5OWM1ODNlNjY5NWE0M2FhYjQwNDMzMWU1YjBhMGEwZTE5ZmNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCkBAIC0x
MjIsNyArMTIyLDcgQEAgcHVibGljOgogICAgIC8vIGFuZCBlbmNhcHN1bGF0ZSBhbnkgYWNjZXNz
IGluIHRoZSBhbGdvcml0aG0gY2xhc3MuCiAgICAgR3JpZCYgbXV0YWJsZUdyaWQoKSBjb25zdCB7
IHJldHVybiBtX2dyaWQ7IH0KIAotICAgIGNvbnN0IFJlbmRlckdyaWQqIHJlbmRlckdyaWQoKSB7
IHJldHVybiBtX3JlbmRlckdyaWQ7IH07CisgICAgY29uc3QgUmVuZGVyR3JpZCogcmVuZGVyR3Jp
ZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyR3JpZDsgfTsKIAogICAgIExheW91dFVuaXQgbWlu
Q29udGVudFNpemUoKSBjb25zdCB7IHJldHVybiBtX21pbkNvbnRlbnRTaXplOyB9OwogICAgIExh
eW91dFVuaXQgbWF4Q29udGVudFNpemUoKSBjb25zdCB7IHJldHVybiBtX21heENvbnRlbnRTaXpl
OyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IGQ5OTA3ZjBm
N2E4ZmIwZDA5ZDBlNTFhNGU5MzQwOGFmMTAyYzY5MjAuLmNmZWRmZmM4OGUxZWUwZWI1MDJjNDAw
ZjhmYWFiNjA1MjU2NzJmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKQEAgLTE5Miw2ICsxOTIsNDAgQEAgYm9vbCBSZW5kZXJHcmlkOjpjYW5QZXJmb3JtU2ltcGxp
ZmllZExheW91dCgpIGNvbnN0CiAgICAgcmV0dXJuIFJlbmRlckJsb2NrOjpjYW5QZXJmb3JtU2lt
cGxpZmllZExheW91dCgpOwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBGPgorc3RhdGljIHZvaWQg
Y2FjaGVCYXNlbGluZUFsaWduZWRDaGlsZHJlbihjb25zdCBSZW5kZXJHcmlkJiBncmlkLCBHcmlk
VHJhY2tTaXppbmdBbGdvcml0aG0mIGFsZ29yaXRobSwgdWludDMyX3QgYXhlcywgRiYgY2FsbGJh
Y2spCit7CisgICAgZm9yIChhdXRvKiBjaGlsZCA9IGdyaWQuZmlyc3RDaGlsZEJveCgpOyBjaGls
ZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICBpZiAoY2hpbGQt
PmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0xlZ2VuZCgpKQorICAgICAgICAg
ICAgY29udGludWU7CisKKyAgICAgICAgY2FsbGJhY2soY2hpbGQpOworCisgICAgICAgIC8vIFdl
IGtlZXAgYSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFzIGFsaWdubWVudCB2YWx1ZXMg
c28gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1zIGZvcgorICAgICAgICAv
LyBzdWNoIGl0ZW1zLiBUaGlzIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCByZWFzb25zIGR1ZSB0byB0aGUgY29zdCBvZiBldmFsdWF0aW5nIHRoZSBpdGVtJ3MKKyAgICAg
ICAgLy8gcGFydGljaXBhdGlvbiBpbiBhIGJhc2VsaW5lIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFj
ayBzaXppbmcgYWxnb3JpdGhtLgorICAgICAgICB1aW50MzJfdCBpbm5lckF4ZXMgPSAwOworICAg
ICAgICBSZW5kZXJHcmlkKiBpbm5lciA9IGlzPFJlbmRlckdyaWQ+KGNoaWxkKSA/IGRvd25jYXN0
PFJlbmRlckdyaWQ+KGNoaWxkKSA6IG51bGxwdHI7CisKKyAgICAgICAgaWYgKGF4ZXMgJiBHcmlk
Q29sdW1uQXhpcykgeworICAgICAgICAgICAgaWYgKGlubmVyICYmIGlubmVyLT5pc1N1YmdyaWRJ
blBhcmVudERpcmVjdGlvbihGb3JSb3dzKSkKKyAgICAgICAgICAgICAgICBpbm5lckF4ZXMgfD0g
R3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoZ3JpZCwgKmNoaWxkKSA/IEdy
aWRSb3dBeGlzIDogR3JpZENvbHVtbkF4aXM7CisgICAgICAgICAgICBlbHNlIGlmIChncmlkLmlz
QmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRDb2x1bW5BeGlzKSkKKyAgICAg
ICAgICAgICAgICBhbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3Jp
ZENvbHVtbkF4aXMpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGF4ZXMgJiBHcmlkUm93QXhp
cykgeworICAgICAgICAgICAgaWYgKGlubmVyICYmIGlubmVyLT5pc1N1YmdyaWRJblBhcmVudERp
cmVjdGlvbihGb3JDb2x1bW5zKSkKKyAgICAgICAgICAgICAgICBpbm5lckF4ZXMgfD0gR3JpZExh
eW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoZ3JpZCwgKmNoaWxkKSA/IEdyaWRDb2x1
bW5BeGlzIDogR3JpZFJvd0F4aXM7CisgICAgICAgICAgICBlbHNlIGlmIChncmlkLmlzQmFzZWxp
bmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKKyAgICAgICAgICAgICAg
ICBhbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGlsZCwgR3JpZFJvd0F4aXMp
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKGlubmVyQXhlcykKKyAgICAgICAgICAgIGNhY2hl
QmFzZWxpbmVBbGlnbmVkQ2hpbGRyZW4oKmlubmVyLCBhbGdvcml0aG0sIGlubmVyQXhlcywgY2Fs
bGJhY2spOworICAgIH0KK30KKwogVmVjdG9yPFJlbmRlckJveCo+IFJlbmRlckdyaWQ6OmNvbXB1
dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRlbXMoKQogewogICAgIFZlY3RvcjxS
ZW5kZXJCb3gqPiBkZXBlbmRlbnRHcmlkSXRlbXM7CkBAIC0yMDAsMTUgKzIzNCw3IEBAIFZlY3Rv
cjxSZW5kZXJCb3gqPiBSZW5kZXJHcmlkOjpjb21wdXRlQXNwZWN0UmF0aW9EZXBlbmRlbnRBbmRC
YXNlbGluZUl0ZW1zKCkKICAgICBtX2hhc0FueU9ydGhvZ29uYWxJdGVtID0gZmFsc2U7CiAgICAg
bV9oYXNBc3BlY3RSYXRpb0Jsb2NrU2l6ZURlcGVuZGVudEl0ZW0gPSBmYWxzZTsKIAotICAgIGZv
ciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5u
ZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlv
bmVkKCkgfHwgY2hpbGQtPmlzTGVnZW5kKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAg
ICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxvZ2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVy
cmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5lZWQgdG8KLSAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJy
aWRlIGhlaWdodCBzZXQgcHJldmlvdXNseSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3Vy
cmVudCBsYXlvdXQKLSAgICAgICAgLy8gZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92
ZXJyaWRlIHdpZHRoLCB0aGF0J3Mgd2h5IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgotICAg
ICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkaW5nTG9naWNhbEhlaWdodCgpOwotCisgICAgYXV0byBj
b21wdXRlT3J0aG9nb25hbEFuZERlcGVuZGVudEl0ZW1zID0gWyZdKFJlbmRlckJveCogY2hpbGQp
IHsKICAgICAgICAgLy8gR3JpZCdzIGxheW91dCBsb2dpYyBjb250cm9scyB0aGUgZ3JpZCBpdGVt
J3Mgb3ZlcnJpZGUgaGVpZ2h0LCBoZW5jZSB3ZSBuZWVkIHRvCiAgICAgICAgIC8vIGNsZWFyIGFu
eSBvdmVycmlkZSBoZWlnaHQgc2V0IHByZXZpb3VzbHksIHNvIGl0IGRvZXNuJ3QgaW50ZXJmZXJl
IGluIGN1cnJlbnQgbGF5b3V0CiAgICAgICAgIC8vIGV4ZWN1dGlvbi4gR3JpZCBuZXZlciB1c2Vz
IHRoZSBvdmVycmlkZSB3aWR0aCwgdGhhdCdzIHdoeSB3ZSBkb24ndCBuZWVkIHRvIGNsZWFyICBp
dC4KQEAgLTIyNCwxNSArMjUwLDkgQEAgVmVjdG9yPFJlbmRlckJveCo+IFJlbmRlckdyaWQ6OmNv
bXB1dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRlbXMoKQogICAgICAgICAgICAg
ZGVwZW5kZW50R3JpZEl0ZW1zLmFwcGVuZChjaGlsZCk7CiAgICAgICAgICAgICBtX2hhc0FzcGVj
dFJhdGlvQmxvY2tTaXplRGVwZW5kZW50SXRlbSA9IHRydWU7CiAgICAgICAgIH0KKyAgICB9Owog
Ci0gICAgICAgIC8vIFdlIGtlZXAgYSBjYWNoZSBvZiBpdGVtcyB3aXRoIGJhc2VsaW5lIGFzIGFs
aWdubWVudCB2YWx1ZXMgc28gdGhhdCB3ZSBvbmx5IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1z
IGZvcgotICAgICAgICAvLyBzdWNoIGl0ZW1zLiBUaGlzIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVy
Zm9ybWFuY2UgcmVsYXRlZCByZWFzb25zIGR1ZSB0byB0aGUgY29zdCBvZiBldmFsdWF0aW5nIHRo
ZSBpdGVtJ3MKLSAgICAgICAgLy8gcGFydGljaXBhdGlvbiBpbiBhIGJhc2VsaW5lIGNvbnRleHQg
ZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtLgotICAgICAgICBpZiAoaXNCYXNlbGlu
ZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZENvbHVtbkF4aXMpKQotICAgICAgICAgICAg
bV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBH
cmlkQ29sdW1uQXhpcyk7Ci0gICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQo
KmNoaWxkLCBHcmlkUm93QXhpcykpCi0gICAgICAgICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGht
LmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKLSAgICB9Cisg
ICAgY2FjaGVCYXNlbGluZUFsaWduZWRDaGlsZHJlbigqdGhpcywgbV90cmFja1NpemluZ0FsZ29y
aXRobSwgR3JpZFJvd0F4aXMgfCBHcmlkQ29sdW1uQXhpcywgY29tcHV0ZU9ydGhvZ29uYWxBbmRE
ZXBlbmRlbnRJdGVtcyk7CiAKICAgICByZXR1cm4gZGVwZW5kZW50R3JpZEl0ZW1zOwogfQpAQCAt
NDc2LDEyICs0OTYsOCBAQCB2b2lkIFJlbmRlckdyaWQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2Fs
V2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5bwogICAgICAgICBpZiAobV9i
YXNlbGluZUl0ZW1zQ2FjaGVkKQogICAgICAgICAgICAgYWxnb3JpdGhtLmNvcHlCYXNlbGluZUl0
ZW1zQ2FjaGUobV90cmFja1NpemluZ0FsZ29yaXRobSwgR3JpZFJvd0F4aXMpOwogICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIGZvciAoYXV0byogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNo
aWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkKLSAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAgICAgaWYgKGlzQmFzZWxpbmVBbGlnbm1lbnRGb3JDaGls
ZCgqY2hpbGQsIEdyaWRSb3dBeGlzKSkKLSAgICAgICAgICAgICAgICAgICAgYWxnb3JpdGhtLmNh
Y2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hpbGQsIEdyaWRSb3dBeGlzKTsKLSAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGF1dG8gZW1wdHlDYWxsYmFjayA9IFtdKFJlbmRlckJveCopIHsgfTsK
KyAgICAgICAgICAgIGNhY2hlQmFzZWxpbmVBbGlnbmVkQ2hpbGRyZW4oKnRoaXMsIGFsZ29yaXRo
bSwgR3JpZFJvd0F4aXMsIGVtcHR5Q2FsbGJhY2spOwogICAgICAgICB9CiAKICAgICAgICAgY29t
cHV0ZVRyYWNrU2l6ZXNGb3JJbmRlZmluaXRlU2l6ZShhbGdvcml0aG0sIEZvckNvbHVtbnMsICZt
aW5Mb2dpY2FsV2lkdGgsICZtYXhMb2dpY2FsV2lkdGgpOwpAQCAtNzgyLDYgKzc5OCw4IEBAIHZv
aWQgUmVuZGVyR3JpZDo6cGVyZm9ybUdyaWRJdGVtc1ByZUxheW91dChjb25zdCBHcmlkVHJhY2tT
aXppbmdBbGdvcml0aG0mIGFsZ29yCiAgICAgICAgIC8vIFdlIG5lZWQgdG8gbGF5b3V0IHRoZSBp
dGVtIHRvIGtub3cgd2hldGhlciBpdCBtdXN0IHN5bnRoZXNpemUgaXRzCiAgICAgICAgIC8vIGJh
c2VsaW5lIG9yIG5vdCwgd2hpY2ggbWF5IGltcGx5IGEgY3ljbGljIHNpemluZyBkZXBlbmRlbmN5
LgogICAgICAgICAvLyBGSVhNRTogQ2FuIHdlIGF2b2lkIGl0ID8KKyAgICAgICAgLy8gRklYTUU6
IFdlIGFsc28gd2FudCB0byBsYXlvdXQgYmFzZWxpbmUgYWxpZ25lZCBpdGVtcyB3aXRoaW4gc3Vi
Z3JpZHMsIGJ1dAorICAgICAgICAvLyB3ZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBhIHdheSB0byBk
byB0aGF0IGhlcmUuCiAgICAgICAgIGlmIChpc0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNo
aWxkKSkgewogICAgICAgICAgICAgdXBkYXRlR3JpZEFyZWFMb2dpY2FsU2l6ZSgqY2hpbGQsIGFs
Z29yaXRobS5lc3RpbWF0ZWRHcmlkQXJlYUJyZWFkdGhGb3JDaGlsZCgqY2hpbGQsIEZvckNvbHVt
bnMpLCBhbGdvcml0aG0uZXN0aW1hdGVkR3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQoKmNoaWxkLCBG
b3JSb3dzKSk7CiAgICAgICAgICAgICBjaGlsZC0+bGF5b3V0SWZOZWVkZWQoKTsKQEAgLTEyMjUs
NyArMTI0Myw3IEBAIExheW91dFVuaXQgUmVuZGVyR3JpZDo6YXZhaWxhYmxlQWxpZ25tZW50U3Bh
Y2VGb3JDaGlsZEJlZm9yZVN0cmV0Y2hpbmcoTGF5b3V0VW5pCiAKIFN0eWxlU2VsZkFsaWdubWVu
dERhdGEgUmVuZGVyR3JpZDo6YWxpZ25TZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGls
ZCwgU3RyZXRjaGluZ01vZGUgc3RyZXRjaGluZ01vZGUsIGNvbnN0IFJlbmRlclN0eWxlKiBncmlk
U3R5bGUpIGNvbnN0CiB7Ci0gICAgaWYgKGlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJv
d3MpKQorICAgIGlmIChpczxSZW5kZXJHcmlkPihjaGlsZCkgJiYgZG93bmNhc3Q8UmVuZGVyR3Jp
ZD4oY2hpbGQpLmlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJvd3MpKQogICAgICAgICBy
ZXR1cm4geyBJdGVtUG9zaXRpb246OlN0cmV0Y2gsIE92ZXJmbG93QWxpZ25tZW50OjpEZWZhdWx0
IH07CiAgICAgaWYgKCFncmlkU3R5bGUpCiAgICAgICAgIGdyaWRTdHlsZSA9ICZzdHlsZSgpOwpA
QCAtMTIzNSw3ICsxMjUzLDcgQEAgU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjph
bGlnblNlbGZGb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBTdHIKIAogU3R5bGVTZWxm
QWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjpqdXN0aWZ5U2VsZkZvckNoaWxkKGNvbnN0IFJlbmRl
ckJveCYgY2hpbGQsIFN0cmV0Y2hpbmdNb2RlIHN0cmV0Y2hpbmdNb2RlLCBjb25zdCBSZW5kZXJT
dHlsZSogZ3JpZFN0eWxlKSBjb25zdAogewotICAgIGlmIChpc1N1YmdyaWRJblBhcmVudERpcmVj
dGlvbihGb3JDb2x1bW5zKSkKKyAgICBpZiAoaXM8UmVuZGVyR3JpZD4oY2hpbGQpICYmIGRvd25j
YXN0PFJlbmRlckdyaWQ+KGNoaWxkKS5pc1N1YmdyaWRJblBhcmVudERpcmVjdGlvbihGb3JDb2x1
bW5zKSkKICAgICAgICAgcmV0dXJuIHsgSXRlbVBvc2l0aW9uOjpTdHJldGNoLCBPdmVyZmxvd0Fs
aWdubWVudDo6RGVmYXVsdCB9OwogICAgIGlmICghZ3JpZFN0eWxlKQogICAgICAgICBncmlkU3R5
bGUgPSAmc3R5bGUoKTsKQEAgLTE0NTYsMTEgKzE0NzQsMjMgQEAgc3RkOjpvcHRpb25hbDxMYXlv
dXRVbml0PiBSZW5kZXJHcmlkOjppbmxpbmVCbG9ja0Jhc2VsaW5lKExpbmVEaXJlY3Rpb25Nb2Rl
KSBjb24KIAogTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpjb2x1bW5BeGlzQmFzZWxpbmVPZmZzZXRG
b3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogeworICAgIGlmIChpc1N1Ymdy
aWRSb3dzKCkpIHsKKyAgICAgICAgUmVuZGVyR3JpZCogb3V0ZXIgPSBkb3duY2FzdDxSZW5kZXJH
cmlkPihwYXJlbnQoKSk7CisgICAgICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25zOjppc09ydGhv
Z29uYWxDaGlsZCgqb3V0ZXIsICp0aGlzKSkKKyAgICAgICAgICAgIHJldHVybiBvdXRlci0+cm93
QXhpc0Jhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQpOworICAgICAgICByZXR1cm4gb3V0ZXIt
PmNvbHVtbkF4aXNCYXNlbGluZU9mZnNldEZvckNoaWxkKGNoaWxkKTsKKyAgICB9CiAgICAgcmV0
dXJuIG1fdHJhY2tTaXppbmdBbGdvcml0aG0uYmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCwg
R3JpZENvbHVtbkF4aXMpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OnJvd0F4aXNCYXNl
bGluZU9mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CisgICAg
aWYgKGlzU3ViZ3JpZENvbHVtbnMoKSkgeworICAgICAgICBSZW5kZXJHcmlkKiBvdXRlciA9IGRv
d25jYXN0PFJlbmRlckdyaWQ+KHBhcmVudCgpKTsKKyAgICAgICAgaWYgKEdyaWRMYXlvdXRGdW5j
dGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKCpvdXRlciwgKnRoaXMpKQorICAgICAgICAgICAgcmV0
dXJuIG91dGVyLT5jb2x1bW5BeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCk7CisgICAg
ICAgIHJldHVybiBvdXRlci0+cm93QXhpc0Jhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQpOwor
ICAgIH0KICAgICByZXR1cm4gbV90cmFja1NpemluZ0FsZ29yaXRobS5iYXNlbGluZU9mZnNldEZv
ckNoaWxkKGNoaWxkLCBHcmlkUm93QXhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IDdkMTA0YWVkOGE1YmY5YWMxZTljMjRmNjIyZTNiNTFhMDRkOGQ3ZmYuLjhlOWIx
NGVlNTllY2NkNTE5ZTU5ZjllYjllMzVjNzRkZmI3Y2NlMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTA0LTA2ICBNYXR0IFdvb2Ryb3cgIDxt
YXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIGFs
aWduaW5nIGJhc2VsaW5lcyB0aHJvdWdoIHN1YmdyaWRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NDMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvc3ViZ3JpZC9iYXNlbGluZS0wMDItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1Ymdy
aWQvYmFzZWxpbmUtMDAzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2Vs
aW5lLTAwNC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDA0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDUt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS5odG1sOiBBZGRlZC4KKworICAgICAgICBBZGRl
ZCBuZXcgV1BUIHZhcmlhbnRzIG9mIHRoZSBiYXNlbGluZSB0ZXN0cywgZm9yIHRoZSBjYXNlIHdo
ZXJlIHRoZSBpbnRyb3NwZWN0ZWQgc3ViZ3JpZAorICAgICAgICBoYXMgcGFkZGluZyB0aGF0IGFm
ZmVjdHMgdGhlIGJhc2VsaW5lIHBvc2l0aW9uLCBhbmQgZm9yIHRoZSBjYXNlIHdoZXJlIHRoZSBz
dWJncmlkIHVzZXMgYW4KKyAgICAgICAgb3J0aG9nb25hbCB3cml0aW5nIG1vZGUuCisKIDIwMjIt
MDQtMDIgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAg
Q1NQOiBJbXByb3ZlIGNvbXBhdGliaWxpdHkgb2Ygc291cmNlIG1hdGNoaW5nCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAxLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1
YmdyaWQtYmFzZWxpbmUtMDAxLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ0YjBkY2NmMjEx
ZDQ2MzM2ZTQxYjNmMjI1ZmNlODA2MjljODZjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQv
c3ViZ3JpZC1iYXNlbGluZS0wMDEtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURP
Q1RZUEUgSFRNTD4KKzxodG1sPjxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0
aXRsZT5SZWZlcmVuY2U6IGJhc2VsaW5lLWFsaWduZWQgc3ViZ3JpZCBpdGVtIHdpdGggcGFkZGlu
ZzwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWF0dCBXb29kcm93IiBocmVm
PSJtYWlsdG86bWF0dHdvb2Ryb3dAYXBwbGUuY29tIj4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3NzIj4KKyAgPHN0eWxlPgoraHRt
bCxib2R5IHsKKyAgY29sb3I6YmxhY2s7IGJhY2tncm91bmQtY29sb3I6d2hpdGU7IGZvbnQ6MTZw
eC8xIEFoZW07IHBhZGRpbmc6MDsgbWFyZ2luOjA7Cit9CisKKy5ncmlkIHsKKyAgZGlzcGxheTog
Z3JpZDsKKyAgZ3JpZDogMjBweCByZXBlYXQoNCwgYXV0bykgMzBweCAvIDMwcHggcmVwZWF0KDQs
IGF1dG8pIDIwcHg7CisgIHBsYWNlLWNvbnRlbnQ6IHN0YXJ0OworICBwbGFjZS1pdGVtczogYmFz
ZWxpbmUgc3RhcnQ7CisgIGJvcmRlcjogMXB4IHNvbGlkOworICB0ZXh0LWRlY29yYXRpb246IHVu
ZGVybGluZSBibHVlOworfQorCisuc3ViZ3JpZCB7CisgIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTsK
KyAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDQ7CisgIGdyaWQtcm93OiAzIC8gc3BhbiAyOworICBt
aW4td2lkdGg6IDEwcHg7CisgIG1pbi1oZWlnaHQ6IDA7CisgIGJhY2tncm91bmQ6IHllbGxvdzsK
KyAgcGFkZGluZy10b3A6IDIwcHg7Cit9CisKK3gsIHogeworICBkaXNwbGF5OiBibG9jazsKKyAg
bWluLXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAxMHB4OworICBmb250LXNpemU6IDhlbTsK
KyAgYmFja2dyb3VuZDogc2lsdmVyOworfQoreiB7CisgIHdpZHRoOiAyMHB4OworICBoZWlnaHQ6
IDEwcHg7Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJn
cmlkIj4KKzx5IHN0eWxlPSJncmlkLWFyZWE6My8xIj5BJm5ic3A7PC95PgorPGRpdiBjbGFzcz0i
c3ViZ3JpZCI+CisgIDx6Pjwvej48eD4mbmJzcDtBPC94PgorPC9kaXY+Cis8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLWJhc2VsaW5lLTAwMS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvc3ViZ3JpZC9zdWJncmlkLWJhc2VsaW5lLTAwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1NDY5
YzAwMThlMGE5Nzc4NmFmZjA4NmMwY2FiYWYwODFjZWQ3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9z
dWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAxLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NU
WVBFIEhUTUw+Cis8aHRtbD48aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0
bGU+Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW0gd2l0aCBwYWRk
aW5nPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdvb2Ryb3ciIGhy
ZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3NzIj4KKyAgPGxp
bmsgcmVsPSJtYXRjaCIgaHJlZj0ic3ViZ3JpZC1iYXNlbGluZS0wMDEtcmVmLmh0bWwiPgorICA8
c3R5bGU+CitodG1sLGJvZHkgeworICBjb2xvcjpibGFjazsgYmFja2dyb3VuZC1jb2xvcjp3aGl0
ZTsgZm9udDoxNnB4LzEgQWhlbTsgcGFkZGluZzowOyBtYXJnaW46MDsKK30KKworLmdyaWQgewor
ICBkaXNwbGF5OiBncmlkOworICBncmlkOiAyMHB4IHJlcGVhdCg0LCBhdXRvKSAzMHB4IC8gMzBw
eCByZXBlYXQoNCwgYXV0bykgMjBweDsKKyAgcGxhY2UtY29udGVudDogc3RhcnQ7CisgIHBsYWNl
LWl0ZW1zOiBiYXNlbGluZSBzdGFydDsKKyAgYm9yZGVyOiAxcHggc29saWQ7CisgIHRleHQtZGVj
b3JhdGlvbjogdW5kZXJsaW5lIGJsdWU7Cit9CisKKy5zdWJncmlkIHsKKyAgZGlzcGxheTogZ3Jp
ZDsKKyAgZ3JpZDogc3ViZ3JpZCAvIGF1dG87CisgIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTsKKyAg
Z3JpZC1jb2x1bW46IDIgLyBzcGFuIDQ7CisgIGdyaWQtcm93OiAzIC8gc3BhbiAyOworICBtaW4t
d2lkdGg6IDEwcHg7CisgIG1pbi1oZWlnaHQ6IDA7CisgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAg
cGxhY2UtY29udGVudDogaW5oZXJpdDsKKyAgcGxhY2UtaXRlbXM6IGluaGVyaXQ7CisgIHBhZGRp
bmctdG9wOiAyMHB4OworfQorCit4IHsKKyAgbWluLXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0
OiAxMHB4OworICBmb250LXNpemU6IDhlbTsKKyAgYmFja2dyb3VuZDogc2lsdmVyOworfQorCisg
IDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBjbGFzcz0iZ3JpZCI+Cis8eSBzdHls
ZT0iZ3JpZC1hcmVhOjQvMSI+QSZuYnNwOzwveT4KKzxkaXYgY2xhc3M9InN1YmdyaWQiPgorICA8
eCBzdHlsZT0iZ3JpZC1yb3c6MiI+Jm5ic3A7QTwveD48eD48L3g+Cis8L2Rpdj4KKzwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUt
MDAyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAyLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzAwOGQzMWUwMzBhNGUxNzg2ZWVjOWI3ZThjYzQyN2M2NjBhZjQ4
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDItZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPjxoZWFkPgor
ICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5SZWZlcmVuY2U6IGJhc2VsaW5lLWFs
aWduZWQgc3ViZ3JpZCBpdGVtIHdpdGggb3J0aG9nb25hbCB3cml0aW5nLW1vZGU8L3RpdGxlPgor
ICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1h
dHR3b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4
dC9jc3MiIGhyZWY9Ii9mb250cy9haGVtLmNzcyI+CisgIDxzdHlsZT4KK2h0bWwsYm9keSB7Cisg
IGNvbG9yOmJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBmb250OjE2cHgvMSBBaGVtOyBw
YWRkaW5nOjA7IG1hcmdpbjowOworfQorCisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIGdy
aWQ6IDIwcHggcmVwZWF0KDQsIGF1dG8pIDMwcHggLyAzMHB4IHJlcGVhdCg0LCBhdXRvKSAyMHB4
OworICBwbGFjZS1jb250ZW50OiBzdGFydDsKKyAgcGxhY2UtaXRlbXM6IGJhc2VsaW5lIHN0YXJ0
OworICBib3JkZXI6IDFweCBzb2xpZDsKKyAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgYmx1
ZTsKK30KKworLnN1YmdyaWQgeworICBiYWNrZ3JvdW5kOiBsaWdodGdyZXk7CisgIGdyaWQtY29s
dW1uOiAyIC8gc3BhbiA0OworICBncmlkLXJvdzogMyAvIHNwYW4gMjsKKyAgbWluLXdpZHRoOiAx
MHB4OworICBtaW4taGVpZ2h0OiAwOworICBiYWNrZ3JvdW5kOiB5ZWxsb3c7Cit9CisKK3gsIHog
eworICBkaXNwbGF5OiBibG9jazsKKyAgbWluLXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAx
MHB4OworICBmb250LXNpemU6IDhlbTsKKyAgYmFja2dyb3VuZDogc2lsdmVyOworfQoreiB7Cisg
IHdpZHRoOiAyMHB4OworICBoZWlnaHQ6IDEwcHg7Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorCis8ZGl2IGNsYXNzPSJncmlkIj4KKzx5IHN0eWxlPSJncmlkLWFyZWE6My8xIj5B
Jm5ic3A7PC95PgorPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgIDx6Pjwvej48eCBzdHlsZT0ibWFy
Z2luLWxlZnQ6IDIwcHgiPiZuYnNwO0E8L3g+Cis8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9z
dWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJhMTdkN2NjNGI0
NTAyZWQ4YzUxYTE5NWY0ZWUwNDYyMGMzZGE5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQv
c3ViZ3JpZC1iYXNlbGluZS0wMDIuaHRtbApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgSFRN
TD4KKzxodG1sPjxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5DU1Mg
R3JpZCBUZXN0OiBiYXNlbGluZS1hbGlnbmVkIHN1YmdyaWQgaXRlbSB3aXRoIG9ydGhvZ29uYWwg
d3JpdGluZy1tb2RlPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdv
b2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3Nz
Ij4KKyAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0ic3ViZ3JpZC1iYXNlbGluZS0wMDItcmVmLmh0
bWwiPgorICA8c3R5bGU+CitodG1sLGJvZHkgeworICBjb2xvcjpibGFjazsgYmFja2dyb3VuZC1j
b2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgQWhlbTsgcGFkZGluZzowOyBtYXJnaW46MDsKK30KKwor
LmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlkOiAyMHB4IHJlcGVhdCg0LCBhdXRvKSAz
MHB4IC8gMzBweCByZXBlYXQoNCwgYXV0bykgMjBweDsKKyAgcGxhY2UtY29udGVudDogc3RhcnQ7
CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFydDsKKyAgYm9yZGVyOiAxcHggc29saWQ7Cisg
IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGJsdWU7Cit9CisKKy5zdWJncmlkIHsKKyAgZGlz
cGxheTogZ3JpZDsKKyAgZ3JpZDogYXV0byAvIHN1YmdyaWQ7CisgIGJhY2tncm91bmQ6IGxpZ2h0
Z3JleTsKKyAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDQ7CisgIGdyaWQtcm93OiAzIC8gc3BhbiAy
OworICBtaW4td2lkdGg6IDEwcHg7CisgIG1pbi1oZWlnaHQ6IDA7CisgIGJhY2tncm91bmQ6IHll
bGxvdzsKKyAgcGxhY2UtY29udGVudDogaW5oZXJpdDsKKyAgcGxhY2UtaXRlbXM6IHN0YXJ0IGJh
c2VsaW5lOworICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOworfQorCit4IHsKKyAgbWluLXdp
ZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAxMHB4OworICBmb250LXNpemU6IDhlbTsKKyAgYmFj
a2dyb3VuZDogc2lsdmVyOworICB3cml0aW5nLW1vZGU6IGhvcml6b250YWwtdGI7Cit9CisKKyAg
PC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJncmlkIj4KKzx5IHN0eWxl
PSJncmlkLWFyZWE6NC8xIj5BJm5ic3A7PC95PgorPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgIDx4
IHN0eWxlPSJncmlkLWNvbHVtbjoyIj4mbmJzcDtBPC94Pjx4PjwveD4KKzwvZGl2PgorPC9kaXY+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGlu
ZS0wMDMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDMtZXhwZWN0
ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNmRhMjU0ZDg4NzlkMmY2N2VkMjYyYjFmZTA0M2YyOWFmMDZi
MWViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLWJhc2VsaW5lLTAwMy1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+Q1NTIEdyaWQgVGVzdDogYmFz
ZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW08L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3b29kcm93QGFwcGxlLmNvbSI+
CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1n
cmlkLTIiPgorICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIv
Zm9udHMvYWhlbS5jc3MiPgorICA8c3R5bGU+CitodG1sLGJvZHkgeworICBjb2xvcjpibGFjazsg
YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgQWhlbTsgcGFkZGluZzowOyBtYXJn
aW46MDsKK30KKworLmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlkLXRlbXBsYXRlLWNv
bHVtbnM6IGF1dG8gYXV0bzsKKyAgbWF4LXdpZHRoOiAxMDBweDsKKyAgcGxhY2UtaXRlbXM6IGJh
c2VsaW5lIHN0YXJ0OworfQorCisuZmlyc3QgeworICBmb250LXNpemU6IDNlbTsKK30KKworLnNl
Y29uZCB7CisgIGZvbnQtc2l6ZTogMmVtOworfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdiBjbGFzcz0iZmlyc3QiPkE8L2Rpdj4KKyAgPGRp
diBjbGFzcz0ic2Vjb25kIj5BPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLWJhc2VsaW5lLTAwMy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJn
cmlkLWJhc2VsaW5lLTAwMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOGU1NTBmYjRmMWZjYjk2MjI1ZmNj
MjE5NDkxZDdiYmJmNzYzMDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFz
ZWxpbmUtMDAzLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4K
KzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5DU1MgR3JpZCBUZXN0
OiBiYXNlbGluZS1hbGlnbmVkIHN1YmdyaWQgaXRlbTwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iTWF0dCBXb29kcm93IiBocmVmPSJtYWlsdG86bWF0dHdvb2Ryb3dAYXBwbGUu
Y29tIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcv
Y3NzLWdyaWQtMiI+CisgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhy
ZWY9Ii9mb250cy9haGVtLmNzcyI+CisgIDxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InN1YmdyaWQt
YmFzZWxpbmUtMDAzLXJlZi5odG1sIj4KKyAgPHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6
YmxhY2s7IGJhY2tncm91bmQtY29sb3I6d2hpdGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6
MDsgbWFyZ2luOjA7Cit9CisKKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZC10ZW1w
bGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87CisgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRv
OworICBtYXgtd2lkdGg6IDEwMHB4OworICBwbGFjZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7Cit9
CisKKy5zdWJncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBz
dWJncmlkOworICBncmlkLXJvdzogMSAvIDM7CisgIGdyaWQtY29sdW1uOiAyOworCisgIHBhZGRp
bmctYm90dG9tOiAyMHB4OworICBwbGFjZS1pdGVtczogaW5oZXJpdDsKK30KKworLmZpcnN0IHsK
KyAgZm9udC1zaXplOiAzZW07CisgIGdyaWQtcm93OiAyOworfQorCisuc2Vjb25kIHsKKyAgZm9u
dC1zaXplOiAyZW07CisgIGdyaWQtcm93OiAyOworfQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdiBjbGFzcz0iZmlyc3QiPkE8L2Rpdj4KKyAg
PGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0ic2Vjb25kIj5BPC9kaXY+Cisg
IDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1
YmdyaWQtYmFzZWxpbmUtMDA0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxp
bmUtMDA0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDZkYTI1NGQ4ODc5ZDJmNjdlZDI2MmIx
ZmUwNDNmMjlhZjA2YjFlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNl
bGluZS0wMDQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgSFRNTD4K
KzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkNTUyBH
cmlkIFRlc3Q6IGJhc2VsaW5lLWFsaWduZWQgc3ViZ3JpZCBpdGVtPC90aXRsZT4KKyAgPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJv
d0BhcHBsZS5jb20iPgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3NzIj4KKyAgPHN0eWxlPgoraHRtbCxib2R5IHsKKyAg
Y29sb3I6YmxhY2s7IGJhY2tncm91bmQtY29sb3I6d2hpdGU7IGZvbnQ6MTZweC8xIEFoZW07IHBh
ZGRpbmc6MDsgbWFyZ2luOjA7Cit9CisKKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87CisgIG1heC13aWR0aDogMTAwcHg7CisgIHBs
YWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFydDsKK30KKworLmZpcnN0IHsKKyAgZm9udC1zaXplOiAz
ZW07Cit9CisKKy5zZWNvbmQgeworICBmb250LXNpemU6IDJlbTsKK30KKyAgPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xhc3M9ImZpcnN0Ij5B
PC9kaXY+CisgIDxkaXYgY2xhc3M9InNlY29uZCI+QTwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZmQ3ZTRlZWQ0
MDgwZWU1YmRlNWMwZDAxZDc3YThiZWQ5YjI4ZTM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3Jp
ZC9zdWJncmlkLWJhc2VsaW5lLTAwNC5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+
Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW08L3RpdGxlPgorICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3
b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFm
dHMuY3Nzd2cub3JnL2Nzcy1ncmlkLTIiPgorICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9
InRleHQvY3NzIiBocmVmPSIvZm9udHMvYWhlbS5jc3MiPgorICA8bGluayByZWw9Im1hdGNoIiBo
cmVmPSJzdWJncmlkLWJhc2VsaW5lLTAwMy1yZWYuaHRtbCI+CisgIDxzdHlsZT4KK2h0bWwsYm9k
eSB7CisgIGNvbG9yOmJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBmb250OjE2cHgvMSBB
aGVtOyBwYWRkaW5nOjA7IG1hcmdpbjowOworfQorCisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7
CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvOworICBncmlkLXRlbXBsYXRlLXJv
d3M6IGF1dG8gYXV0bzsKKyAgbWF4LXdpZHRoOiAxMDBweDsKKyAgcGxhY2UtaXRlbXM6IGJhc2Vs
aW5lIHN0YXJ0OworfQorCisuc3ViZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIGdyaWQtdGVt
cGxhdGUtY29sdW1uczogc3ViZ3JpZDsKKyAgZ3JpZC1yb3c6IDEgLyAzOworICBncmlkLWNvbHVt
bjogMjsKKworICBwYWRkaW5nLWJvdHRvbTogMjBweDsKKyAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNh
bC1ybDsKKyAgcGxhY2UtaXRlbXM6IHN0YXJ0IGJhc2VsaW5lOworfQorCisuZmlyc3QgeworICBm
b250LXNpemU6IDNlbTsKKyAgZ3JpZC1yb3c6IDI7Cit9CisKKy5zZWNvbmQgeworICBmb250LXNp
emU6IDJlbTsKKyAgZ3JpZC1jb2x1bW46IDI7CisgIHdyaXRpbmctbW9kZTogaG9yaXpvbnRhbC10
YjsKKyAgbWFyZ2luLWxlZnQ6IDZweDsKK30KKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xhc3M9ImZpcnN0Ij5BPC9kaXY+CisgIDxkaXYg
Y2xhc3M9InN1YmdyaWQiPgorICAgIDxkaXYgY2xhc3M9InNlY29uZCI+QTwvZGl2PgorICA8L2Rp
dj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457591</attachid>
            <date>2022-04-13 21:18:45 -0700</date>
            <delta_ts>2022-04-18 14:45:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238643-20220414161843.patch</filename>
            <type>text/plain</type>
            <size>35335</size>
            <attacher name="Matt Woodrow">mattwoodrow</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFkNzU1ZGY0MjliYjUw
YjRhMDQzNGIyOTM0OTQzZjMyMGE2ZWQ3Yy4uYWI4MThjNjRlYmE3OGMzMzM5NGFhMmIxZTc1YTYw
YjcxOWY1ZDlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIyLTA0LTA2ICBNYXR0
IFdvb2Ryb3cgIDxtYXR0d29vZHJvd0BhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHN1
cHBvcnQgZm9yIGFsaWduaW5nIGJhc2VsaW5lcyB0aHJvdWdoIHN1YmdyaWRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NDMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgYmFzZWxpbmUg
c2hhcmluZyByZWN1cnNpb24gaW50byBzdWJncmlkcworCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAw
Mi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5l
LTAwNC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRC
YXNlbGluZUFsaWdubWVudDo6YXNjZW50Rm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZEJhc2VsaW5lQWxpZ25tZW50OjpkZXNjZW50Rm9yQ2hpbGQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JpZEJhc2VsaW5lQWxpZ25tZW50Ojp1cGRhdGVCYXNlbGluZUFsaWdubWVu
dENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6QmFzZWxpbmVHcm91cDo6QmFzZWxpbmVHcm91
cCk6CisgICAgICAgIChXZWJDb3JlOjpCYXNlbGluZUdyb3VwOjp1cGRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6QmFzZWxpbmVDb250ZXh0OjpCYXNlbGluZUNvbnRleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzZWxpbmVDb250ZXh0Ojp1cGRhdGVTaGFyZWRHcm91cCk6CisgICAgICAgICogcmVu
ZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6QmFzZWxp
bmVHcm91cDo6bWF4QXNjZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VsaW5lR3Jv
dXA6Om1heERlc2NlbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9Hcmlk
TGF5b3V0RnVuY3Rpb25zLmg6CisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0Fs
Z29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06
OmNhblBhcnRpY2lwYXRlSW5CYXNlbGluZUFsaWdubWVudCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnVwZGF0ZUJhc2VsaW5lQWxpZ25tZW50Q29u
dGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmJhc2Vs
aW5lT2Zmc2V0Rm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtOjpjYWNoZUJhc2VsaW5lQWxpZ25lZEl0ZW0pOgorICAgICAgICAqIHJlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZUJhc2VsaW5lQWxpZ25lZENoaWxk
cmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBlcmZvcm1H
cmlkSXRlbXNQcmVMYXlvdXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
YWxpZ25TZWxmRm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
anVzdGlmeVNlbGZGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlk
Ojpjb2x1bW5BeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJHcmlkOjpyb3dBeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZCBjb25zdCk6CisK
KyAgICAgICAgTW92ZXMgdGhlIGNvZGUgZm9yIGNvbGxlY3RpbmcgYmFzZWxpbmUgYWxpZ25lZCBj
aGlsZHJlbiBpbnRvIGEgc2hhcmVkIGhlbHBlciBmdW5jdGlvbiwgYW5kIGFkZHMKKyAgICAgICAg
c3VwcG9ydCBmb3IgcmVjdXJzaW5nIGludG8gc3ViZ3JpZCBjaGlsZHJlbiAocmVzdHJpY3RlZCB0
byB0aGUgYXhlcyB0aGF0IHN1YmdyaWQgd2FzIGFwcGxpZWQpLgorCisgICAgICAgIEZpeGVzIGFs
aWduL2p1c3RpZnlTZWxmRm9yQ2hpbGQgdG8gY2hlY2sgaWYgdGhlIGNoaWxkIGlzIGEgc3ViZ3Jp
ZCBhbmQgb3ZlcnJpZGVzIHRoZSByZXN1bHQgdG8gJ3N0cmV0Y2gnLCBzbworICAgICAgICB0aGF0
IHdlJ3JlIGNvcnJlY3RseSBzdHJldGNoaW5nIHN1YmdyaWRzLCBub3QgdGhlIGNoaWxkcmVuIG9m
IHN1YmdyaWRzIChjb3ZlcmVkIGJ5IG5ldyB0ZXN0cykuCisKIDIwMjItMDQtMTMgIEFuZHJlcyBH
b256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBmb3IgYWNjZXNz
aWJpbGl0eS90YWJsZS1hZGQtcmVtb3ZlLXJvd3MuaHRtbCBpbiBpc29sYXRlZCB0cmVlIG1vZGUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25t
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQu
Y3BwCmluZGV4IDIyM2UwMjhmMmEzZjc3N2Q5YjIyMGMwOTFhMzJlMWFiMDdjMDMyMWYuLmQxNDE1
NzZlN2Q1MmUwYWNhNmQ3MzBmOTM2ZjZiOGQ3MjQ5OWQzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFzZWxpbmVBbGlnbm1lbnQuY3BwCkBAIC02OCw2ICs2OCw3
IEBAIExheW91dFVuaXQgR3JpZEJhc2VsaW5lQWxpZ25tZW50Ojphc2NlbnRGb3JDaGlsZChjb25z
dCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkQXhpCiAgICAgTGF5b3V0VW5pdCBiYXNlbGluZShpc1Bh
cmFsbGVsVG9CYXNlbGluZUF4aXNGb3JDaGlsZChjaGlsZCwgYmFzZWxpbmVBeGlzKSA/IGNoaWxk
LmZpcnN0TGluZUJhc2VsaW5lKCkudmFsdWVfb3IoTGF5b3V0VW5pdCgtMSkpIDogTGF5b3V0VW5p
dCgtMSkpOwogICAgIC8vIFdlIHRha2UgYm9yZGVyLWJveCdzIHVuZGVyIGVkZ2UgaWYgbm8gdmFs
aWQgYmFzZWxpbmUuCiAgICAgaWYgKGJhc2VsaW5lID09IC0xKSB7CisgICAgICAgIEFTU0VSVCgh
Y2hpbGQubmVlZHNMYXlvdXQoKSk7CiAgICAgICAgIGlmIChpc0hvcml6b250YWxCYXNlbGluZUF4
aXMoYmFzZWxpbmVBeGlzKSkKICAgICAgICAgICAgIHJldHVybiBpc0ZsaXBwZWRXcml0aW5nTW9k
ZShtX2Jsb2NrRmxvdykgPyBjaGlsZC5zaXplKCkud2lkdGgoKS50b0ludCgpICsgbWFyZ2luIDog
bWFyZ2luOwogICAgICAgICByZXR1cm4gY2hpbGQuc2l6ZSgpLmhlaWdodCgpICsgbWFyZ2luOwpA
QCAtNzcsNiArNzgsNyBAQCBMYXlvdXRVbml0IEdyaWRCYXNlbGluZUFsaWdubWVudDo6YXNjZW50
Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgR3JpZEF4aQogCiBMYXlvdXRVbml0IEdy
aWRCYXNlbGluZUFsaWdubWVudDo6ZGVzY2VudEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hp
bGQsIExheW91dFVuaXQgYXNjZW50LCBHcmlkQXhpcyBiYXNlbGluZUF4aXMpIGNvbnN0CiB7Cisg
ICAgQVNTRVJUKCFjaGlsZC5uZWVkc0xheW91dCgpKTsKICAgICBpZiAoaXNQYXJhbGxlbFRvQmFz
ZWxpbmVBeGlzRm9yQ2hpbGQoY2hpbGQsIGJhc2VsaW5lQXhpcykpCiAgICAgICAgIHJldHVybiBj
aGlsZC5tYXJnaW5Mb2dpY2FsSGVpZ2h0KCkgKyBjaGlsZC5sb2dpY2FsSGVpZ2h0KCkgLSBhc2Nl
bnQ7CiAgICAgcmV0dXJuIGNoaWxkLm1hcmdpbkxvZ2ljYWxXaWR0aCgpICsgY2hpbGQubG9naWNh
bFdpZHRoKCkgLSBhc2NlbnQ7CkBAIC0xMjIsOSArMTI0LDggQEAgdm9pZCBHcmlkQmFzZWxpbmVB
bGlnbm1lbnQ6OnVwZGF0ZUJhc2VsaW5lQWxpZ25tZW50Q29udGV4dChJdGVtUG9zaXRpb24gcHJl
ZmVyZW4KICAgICAvLyBEZXRlcm1pbmUgQXNjZW50IGFuZCBEZXNjZW50IHZhbHVlcyBvZiB0aGlz
IGNoaWxkIHdpdGggcmVzcGVjdCB0bwogICAgIC8vIGl0cyBncmlkIGNvbnRhaW5lci4KICAgICBM
YXlvdXRVbml0IGFzY2VudCA9IGFzY2VudEZvckNoaWxkKGNoaWxkLCBiYXNlbGluZUF4aXMpOwot
ICAgIExheW91dFVuaXQgZGVzY2VudCA9IGRlc2NlbnRGb3JDaGlsZChjaGlsZCwgYXNjZW50LCBi
YXNlbGluZUF4aXMpOwogICAgIGlmIChpc0Rlc2NlbnRCYXNlbGluZUZvckNoaWxkKGNoaWxkLCBi
YXNlbGluZUF4aXMpKQotICAgICAgICBzdGQ6OnN3YXAoYXNjZW50LCBkZXNjZW50KTsKKyAgICAg
ICAgYXNjZW50ID0gZGVzY2VudEZvckNoaWxkKGNoaWxkLCBhc2NlbnQsIGJhc2VsaW5lQXhpcyk7
CiAKICAgICAvLyBMb29raW5nIHVwIGZvciBhIHNoYXJlZCBhbGlnbm1lbnQgY29udGV4dCBwZXJw
ZW5kaWN1bGFyIHRvIHRoZQogICAgIC8vIGJhc2VsaW5lIGF4aXMuCkBAIC0xMzQsMTAgKzEzNSwx
MCBAQCB2b2lkIEdyaWRCYXNlbGluZUFsaWdubWVudDo6dXBkYXRlQmFzZWxpbmVBbGlnbm1lbnRD
b250ZXh0KEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbgogCiAgICAgLy8gTG9va2luZyBmb3IgYSBjb21w
YXRpYmxlIGJhc2VsaW5lLXNoYXJpbmcgZ3JvdXAuCiAgICAgaWYgKGFkZFJlc3VsdC5pc05ld0Vu
dHJ5KQotICAgICAgICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gbWFrZVVuaXF1ZTxCYXNl
bGluZUNvbnRleHQ+KGNoaWxkLCBwcmVmZXJlbmNlLCBhc2NlbnQsIGRlc2NlbnQpOworICAgICAg
ICBhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gbWFrZVVuaXF1ZTxCYXNlbGluZUNvbnRleHQ+
KGNoaWxkLCBwcmVmZXJlbmNlLCBhc2NlbnQpOwogICAgIGVsc2UgewogICAgICAgICBhdXRvKiBj
b250ZXh0ID0gYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZS5nZXQoKTsKLSAgICAgICAgY29udGV4
dC0+dXBkYXRlU2hhcmVkR3JvdXAoY2hpbGQsIHByZWZlcmVuY2UsIGFzY2VudCwgZGVzY2VudCk7
CisgICAgICAgIGNvbnRleHQtPnVwZGF0ZVNoYXJlZEdyb3VwKGNoaWxkLCBwcmVmZXJlbmNlLCBh
c2NlbnQpOwogICAgIH0KIH0KIApAQCAtMTU5LDE3ICsxNjAsMTYgQEAgdm9pZCBHcmlkQmFzZWxp
bmVBbGlnbm1lbnQ6OmNsZWFyKEdyaWRBeGlzIGJhc2VsaW5lQXhpcykKIH0KIAogQmFzZWxpbmVH
cm91cDo6QmFzZWxpbmVHcm91cChXcml0aW5nTW9kZSBibG9ja0Zsb3csIEl0ZW1Qb3NpdGlvbiBj
aGlsZFByZWZlcmVuY2UpCi0gICAgOiBtX21heEFzY2VudCgwKSwgbV9tYXhEZXNjZW50KDApLCBt
X2l0ZW1zKCkKKyAgICA6IG1fbWF4QXNjZW50KDApLCBtX2l0ZW1zKCkKIHsKICAgICBtX2Jsb2Nr
RmxvdyA9IGJsb2NrRmxvdzsKICAgICBtX3ByZWZlcmVuY2UgPSBjaGlsZFByZWZlcmVuY2U7CiB9
CiAKLXZvaWQgQmFzZWxpbmVHcm91cDo6dXBkYXRlKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIExh
eW91dFVuaXQgYXNjZW50LCBMYXlvdXRVbml0IGRlc2NlbnQpCit2b2lkIEJhc2VsaW5lR3JvdXA6
OnVwZGF0ZShjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IGFzY2VudCkKIHsKICAg
ICBpZiAobV9pdGVtcy5hZGQoJmNoaWxkKS5pc05ld0VudHJ5KSB7CiAgICAgICAgIG1fbWF4QXNj
ZW50ID0gc3RkOjptYXgobV9tYXhBc2NlbnQsIGFzY2VudCk7Ci0gICAgICAgIG1fbWF4RGVzY2Vu
dCA9IHN0ZDo6bWF4KG1fbWF4RGVzY2VudCwgZGVzY2VudCk7CiAgICAgfQogfQogCkBAIC0yMDks
MTAgKzIwOSwxMCBAQCBib29sIEJhc2VsaW5lR3JvdXA6OmlzQ29tcGF0aWJsZShXcml0aW5nTW9k
ZSBjaGlsZEJsb2NrRmxvdywgSXRlbVBvc2l0aW9uIGNoaWxkUAogICAgIHJldHVybiAoKG1fYmxv
Y2tGbG93ID09IGNoaWxkQmxvY2tGbG93IHx8IGlzT3J0aG9nb25hbEJsb2NrRmxvdyhjaGlsZEJs
b2NrRmxvdykpICYmIG1fcHJlZmVyZW5jZSA9PSBjaGlsZFByZWZlcmVuY2UpIHx8IChpc09wcG9z
aXRlQmxvY2tGbG93KGNoaWxkQmxvY2tGbG93KSAmJiBtX3ByZWZlcmVuY2UgIT0gY2hpbGRQcmVm
ZXJlbmNlKTsKIH0KIAotQmFzZWxpbmVDb250ZXh0OjpCYXNlbGluZUNvbnRleHQoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCwgSXRlbVBvc2l0aW9uIHByZWZlcmVuY2UsIExheW91dFVuaXQgYXNjZW50
LCBMYXlvdXRVbml0IGRlc2NlbnQpCitCYXNlbGluZUNvbnRleHQ6OkJhc2VsaW5lQ29udGV4dChj
b25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSwgTGF5b3V0VW5p
dCBhc2NlbnQpCiB7CiAgICAgQVNTRVJUKGlzQmFzZWxpbmVQb3NpdGlvbihwcmVmZXJlbmNlKSk7
Ci0gICAgdXBkYXRlU2hhcmVkR3JvdXAoY2hpbGQsIHByZWZlcmVuY2UsIGFzY2VudCwgZGVzY2Vu
dCk7CisgICAgdXBkYXRlU2hhcmVkR3JvdXAoY2hpbGQsIHByZWZlcmVuY2UsIGFzY2VudCk7CiB9
CiAKIGNvbnN0IEJhc2VsaW5lR3JvdXAmIEJhc2VsaW5lQ29udGV4dDo6c2hhcmVkR3JvdXAoY29u
c3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvc2l0aW9uIHByZWZlcmVuY2UpIGNvbnN0CkBAIC0y
MjEsMTEgKzIyMSwxMSBAQCBjb25zdCBCYXNlbGluZUdyb3VwJiBCYXNlbGluZUNvbnRleHQ6OnNo
YXJlZEdyb3VwKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1QbwogICAgIHJldHVybiBjb25z
dF9jYXN0PEJhc2VsaW5lQ29udGV4dCo+KHRoaXMpLT5maW5kQ29tcGF0aWJsZVNoYXJlZEdyb3Vw
KGNoaWxkLCBwcmVmZXJlbmNlKTsKIH0KIAotdm9pZCBCYXNlbGluZUNvbnRleHQ6OnVwZGF0ZVNo
YXJlZEdyb3VwKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJlbmNl
LCBMYXlvdXRVbml0IGFzY2VudCwgTGF5b3V0VW5pdCBkZXNjZW50KQordm9pZCBCYXNlbGluZUNv
bnRleHQ6OnVwZGF0ZVNoYXJlZEdyb3VwKGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3Np
dGlvbiBwcmVmZXJlbmNlLCBMYXlvdXRVbml0IGFzY2VudCkKIHsKICAgICBBU1NFUlQoaXNCYXNl
bGluZVBvc2l0aW9uKHByZWZlcmVuY2UpKTsKICAgICBCYXNlbGluZUdyb3VwJiBncm91cCA9IGZp
bmRDb21wYXRpYmxlU2hhcmVkR3JvdXAoY2hpbGQsIHByZWZlcmVuY2UpOwotICAgIGdyb3VwLnVw
ZGF0ZShjaGlsZCwgYXNjZW50LCBkZXNjZW50KTsKKyAgICBncm91cC51cGRhdGUoY2hpbGQsIGFz
Y2VudCk7CiB9CiAKIC8vIEZJWE1FOiBQcm9wZXJseSBpbXBsZW1lbnQgYmFzZWxpbmUtZ3JvdXAg
Y29tcGF0aWJpbGl0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Hcmlk
QmFzZWxpbmVBbGlnbm1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkQmFzZWxp
bmVBbGlnbm1lbnQuaAppbmRleCAzMGUwZWM4ZmNkYjQwYTBlM2YyZTAwN2RhNjY0OTBiZjlkMDc3
YzVlLi43YzNmYjIxODlkM2MwYmIyM2JkMWM2ZWQ0MTljOGY1NmM2ZDBmYjZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZEJhc2VsaW5lQWxpZ25tZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRCYXNlbGluZUFsaWdubWVudC5oCkBAIC00OSwx
MSArNDksMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8KIGNsYXNzIEJhc2VsaW5lR3JvdXAg
ewogcHVibGljOgotICAgIC8vIEl0IHN0b3JlcyBhbiBpdGVtIChpZiBub3QgYWxyZWFkeSBwcmVz
ZW50KSBhbmQgdXBkYXRlIHRoZSBtYXhfYXNjZW50IGFuZCBtYXhfZGVzY2VudCBhc3NvY2lhdGVk
IHRvIHRoaXMKKyAgICAvLyBJdCBzdG9yZXMgYW4gaXRlbSAoaWYgbm90IGFscmVhZHkgcHJlc2Vu
dCkgYW5kIHVwZGF0ZSB0aGUgbWF4X2FzY2VudCBhc3NvY2lhdGVkIHRvIHRoaXMKICAgICAvLyBi
YXNlbGluZS1zaGFyaW5nIGdyb3VwLgotICAgIHZvaWQgdXBkYXRlKGNvbnN0IFJlbmRlckJveCYs
IExheW91dFVuaXQgYXNjZW50LCBMYXlvdXRVbml0IGRlc2NlbnQpOworICAgIHZvaWQgdXBkYXRl
KGNvbnN0IFJlbmRlckJveCYsIExheW91dFVuaXQgYXNjZW50KTsKICAgICBMYXlvdXRVbml0IG1h
eEFzY2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4QXNjZW50OyB9Ci0gICAgTGF5b3V0VW5pdCBt
YXhEZXNjZW50KCkgY29uc3QgeyByZXR1cm4gbV9tYXhEZXNjZW50OyB9CiAgICAgaW50IHNpemUo
KSBjb25zdCB7IHJldHVybiBtX2l0ZW1zLnNpemUoKTsgfQogCiBwcml2YXRlOgpAQCAtNzUsNyAr
NzQsNiBAQCBwcml2YXRlOgogICAgIFdyaXRpbmdNb2RlIG1fYmxvY2tGbG93OwogICAgIEl0ZW1Q
b3NpdGlvbiBtX3ByZWZlcmVuY2U7CiAgICAgTGF5b3V0VW5pdCBtX21heEFzY2VudDsKLSAgICBM
YXlvdXRVbml0IG1fbWF4RGVzY2VudDsKICAgICBIYXNoU2V0PGNvbnN0IFJlbmRlckJveCo+IG1f
aXRlbXM7CiB9OwogCkBAIC05OSwxMyArOTcsMTMgQEAgcHJpdmF0ZToKIGNsYXNzIEJhc2VsaW5l
Q29udGV4dCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQmFz
ZWxpbmVDb250ZXh0KGNvbnN0IFJlbmRlckJveCYgY2hpbGQsIEl0ZW1Qb3NpdGlvbiBwcmVmZXJl
bmNlLCBMYXlvdXRVbml0IGFzY2VudCwgTGF5b3V0VW5pdCBkZXNjZW50KTsKKyAgICBCYXNlbGlu
ZUNvbnRleHQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgSXRlbVBvc2l0aW9uIHByZWZlcmVuY2Us
IExheW91dFVuaXQgYXNjZW50KTsKICAgICBjb25zdCBCYXNlbGluZUdyb3VwJiBzaGFyZWRHcm91
cChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSkgY29uc3Q7
CiAKICAgICAvLyBVcGRhdGVzIHRoZSBiYXNlbGluZS1zaGFyaW5nIGdyb3VwIGNvbXBhdGlibGUg
d2l0aCB0aGUgaXRlbS4KICAgICAvLyBXZSBwYXNzIHRoZSBpdGVtJ3MgYmFzZWxpbmUtcHJlZmVy
ZW5jZSB0byBhdm9pZCBkZXBlbmRlbmNpZXMgd2l0aCB0aGUgTGF5b3V0R3JpZCBjbGFzcywgd2hp
Y2ggaXMgdGhlIG9uZQogICAgIC8vIG1hbmFnaW5nIHRoZSBhbGlnbm1lbnQgYmVoYXZpb3Igb2Yg
dGhlIEdyaWQgSXRlbXMuCi0gICAgdm9pZCB1cGRhdGVTaGFyZWRHcm91cChjb25zdCBSZW5kZXJC
b3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSwgTGF5b3V0VW5pdCBhc2NlbnQsIExh
eW91dFVuaXQgZGVzY2VudCk7CisgICAgdm9pZCB1cGRhdGVTaGFyZWRHcm91cChjb25zdCBSZW5k
ZXJCb3gmIGNoaWxkLCBJdGVtUG9zaXRpb24gcHJlZmVyZW5jZSwgTGF5b3V0VW5pdCBhc2NlbnQp
OwogCiBwcml2YXRlOgogICAgIC8vIFJldHVybnMgdGhlIGJhc2VsaW5lLXNoYXJpbmcgZ3JvdXAg
Y29tcGF0aWJsZSB3aXRoIGFuIGl0ZW0uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvR3JpZExheW91dEZ1bmN0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dy
aWRMYXlvdXRGdW5jdGlvbnMuaAppbmRleCA4NThmMTJkZmRkYTQyZWE1MGM3ZTU2MjhkMDNhNWNj
YjhlNTdjYjZkLi5hN2IxMWY4YjdmM2RlNWU3NDhhYzc2MWQ5ODc2ZTRkMWEzNDJmZjJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZExheW91dEZ1bmN0aW9ucy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkTGF5b3V0RnVuY3Rpb25zLmgKQEAgLTM0
LDcgKzM0LDEwIEBAIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiBjbGFz
cyBSZW5kZXJHcmlkOwogCi1lbnVtIEdyaWRBeGlzIHsgR3JpZFJvd0F4aXMsIEdyaWRDb2x1bW5B
eGlzIH07CitlbnVtIEdyaWRBeGlzIHsKKyAgICBHcmlkUm93QXhpcyA9IDEgPDwgMCwKKyAgICBH
cmlkQ29sdW1uQXhpcyA9IDEgPDwgMQorfTsKIAogbmFtZXNwYWNlIEdyaWRMYXlvdXRGdW5jdGlv
bnMgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0uY3BwCmluZGV4IGUyMWY0MGRjZmRiNzhkMzliMTc4MjFhMzYwYWM0MDllOTg2
YjgwODMuLjkwMWE3ODMzOWFlZmI0YmI2NjBlMGNiNDkwNzFjNmFjZTIxNjBkZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0u
Y3BwCkBAIC05MDksNiArOTA5LDEzIEBAIGJvb2wgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpj
YW5QYXJ0aWNpcGF0ZUluQmFzZWxpbmVBbGlnbm1lbnQoY29uc3QgUmVuZGVyQm94CiAgICAgaWYg
KGlzUGFyYWxsZWxUb0Jhc2VsaW5lQXhpcyAmJiBjaGlsZC5maXJzdExpbmVCYXNlbGluZSgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIC8vIEZJWE1FOiBXZSBkb24ndCBjdXJyZW50bHkg
YWxsb3cgaXRlbXMgd2l0aGluIHN1YmdyaWRzIHRoYXQgbmVlZCB0bworICAgIC8vIHN5bnRoZXNp
emUgYSBiYXNlbGluZSwgc2luY2Ugd2UgbmVlZCBhIGxheW91dCB0byBoYXZlIGJlZW4gY29tcGxl
dGVkCisgICAgLy8gYW5kIHBlcmZvcm1HcmlkSXRlbXNQcmVMYXlvdXQgb24gdGhlIG91dGVyIGdy
aWQgZG9lc24ndCBsYXlvdXQgc3ViZ3JpZAorICAgIC8vIGl0ZW1zLgorICAgIGlmIChjaGlsZC5w
YXJlbnQoKSAhPSByZW5kZXJHcmlkKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIC8v
IEJhc2VsaW5lIGN5Y2xpYyBkZXBlbmRlbmNpZXMgb25seSBoYXBwZW4gaW4gZ3JpZCBhcmVhcyB3
aXRoCiAgICAgLy8gaW50cmluc2ljYWxseS1zaXplZCB0cmFja3MuIAogICAgIGlmICghaXNJbnRy
aW5zaWNTaXplZEdyaWRBcmVhKGNoaWxkLCBiYXNlbGluZUF4aXMpKQpAQCAtOTI2LDcgKzkzMyw2
IEBAIHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjp1cGRhdGVCYXNlbGluZUFsaWdubWVu
dENvbnRleHQoY29uc3QgUmVuZGVyQm94JiBjCiB7CiAgICAgQVNTRVJUKHdhc1NldHVwKCkpOwog
ICAgIEFTU0VSVChjYW5QYXJ0aWNpcGF0ZUluQmFzZWxpbmVBbGlnbm1lbnQoY2hpbGQsIGJhc2Vs
aW5lQXhpcykpOwotICAgIEFTU0VSVCghY2hpbGQubmVlZHNMYXlvdXQoKSk7CiAKICAgICBJdGVt
UG9zaXRpb24gYWxpZ24gPSBtX3JlbmRlckdyaWQtPnNlbGZBbGlnbm1lbnRGb3JDaGlsZChiYXNl
bGluZUF4aXMsIGNoaWxkKS5wb3NpdGlvbigpOwogICAgIGNvbnN0IGF1dG8mIHNwYW4gPSBtX3Jl
bmRlckdyaWQtPmdyaWRTcGFuRm9yQ2hpbGQoY2hpbGQsIGdyaWREaXJlY3Rpb25Gb3JBeGlzKGJh
c2VsaW5lQXhpcykpOwpAQCAtOTM1LDYgKzk0MSwxMSBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0Fs
Z29yaXRobTo6dXBkYXRlQmFzZWxpbmVBbGlnbm1lbnRDb250ZXh0KGNvbnN0IFJlbmRlckJveCYg
YwogCiBMYXlvdXRVbml0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6YmFzZWxpbmVPZmZzZXRG
b3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkQXhpcyBiYXNlbGluZUF4aXMpIGNv
bnN0CiB7CisgICAgLy8gSWYgd2UgaGF2ZW4ndCB5ZXQgaW5pdGlhbGl6ZWQgdGhpcyBheGlzICh3
aGljaCBjYW4gYmUgdGhlIGNhc2UgaWYgd2UncmUgZG9pbmcKKyAgICAvLyBwcmVsYXlvdXQgb2Yg
YSBzdWJncmlkKSwgdGhlbiB3ZSBjYW4ndCBrbm93IHRoZSBiYXNlbGluZSBvZmZzZXQuCisgICAg
aWYgKHRyYWNrcyhncmlkRGlyZWN0aW9uRm9yQXhpcyhiYXNlbGluZUF4aXMpKS5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybiBMYXlvdXRVbml0KCk7CisKICAgICBpZiAoIXBhcnRpY2lwYXRlSW5C
YXNlbGluZUFsaWdubWVudChjaGlsZCwgYmFzZWxpbmVBeGlzKSkKICAgICAgICAgcmV0dXJuIExh
eW91dFVuaXQoKTsKIApAQCAtOTUxLDcgKzk2MiwxMSBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0Fs
Z29yaXRobTo6Y2xlYXJCYXNlbGluZUl0ZW1zQ2FjaGUoKQogCiB2b2lkIEdyaWRUcmFja1Npemlu
Z0FsZ29yaXRobTo6Y2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKGNvbnN0IFJlbmRlckJveCYgaXRl
bSwgR3JpZEF4aXMgYXhpcykKIHsKLSAgICBBU1NFUlQobV9yZW5kZXJHcmlkLT5pc0Jhc2VsaW5l
QWxpZ25tZW50Rm9yQ2hpbGQoaXRlbSwgYXhpcykpOworICAgIEFTU0VSVChkb3duY2FzdDxSZW5k
ZXJHcmlkPihpdGVtLnBhcmVudCgpKS0+aXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKGl0ZW0s
IGF4aXMpKTsKKworICAgIGlmIChHcmlkTGF5b3V0RnVuY3Rpb25zOjppc09ydGhvZ29uYWxQYXJl
bnQoKm1fcmVuZGVyR3JpZCwgKml0ZW0ucGFyZW50KCkpKQorICAgICAgICBheGlzID0gYXhpcyA9
PSBHcmlkQ29sdW1uQXhpcyA/IEdyaWRSb3dBeGlzIDogR3JpZENvbHVtbkF4aXM7CisKICAgICBp
ZiAoYXhpcyA9PSBHcmlkQ29sdW1uQXhpcykKICAgICAgICAgbV9jb2x1bW5CYXNlbGluZUl0ZW1z
TWFwLmFkZCgmaXRlbSwgdHJ1ZSk7CiAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCmluZGV4IDRkYzUxOGY3ZjljMTdl
NjhhNDdlYzQ1OWYxZmE3ZGZiNGU1M2Y5ODguLjE0ODhkZjJlZTZiNjllODA3YmU1NDQ1MDJkNGU0
NzExMjY1MjdiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtLmgKQEAgLTEyMiw3ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgLy8g
YW5kIGVuY2Fwc3VsYXRlIGFueSBhY2Nlc3MgaW4gdGhlIGFsZ29yaXRobSBjbGFzcy4KICAgICBH
cmlkJiBtdXRhYmxlR3JpZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ3JpZDsgfQogCi0gICAgY29uc3Qg
UmVuZGVyR3JpZCogcmVuZGVyR3JpZCgpIHsgcmV0dXJuIG1fcmVuZGVyR3JpZDsgfTsKKyAgICBj
b25zdCBSZW5kZXJHcmlkKiByZW5kZXJHcmlkKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJHcmlk
OyB9OwogCiAgICAgTGF5b3V0VW5pdCBtaW5Db250ZW50U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bWluQ29udGVudFNpemU7IH07CiAgICAgTGF5b3V0VW5pdCBtYXhDb250ZW50U2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWF4Q29udGVudFNpemU7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHAKaW5kZXggMWIzMGZhODI4NDUzMjA0ZTMzODg3MTIyNzRmMGJlYzZlM2Y1YWZh
ZS4uMjJlOTgxODg5ZTdiMWEzNDA0Njg5YWY0MDhkZmUxOGU0OGVmZjIwMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMTkyLDYgKzE5Miw0MCBAQCBib29sIFJl
bmRlckdyaWQ6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCkgY29uc3QKICAgICByZXR1cm4g
UmVuZGVyQmxvY2s6OmNhblBlcmZvcm1TaW1wbGlmaWVkTGF5b3V0KCk7CiB9CiAKK3RlbXBsYXRl
PHR5cGVuYW1lIEY+CitzdGF0aWMgdm9pZCBjYWNoZUJhc2VsaW5lQWxpZ25lZENoaWxkcmVuKGNv
bnN0IFJlbmRlckdyaWQmIGdyaWQsIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobSYgYWxnb3JpdGht
LCB1aW50MzJfdCBheGVzLCBGJiBjYWxsYmFjaykKK3sKKyAgICBmb3IgKGF1dG8qIGNoaWxkID0g
Z3JpZC5maXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0Jv
eCgpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hp
bGQtPmlzTGVnZW5kKCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBjYWxsYmFj
ayhjaGlsZCk7CisKKyAgICAgICAgLy8gV2Uga2VlcCBhIGNhY2hlIG9mIGl0ZW1zIHdpdGggYmFz
ZWxpbmUgYXMgYWxpZ25tZW50IHZhbHVlcyBzbyB0aGF0IHdlIG9ubHkgY29tcHV0ZSB0aGUgYmFz
ZWxpbmUgc2hpbXMgZm9yCisgICAgICAgIC8vIHN1Y2ggaXRlbXMuIFRoaXMgY2FjaGUgaXMgbmVl
ZGVkIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIHJlYXNvbnMgZHVlIHRvIHRoZSBjb3N0IG9mIGV2
YWx1YXRpbmcgdGhlIGl0ZW0ncworICAgICAgICAvLyBwYXJ0aWNpcGF0aW9uIGluIGEgYmFzZWxp
bmUgY29udGV4dCBkdXJpbmcgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0uCisgICAgICAgIHVp
bnQzMl90IGlubmVyQXhlcyA9IDA7CisgICAgICAgIFJlbmRlckdyaWQqIGlubmVyID0gaXM8UmVu
ZGVyR3JpZD4oY2hpbGQpID8gZG93bmNhc3Q8UmVuZGVyR3JpZD4oY2hpbGQpIDogbnVsbHB0cjsK
KworICAgICAgICBpZiAoYXhlcyAmIEdyaWRDb2x1bW5BeGlzKSB7CisgICAgICAgICAgICBpZiAo
aW5uZXIgJiYgaW5uZXItPmlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvclJvd3MpKQorICAg
ICAgICAgICAgICAgIGlubmVyQXhlcyB8PSBHcmlkTGF5b3V0RnVuY3Rpb25zOjppc09ydGhvZ29u
YWxDaGlsZChncmlkLCAqY2hpbGQpID8gR3JpZFJvd0F4aXMgOiBHcmlkQ29sdW1uQXhpczsKKyAg
ICAgICAgICAgIGVsc2UgaWYgKGdyaWQuaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGls
ZCwgR3JpZENvbHVtbkF4aXMpKQorICAgICAgICAgICAgICAgIGFsZ29yaXRobS5jYWNoZUJhc2Vs
aW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkQ29sdW1uQXhpcyk7CisgICAgICAgIH0KKworICAg
ICAgICBpZiAoYXhlcyAmIEdyaWRSb3dBeGlzKSB7CisgICAgICAgICAgICBpZiAoaW5uZXIgJiYg
aW5uZXItPmlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvckNvbHVtbnMpKQorICAgICAgICAg
ICAgICAgIGlubmVyQXhlcyB8PSBHcmlkTGF5b3V0RnVuY3Rpb25zOjppc09ydGhvZ29uYWxDaGls
ZChncmlkLCAqY2hpbGQpID8gR3JpZENvbHVtbkF4aXMgOiBHcmlkUm93QXhpczsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKGdyaWQuaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3Jp
ZFJvd0F4aXMpKQorICAgICAgICAgICAgICAgIGFsZ29yaXRobS5jYWNoZUJhc2VsaW5lQWxpZ25l
ZEl0ZW0oKmNoaWxkLCBHcmlkUm93QXhpcyk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaW5u
ZXJBeGVzKQorICAgICAgICAgICAgY2FjaGVCYXNlbGluZUFsaWduZWRDaGlsZHJlbigqaW5uZXIs
IGFsZ29yaXRobSwgaW5uZXJBeGVzLCBjYWxsYmFjayk7CisgICAgfQorfQorCiBWZWN0b3I8UmVu
ZGVyQm94Kj4gUmVuZGVyR3JpZDo6Y29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kZW50QW5kQmFzZWxp
bmVJdGVtcygpCiB7CiAgICAgVmVjdG9yPFJlbmRlckJveCo+IGRlcGVuZGVudEdyaWRJdGVtczsK
QEAgLTIwMCwxNSArMjM0LDcgQEAgVmVjdG9yPFJlbmRlckJveCo+IFJlbmRlckdyaWQ6OmNvbXB1
dGVBc3BlY3RSYXRpb0RlcGVuZGVudEFuZEJhc2VsaW5lSXRlbXMoKQogICAgIG1faGFzQW55T3J0
aG9nb25hbEl0ZW0gPSBmYWxzZTsKICAgICBtX2hhc0FzcGVjdFJhdGlvQmxvY2tTaXplRGVwZW5k
ZW50SXRlbSA9IGZhbHNlOwogCi0gICAgZm9yIChhdXRvKiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3go
KTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgaWYg
KGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGlsZC0+aXNMZWdlbmQoKSkKLSAg
ICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIC8vIEdyaWQncyBsYXlvdXQgbG9naWMgY29u
dHJvbHMgdGhlIGdyaWQgaXRlbSdzIG92ZXJyaWRlIGhlaWdodCwgaGVuY2Ugd2UgbmVlZCB0bwot
ICAgICAgICAvLyBjbGVhciBhbnkgb3ZlcnJpZGUgaGVpZ2h0IHNldCBwcmV2aW91c2x5LCBzbyBp
dCBkb2Vzbid0IGludGVyZmVyZSBpbiBjdXJyZW50IGxheW91dAotICAgICAgICAvLyBleGVjdXRp
b24uIEdyaWQgbmV2ZXIgdXNlcyB0aGUgb3ZlcnJpZGUgd2lkdGgsIHRoYXQncyB3aHkgd2UgZG9u
J3QgbmVlZCB0byBjbGVhciAgaXQuCi0gICAgICAgIGNoaWxkLT5jbGVhck92ZXJyaWRpbmdMb2dp
Y2FsSGVpZ2h0KCk7Ci0KKyAgICBhdXRvIGNvbXB1dGVPcnRob2dvbmFsQW5kRGVwZW5kZW50SXRl
bXMgPSBbJl0oUmVuZGVyQm94KiBjaGlsZCkgewogICAgICAgICAvLyBHcmlkJ3MgbGF5b3V0IGxv
Z2ljIGNvbnRyb2xzIHRoZSBncmlkIGl0ZW0ncyBvdmVycmlkZSBoZWlnaHQsIGhlbmNlIHdlIG5l
ZWQgdG8KICAgICAgICAgLy8gY2xlYXIgYW55IG92ZXJyaWRlIGhlaWdodCBzZXQgcHJldmlvdXNs
eSwgc28gaXQgZG9lc24ndCBpbnRlcmZlcmUgaW4gY3VycmVudCBsYXlvdXQKICAgICAgICAgLy8g
ZXhlY3V0aW9uLiBHcmlkIG5ldmVyIHVzZXMgdGhlIG92ZXJyaWRlIHdpZHRoLCB0aGF0J3Mgd2h5
IHdlIGRvbid0IG5lZWQgdG8gY2xlYXIgIGl0LgpAQCAtMjI0LDE2ICsyNTAsOSBAQCBWZWN0b3I8
UmVuZGVyQm94Kj4gUmVuZGVyR3JpZDo6Y29tcHV0ZUFzcGVjdFJhdGlvRGVwZW5kZW50QW5kQmFz
ZWxpbmVJdGVtcygpCiAgICAgICAgICAgICBkZXBlbmRlbnRHcmlkSXRlbXMuYXBwZW5kKGNoaWxk
KTsKICAgICAgICAgICAgIG1faGFzQXNwZWN0UmF0aW9CbG9ja1NpemVEZXBlbmRlbnRJdGVtID0g
dHJ1ZTsKICAgICAgICAgfQorICAgIH07CiAKLSAgICAgICAgLy8gV2Uga2VlcCBhIGNhY2hlIG9m
IGl0ZW1zIHdpdGggYmFzZWxpbmUgYXMgYWxpZ2NubWVudCB2YWx1ZXMgc28gdGhhdCB3ZSBvbmx5
IGNvbXB1dGUgdGhlIGJhc2VsaW5lIHNoaW1zIGZvcgotICAgICAgICAvLyBzdWNoIGl0ZW1zLiBU
aGlzIGNhY2hlIGlzIG5lZWRlZCBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCByZWFzb25zIGR1ZSB0
byB0aGUgY29zdCBvZiBldmFsdWF0aW5nIHRoZSBpdGVtJ3MKLSAgICAgICAgLy8gcGFydGljaXBh
dGlvbiBpbiBhIGJhc2VsaW5lIGNvbnRleHQgZHVyaW5nIHRoZSB0cmFjayBzaXppbmcgYWxnb3Jp
dGhtLgotICAgICAgICBpZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3Jp
ZENvbHVtbkF4aXMpKQotICAgICAgICAgICAgbV90cmFja1NpemluZ0FsZ29yaXRobS5jYWNoZUJh
c2VsaW5lQWxpZ25lZEl0ZW0oKmNoaWxkLCBHcmlkQ29sdW1uQXhpcyk7Ci0gICAgICAgIGlmIChp
c0Jhc2VsaW5lQWxpZ25tZW50Rm9yQ2hpbGQoKmNoaWxkLCBHcmlkUm93QXhpcykpCi0gICAgICAg
ICAgICBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNhY2hlQmFzZWxpbmVBbGlnbmVkSXRlbSgqY2hp
bGQsIEdyaWRSb3dBeGlzKTsKLSAgICB9Ci0KKyAgICBjYWNoZUJhc2VsaW5lQWxpZ25lZENoaWxk
cmVuKCp0aGlzLCBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLCBHcmlkUm93QXhpcyB8IEdyaWRDb2x1
bW5BeGlzLCBjb21wdXRlT3J0aG9nb25hbEFuZERlcGVuZGVudEl0ZW1zKTsKICAgICByZXR1cm4g
ZGVwZW5kZW50R3JpZEl0ZW1zOwogfQogCkBAIC00NzcsMTIgKzQ5Niw4IEBAIHZvaWQgUmVuZGVy
R3JpZDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNh
bFdpZHRoLCBMYXlvCiAgICAgICAgIGlmIChtX2Jhc2VsaW5lSXRlbXNDYWNoZWQpCiAgICAgICAg
ICAgICBhbGdvcml0aG0uY29weUJhc2VsaW5lSXRlbXNDYWNoZShtX3RyYWNrU2l6aW5nQWxnb3Jp
dGhtLCBHcmlkUm93QXhpcyk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgZm9yIChhdXRv
KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJs
aW5nQm94KCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRp
b25lZCgpKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBp
ZiAoaXNCYXNlbGluZUFsaWdubWVudEZvckNoaWxkKCpjaGlsZCwgR3JpZFJvd0F4aXMpKQotICAg
ICAgICAgICAgICAgICAgICBhbGdvcml0aG0uY2FjaGVCYXNlbGluZUFsaWduZWRJdGVtKCpjaGls
ZCwgR3JpZFJvd0F4aXMpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgYXV0byBlbXB0eUNh
bGxiYWNrID0gW10oUmVuZGVyQm94KikgeyB9OworICAgICAgICAgICAgY2FjaGVCYXNlbGluZUFs
aWduZWRDaGlsZHJlbigqdGhpcywgYWxnb3JpdGhtLCBHcmlkUm93QXhpcywgZW1wdHlDYWxsYmFj
ayk7CiAgICAgICAgIH0KIAogICAgICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckluZGVmaW5pdGVT
aXplKGFsZ29yaXRobSwgRm9yQ29sdW1ucywgJm1pbkxvZ2ljYWxXaWR0aCwgJm1heExvZ2ljYWxX
aWR0aCk7CkBAIC03ODMsNiArNzk4LDggQEAgdm9pZCBSZW5kZXJHcmlkOjpwZXJmb3JtR3JpZEl0
ZW1zUHJlTGF5b3V0KGNvbnN0IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobSYgYWxnb3IKICAgICAg
ICAgLy8gV2UgbmVlZCB0byBsYXlvdXQgdGhlIGl0ZW0gdG8ga25vdyB3aGV0aGVyIGl0IG11c3Qg
c3ludGhlc2l6ZSBpdHMKICAgICAgICAgLy8gYmFzZWxpbmUgb3Igbm90LCB3aGljaCBtYXkgaW1w
bHkgYSBjeWNsaWMgc2l6aW5nIGRlcGVuZGVuY3kuCiAgICAgICAgIC8vIEZJWE1FOiBDYW4gd2Ug
YXZvaWQgaXQgPworICAgICAgICAvLyBGSVhNRTogV2UgYWxzbyB3YW50IHRvIGxheW91dCBiYXNl
bGluZSBhbGlnbmVkIGl0ZW1zIHdpdGhpbiBzdWJncmlkcywgYnV0CisgICAgICAgIC8vIHdlIGRv
bid0IGN1cnJlbnRseSBoYXZlIGEgd2F5IHRvIGRvIHRoYXQgaGVyZS4KICAgICAgICAgaWYgKGlz
QmFzZWxpbmVBbGlnbm1lbnRGb3JDaGlsZCgqY2hpbGQpKSB7CiAgICAgICAgICAgICB1cGRhdGVH
cmlkQXJlYUxvZ2ljYWxTaXplKCpjaGlsZCwgYWxnb3JpdGhtLmVzdGltYXRlZEdyaWRBcmVhQnJl
YWR0aEZvckNoaWxkKCpjaGlsZCwgRm9yQ29sdW1ucyksIGFsZ29yaXRobS5lc3RpbWF0ZWRHcmlk
QXJlYUJyZWFkdGhGb3JDaGlsZCgqY2hpbGQsIEZvclJvd3MpKTsKICAgICAgICAgICAgIGNoaWxk
LT5sYXlvdXRJZk5lZWRlZCgpOwpAQCAtMTIyNiw3ICsxMjQzLDcgQEAgTGF5b3V0VW5pdCBSZW5k
ZXJHcmlkOjphdmFpbGFibGVBbGlnbm1lbnRTcGFjZUZvckNoaWxkQmVmb3JlU3RyZXRjaGluZyhM
YXlvdXRVbmkKIAogU3R5bGVTZWxmQWxpZ25tZW50RGF0YSBSZW5kZXJHcmlkOjphbGlnblNlbGZG
b3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkLCBTdHJldGNoaW5nTW9kZSBzdHJldGNoaW5n
TW9kZSwgY29uc3QgUmVuZGVyU3R5bGUqIGdyaWRTdHlsZSkgY29uc3QKIHsKLSAgICBpZiAoaXNT
dWJncmlkSW5QYXJlbnREaXJlY3Rpb24oRm9yUm93cykpCisgICAgaWYgKGlzPFJlbmRlckdyaWQ+
KGNoaWxkKSAmJiBkb3duY2FzdDxSZW5kZXJHcmlkPihjaGlsZCkuaXNTdWJncmlkSW5QYXJlbnRE
aXJlY3Rpb24oRm9yUm93cykpCiAgICAgICAgIHJldHVybiB7IEl0ZW1Qb3NpdGlvbjo6U3RyZXRj
aCwgT3ZlcmZsb3dBbGlnbm1lbnQ6OkRlZmF1bHQgfTsKICAgICBpZiAoIWdyaWRTdHlsZSkKICAg
ICAgICAgZ3JpZFN0eWxlID0gJnN0eWxlKCk7CkBAIC0xMjM2LDcgKzEyNTMsNyBAQCBTdHlsZVNl
bGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6OmFsaWduU2VsZkZvckNoaWxkKGNvbnN0IFJlbmRl
ckJveCYgY2hpbGQsIFN0cgogCiBTdHlsZVNlbGZBbGlnbm1lbnREYXRhIFJlbmRlckdyaWQ6Omp1
c3RpZnlTZWxmRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCwgU3RyZXRjaGluZ01vZGUg
c3RyZXRjaGluZ01vZGUsIGNvbnN0IFJlbmRlclN0eWxlKiBncmlkU3R5bGUpIGNvbnN0CiB7Ci0g
ICAgaWYgKGlzU3ViZ3JpZEluUGFyZW50RGlyZWN0aW9uKEZvckNvbHVtbnMpKQorICAgIGlmIChp
czxSZW5kZXJHcmlkPihjaGlsZCkgJiYgZG93bmNhc3Q8UmVuZGVyR3JpZD4oY2hpbGQpLmlzU3Vi
Z3JpZEluUGFyZW50RGlyZWN0aW9uKEZvckNvbHVtbnMpKQogICAgICAgICByZXR1cm4geyBJdGVt
UG9zaXRpb246OlN0cmV0Y2gsIE92ZXJmbG93QWxpZ25tZW50OjpEZWZhdWx0IH07CiAgICAgaWYg
KCFncmlkU3R5bGUpCiAgICAgICAgIGdyaWRTdHlsZSA9ICZzdHlsZSgpOwpAQCAtMTQ1NywxMSAr
MTQ3NCwyMyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckdyaWQ6OmlubGluZUJs
b2NrQmFzZWxpbmUoTGluZURpcmVjdGlvbk1vZGUpIGNvbgogCiBMYXlvdXRVbml0IFJlbmRlckdy
aWQ6OmNvbHVtbkF4aXNCYXNlbGluZU9mZnNldEZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hp
bGQpIGNvbnN0CiB7CisgICAgaWYgKGlzU3ViZ3JpZFJvd3MoKSkgeworICAgICAgICBSZW5kZXJH
cmlkKiBvdXRlciA9IGRvd25jYXN0PFJlbmRlckdyaWQ+KHBhcmVudCgpKTsKKyAgICAgICAgaWYg
KEdyaWRMYXlvdXRGdW5jdGlvbnM6OmlzT3J0aG9nb25hbENoaWxkKCpvdXRlciwgKnRoaXMpKQor
ICAgICAgICAgICAgcmV0dXJuIG91dGVyLT5yb3dBeGlzQmFzZWxpbmVPZmZzZXRGb3JDaGlsZChj
aGlsZCk7CisgICAgICAgIHJldHVybiBvdXRlci0+Y29sdW1uQXhpc0Jhc2VsaW5lT2Zmc2V0Rm9y
Q2hpbGQoY2hpbGQpOworICAgIH0KICAgICByZXR1cm4gbV90cmFja1NpemluZ0FsZ29yaXRobS5i
YXNlbGluZU9mZnNldEZvckNoaWxkKGNoaWxkLCBHcmlkQ29sdW1uQXhpcyk7CiB9CiAKIExheW91
dFVuaXQgUmVuZGVyR3JpZDo6cm93QXhpc0Jhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKKyAgICBpZiAoaXNTdWJncmlkQ29sdW1ucygpKSB7Cisg
ICAgICAgIFJlbmRlckdyaWQqIG91dGVyID0gZG93bmNhc3Q8UmVuZGVyR3JpZD4ocGFyZW50KCkp
OworICAgICAgICBpZiAoR3JpZExheW91dEZ1bmN0aW9uczo6aXNPcnRob2dvbmFsQ2hpbGQoKm91
dGVyLCAqdGhpcykpCisgICAgICAgICAgICByZXR1cm4gb3V0ZXItPmNvbHVtbkF4aXNCYXNlbGlu
ZU9mZnNldEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgcmV0dXJuIG91dGVyLT5yb3dBeGlzQmFz
ZWxpbmVPZmZzZXRGb3JDaGlsZChjaGlsZCk7CisgICAgfQogICAgIHJldHVybiBtX3RyYWNrU2l6
aW5nQWxnb3JpdGhtLmJhc2VsaW5lT2Zmc2V0Rm9yQ2hpbGQoY2hpbGQsIEdyaWRSb3dBeGlzKTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggY2E5YjQzYzI2ZjNjNzg2OWUy
OWUyNTdjOWQ3NzMxODUwODM1OWYwMC4uYzdkNThhM2Q0ZjI0NDY1MzZiNjMyMzIxNmY4YjkxOWI4
NmZkNmQ0NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMjItMDQtMDYgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KKworICAg
ICAgICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgYWxpZ25pbmcgYmFzZWxpbmVzIHRocm91Z2ggc3Vi
Z3JpZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
ODY0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwMi1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3N1YmdyaWQvYmFzZWxpbmUtMDAyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNlbGluZS0wMDMtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJn
cmlkL2Jhc2VsaW5lLTAwMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDA0LWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9iYXNl
bGluZS0wMDQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9zdWJncmlkL2Jhc2VsaW5lLTAwNS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvYmFzZWxpbmUtMDA1
Lmh0bWw6IEFkZGVkLgorCisgICAgICAgIEFkZGVkIG5ldyBXUFQgdmFyaWFudHMgb2YgdGhlIGJh
c2VsaW5lIHRlc3RzLCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIGludHJvc3BlY3RlZCBzdWJncmlk
CisgICAgICAgIGhhcyBwYWRkaW5nIHRoYXQgYWZmZWN0cyB0aGUgYmFzZWxpbmUgcG9zaXRpb24s
IGFuZCBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhlIHN1YmdyaWQgdXNlcyBhbgorICAgICAgICBvcnRo
b2dvbmFsIHdyaXRpbmcgbW9kZS4KKwogMjAyMi0wNC0xMyAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NTUyBDb250YWluZXIgUXVlcmllc10gTGltaXQgcXVl
cnkgcmFuZ2Ugc3ludGF4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAx
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAxLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGQ0YjBkY2NmMjExZDQ2MzM2ZTQxYjNmMjI1ZmNlODA2MjljODZjZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDEtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPjxoZWFkPgorICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5SZWZlcmVuY2U6IGJhc2VsaW5lLWFsaWdu
ZWQgc3ViZ3JpZCBpdGVtIHdpdGggcGFkZGluZzwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9y
IiB0aXRsZT0iTWF0dCBXb29kcm93IiBocmVmPSJtYWlsdG86bWF0dHdvb2Ryb3dAYXBwbGUuY29t
Ij4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2ZvbnRz
L2FoZW0uY3NzIj4KKyAgPHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6YmxhY2s7IGJhY2tn
cm91bmQtY29sb3I6d2hpdGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsgbWFyZ2luOjA7
Cit9CisKKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZDogMjBweCByZXBlYXQoNCwg
YXV0bykgMzBweCAvIDMwcHggcmVwZWF0KDQsIGF1dG8pIDIwcHg7CisgIHBsYWNlLWNvbnRlbnQ6
IHN0YXJ0OworICBwbGFjZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7CisgIGJvcmRlcjogMXB4IHNv
bGlkOworICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBibHVlOworfQorCisuc3ViZ3JpZCB7
CisgIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTsKKyAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDQ7Cisg
IGdyaWQtcm93OiAzIC8gc3BhbiAyOworICBtaW4td2lkdGg6IDEwcHg7CisgIG1pbi1oZWlnaHQ6
IDA7CisgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgcGFkZGluZy10b3A6IDIwcHg7Cit9CisKK3gs
IHogeworICBkaXNwbGF5OiBibG9jazsKKyAgbWluLXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0
OiAxMHB4OworICBmb250LXNpemU6IDhlbTsKKyAgYmFja2dyb3VuZDogc2lsdmVyOworfQoreiB7
CisgIHdpZHRoOiAyMHB4OworICBoZWlnaHQ6IDEwcHg7Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJncmlkIj4KKzx5IHN0eWxlPSJncmlkLWFyZWE6My8x
Ij5BJm5ic3A7PC95PgorPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgIDx6Pjwvej48eD4mbmJzcDtB
PC94PgorPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3Vi
Z3JpZC9zdWJncmlkLWJhc2VsaW5lLTAwMS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLWJhc2VsaW5l
LTAwMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1NDY5YzAwMThlMGE5Nzc4NmFmZjA4NmMwY2FiYWYwODFj
ZWQ3YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAxLmh0
bWwKQEAgLTAsMCArMSw1NiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD48aGVhZD4KKyAgPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorICA8dGl0bGU+Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxp
Z25lZCBzdWJncmlkIGl0ZW0gd2l0aCBwYWRkaW5nPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJNYXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5j
b20iPgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9j
c3MtZ3JpZC0yIj4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJl
Zj0iL2ZvbnRzL2FoZW0uY3NzIj4KKyAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0ic3ViZ3JpZC1i
YXNlbGluZS0wMDEtcmVmLmh0bWwiPgorICA8c3R5bGU+CitodG1sLGJvZHkgeworICBjb2xvcjpi
bGFjazsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgQWhlbTsgcGFkZGluZzow
OyBtYXJnaW46MDsKK30KKworLmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlkOiAyMHB4
IHJlcGVhdCg0LCBhdXRvKSAzMHB4IC8gMzBweCByZXBlYXQoNCwgYXV0bykgMjBweDsKKyAgcGxh
Y2UtY29udGVudDogc3RhcnQ7CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFydDsKKyAgYm9y
ZGVyOiAxcHggc29saWQ7CisgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGJsdWU7Cit9CisK
Ky5zdWJncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZDogc3ViZ3JpZCAvIGF1dG87Cisg
IGJhY2tncm91bmQ6IGxpZ2h0Z3JleTsKKyAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDQ7CisgIGdy
aWQtcm93OiAzIC8gc3BhbiAyOworICBtaW4td2lkdGg6IDEwcHg7CisgIG1pbi1oZWlnaHQ6IDA7
CisgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgcGxhY2UtY29udGVudDogaW5oZXJpdDsKKyAgcGxh
Y2UtaXRlbXM6IGluaGVyaXQ7CisgIHBhZGRpbmctdG9wOiAyMHB4OworfQorCit4IHsKKyAgbWlu
LXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAxMHB4OworICBmb250LXNpemU6IDhlbTsKKyAg
YmFja2dyb3VuZDogc2lsdmVyOworfQorCisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKwor
PGRpdiBjbGFzcz0iZ3JpZCI+Cis8eSBzdHlsZT0iZ3JpZC1hcmVhOjQvMSI+QSZuYnNwOzwveT4K
KzxkaXYgY2xhc3M9InN1YmdyaWQiPgorICA8eCBzdHlsZT0iZ3JpZC1yb3c6MiI+Jm5ic3A7QTwv
eD48eD48L3g+Cis8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1
YmdyaWQtYmFzZWxpbmUtMDAyLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzAwOGQzMWUwMzBh
NGUxNzg2ZWVjOWI3ZThjYzQyN2M2NjBhZjQ4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQv
c3ViZ3JpZC1iYXNlbGluZS0wMDItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDU0IEBACis8IURP
Q1RZUEUgSFRNTD4KKzxodG1sPjxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDx0
aXRsZT5SZWZlcmVuY2U6IGJhc2VsaW5lLWFsaWduZWQgc3ViZ3JpZCBpdGVtIHdpdGggb3J0aG9n
b25hbCB3cml0aW5nLW1vZGU8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1h
dHQgV29vZHJvdyIgaHJlZj0ibWFpbHRvOm1hdHR3b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9mb250cy9haGVtLmNzcyI+
CisgIDxzdHlsZT4KK2h0bWwsYm9keSB7CisgIGNvbG9yOmJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9y
OndoaXRlOyBmb250OjE2cHgvMSBBaGVtOyBwYWRkaW5nOjA7IG1hcmdpbjowOworfQorCisuZ3Jp
ZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIGdyaWQ6IDIwcHggcmVwZWF0KDQsIGF1dG8pIDMwcHgg
LyAzMHB4IHJlcGVhdCg0LCBhdXRvKSAyMHB4OworICBwbGFjZS1jb250ZW50OiBzdGFydDsKKyAg
cGxhY2UtaXRlbXM6IGJhc2VsaW5lIHN0YXJ0OworICBib3JkZXI6IDFweCBzb2xpZDsKKyAgdGV4
dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgYmx1ZTsKK30KKworLnN1YmdyaWQgeworICBiYWNrZ3Jv
dW5kOiBsaWdodGdyZXk7CisgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiA0OworICBncmlkLXJvdzog
MyAvIHNwYW4gMjsKKyAgbWluLXdpZHRoOiAxMHB4OworICBtaW4taGVpZ2h0OiAwOworICBiYWNr
Z3JvdW5kOiB5ZWxsb3c7Cit9CisKK3gsIHogeworICBkaXNwbGF5OiBibG9jazsKKyAgbWluLXdp
ZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAxMHB4OworICBmb250LXNpemU6IDhlbTsKKyAgYmFj
a2dyb3VuZDogc2lsdmVyOworfQoreiB7CisgIHdpZHRoOiAyMHB4OworICBoZWlnaHQ6IDEwcHg7
Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJncmlkIj4K
Kzx5IHN0eWxlPSJncmlkLWFyZWE6My8xIj5BJm5ic3A7PC95PgorPGRpdiBjbGFzcz0ic3ViZ3Jp
ZCI+CisgIDx6Pjwvej48eCBzdHlsZT0ibWFyZ2luLWxlZnQ6IDIwcHgiPiZuYnNwO0E8L3g+Cis8
L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1
YmdyaWQtYmFzZWxpbmUtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTJhMTdkN2NjNGI0NTAyZWQ4YzUxYTE5NWY0ZWUwNDYyMGMzZGE5Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDIuaHRtbApAQCAt
MCwwICsxLDU3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPjxoZWFkPgorICA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+CisgIDx0aXRsZT5DU1MgR3JpZCBUZXN0OiBiYXNlbGluZS1hbGlnbmVkIHN1
YmdyaWQgaXRlbSB3aXRoIG9ydGhvZ29uYWwgd3JpdGluZy1tb2RlPC90aXRsZT4KKyAgPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdvb2Ryb3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJv
d0BhcHBsZS5jb20iPgorICA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0
L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3NzIj4KKyAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0i
c3ViZ3JpZC1iYXNlbGluZS0wMDItcmVmLmh0bWwiPgorICA8c3R5bGU+CitodG1sLGJvZHkgewor
ICBjb2xvcjpibGFjazsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgZm9udDoxNnB4LzEgQWhlbTsg
cGFkZGluZzowOyBtYXJnaW46MDsKK30KKworLmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBn
cmlkOiAyMHB4IHJlcGVhdCg0LCBhdXRvKSAzMHB4IC8gMzBweCByZXBlYXQoNCwgYXV0bykgMjBw
eDsKKyAgcGxhY2UtY29udGVudDogc3RhcnQ7CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFy
dDsKKyAgYm9yZGVyOiAxcHggc29saWQ7CisgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGJs
dWU7Cit9CisKKy5zdWJncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZDogYXV0byAvIHN1
YmdyaWQ7CisgIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTsKKyAgZ3JpZC1jb2x1bW46IDIgLyBzcGFu
IDQ7CisgIGdyaWQtcm93OiAzIC8gc3BhbiAyOworICBtaW4td2lkdGg6IDEwcHg7CisgIG1pbi1o
ZWlnaHQ6IDA7CisgIGJhY2tncm91bmQ6IHllbGxvdzsKKyAgcGxhY2UtY29udGVudDogaW5oZXJp
dDsKKyAgcGxhY2UtaXRlbXM6IHN0YXJ0IGJhc2VsaW5lOworICB3cml0aW5nLW1vZGU6IHZlcnRp
Y2FsLXJsOworfQorCit4IHsKKyAgbWluLXdpZHRoOiAyMHB4OworICBtaW4taGVpZ2h0OiAxMHB4
OworICBmb250LXNpemU6IDhlbTsKKyAgYmFja2dyb3VuZDogc2lsdmVyOworICB3cml0aW5nLW1v
ZGU6IGhvcml6b250YWwtdGI7Cit9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCis8
ZGl2IGNsYXNzPSJncmlkIj4KKzx5IHN0eWxlPSJncmlkLWFyZWE6NC8xIj5BJm5ic3A7PC95Pgor
PGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgIDx4IHN0eWxlPSJncmlkLWNvbHVtbjoyIj4mbmJzcDtB
PC94Pjx4PjwveD4KKzwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQv
c3ViZ3JpZC1iYXNlbGluZS0wMDMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNmRhMjU0ZDg4
NzlkMmY2N2VkMjYyYjFmZTA0M2YyOWFmMDZiMWViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3Jp
ZC9zdWJncmlkLWJhc2VsaW5lLTAwMy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwh
RE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
ICA8dGl0bGU+Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW08L3Rp
dGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFp
bHRvOm1hdHR3b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLTIiPgorICA8bGluayByZWw9InN0eWxlc2hl
ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvZm9udHMvYWhlbS5jc3MiPgorICA8c3R5bGU+Cito
dG1sLGJvZHkgeworICBjb2xvcjpibGFjazsgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgZm9udDox
NnB4LzEgQWhlbTsgcGFkZGluZzowOyBtYXJnaW46MDsKK30KKworLmdyaWQgeworICBkaXNwbGF5
OiBncmlkOworICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bzsKKyAgbWF4LXdpZHRo
OiAxMDBweDsKKyAgcGxhY2UtaXRlbXM6IGJhc2VsaW5lIHN0YXJ0OworfQorCisuZmlyc3Qgewor
ICBmb250LXNpemU6IDNlbTsKK30KKworLnNlY29uZCB7CisgIGZvbnQtc2l6ZTogMmVtOworfQor
ICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdiBj
bGFzcz0iZmlyc3QiPkE8L2Rpdj4KKyAgPGRpdiBjbGFzcz0ic2Vjb25kIj5BPC9kaXY+Cis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLWJhc2Vs
aW5lLTAwMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWdyaWQvc3ViZ3JpZC9zdWJncmlkLWJhc2VsaW5lLTAwMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRhOGU1NTBmYjRmMWZjYjk2MjI1ZmNjMjE5NDkxZDdiYmJmNzYzMDYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDAzLmh0bWwKQEAgLTAsMCArMSw1MiBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+CisgIDx0aXRsZT5DU1MgR3JpZCBUZXN0OiBiYXNlbGluZS1hbGlnbmVkIHN1YmdyaWQgaXRl
bTwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTWF0dCBXb29kcm93IiBocmVm
PSJtYWlsdG86bWF0dHdvb2Ryb3dAYXBwbGUuY29tIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWdyaWQtMiI+CisgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9mb250cy9haGVtLmNzcyI+CisgIDxsaW5r
IHJlbD0ibWF0Y2giIGhyZWY9InN1YmdyaWQtYmFzZWxpbmUtMDAzLXJlZi5odG1sIj4KKyAgPHN0
eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6YmxhY2s7IGJhY2tncm91bmQtY29sb3I6d2hpdGU7
IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsgbWFyZ2luOjA7Cit9CisKKy5ncmlkIHsKKyAg
ZGlzcGxheTogZ3JpZDsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87CisgIGdy
aWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvOworICBtYXgtd2lkdGg6IDEwMHB4OworICBwbGFj
ZS1pdGVtczogYmFzZWxpbmUgc3RhcnQ7Cit9CisKKy5zdWJncmlkIHsKKyAgZGlzcGxheTogZ3Jp
ZDsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkOworICBncmlkLXJvdzogMSAvIDM7Cisg
IGdyaWQtY29sdW1uOiAyOworCisgIHBhZGRpbmctYm90dG9tOiAyMHB4OworICBwbGFjZS1pdGVt
czogaW5oZXJpdDsKK30KKworLmZpcnN0IHsKKyAgZm9udC1zaXplOiAzZW07CisgIGdyaWQtcm93
OiAyOworfQorCisuc2Vjb25kIHsKKyAgZm9udC1zaXplOiAyZW07CisgIGdyaWQtcm93OiAyOwor
fQorICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRp
diBjbGFzcz0iZmlyc3QiPkE8L2Rpdj4KKyAgPGRpdiBjbGFzcz0ic3ViZ3JpZCI+CisgICAgPGRp
diBjbGFzcz0ic2Vjb25kIj5BPC9kaXY+CisgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT48L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDA0LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9zdWJncmlkL3N1YmdyaWQtYmFzZWxpbmUtMDA0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDI0MGRmMTY1OWU0MDhiY2I0ODYwN2M2MjMzYzQyYTg5Nzg3M2E1YwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDQtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDM2IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKyAgPHRpdGxlPkNTUyBHcmlkIFRlc3Q6IGJhc2VsaW5lLWFsaWduZWQgc3Vi
Z3JpZCBpdGVtPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJNYXR0IFdvb2Ry
b3ciIGhyZWY9Im1haWx0bzptYXR0d29vZHJvd0BhcHBsZS5jb20iPgorICA8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtZ3JpZC0yIj4KKyAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iL2ZvbnRzL2FoZW0uY3NzIj4K
KyAgPHN0eWxlPgoraHRtbCxib2R5IHsKKyAgY29sb3I6YmxhY2s7IGJhY2tncm91bmQtY29sb3I6
d2hpdGU7IGZvbnQ6MTZweC8xIEFoZW07IHBhZGRpbmc6MDsgbWFyZ2luOjA7Cit9CisKKy5ncmlk
IHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4IDUwcHg7
CisgIHBsYWNlLWl0ZW1zOiBiYXNlbGluZSBzdGFydDsKK30KKworLmZpcnN0IHsKKyAgZm9udC1z
aXplOiAzZW07Cit9CisKKy5zZWNvbmQgeworICBmb250LXNpemU6IDJlbTsKK30KKyAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xhc3M9ImZp
cnN0Ij5BPC9kaXY+CisgIDxkaXYgY2xhc3M9InNlY29uZCI+QTwvZGl2PgorPC9kaXY+CisKKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL3N1YmdyaWQvc3ViZ3JpZC1iYXNlbGluZS0wMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMmJj
YWNjYzMzMDYyOGY1MzJlN2UyY2YxY2YxODdjOGIxN2ZjNWFkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
c3ViZ3JpZC9zdWJncmlkLWJhc2VsaW5lLTAwNC5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzwhRE9D
VFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKyAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgorICA8
dGl0bGU+Q1NTIEdyaWQgVGVzdDogYmFzZWxpbmUtYWxpZ25lZCBzdWJncmlkIGl0ZW08L3RpdGxl
PgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik1hdHQgV29vZHJvdyIgaHJlZj0ibWFpbHRv
Om1hdHR3b29kcm93QGFwcGxlLmNvbSI+CisgIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1ncmlkLTIiPgorICA8bGluayByZWw9InN0eWxlc2hlZXQi
IHR5cGU9InRleHQvY3NzIiBocmVmPSIvZm9udHMvYWhlbS5jc3MiPgorICA8bGluayByZWw9Im1h
dGNoIiBocmVmPSJzdWJncmlkLWJhc2VsaW5lLTAwNC1yZWYuaHRtbCI+CisgIDxzdHlsZT4KK2h0
bWwsYm9keSB7CisgIGNvbG9yOmJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBmb250OjE2
cHgvMSBBaGVtOyBwYWRkaW5nOjA7IG1hcmdpbjowOworfQorCisuZ3JpZCB7CisgIGRpc3BsYXk6
IGdyaWQ7CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCA1MHB4OworICBncmlkLXRlbXBs
YXRlLXJvd3M6IGF1dG8gYXV0bzsKKyAgcGxhY2UtaXRlbXM6IGJhc2VsaW5lIHN0YXJ0OworfQor
Cisuc3ViZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczog
c3ViZ3JpZDsKKyAgZ3JpZC1yb3c6IDEgLyAzOworICBncmlkLWNvbHVtbjogMjsKKworICBwYWRk
aW5nLWJvdHRvbTogMjBweDsKKyAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjsKKyAgcGxhY2Ut
aXRlbXM6IHN0YXJ0IGJhc2VsaW5lOworfQorCisuZmlyc3QgeworICBmb250LXNpemU6IDNlbTsK
KyAgZ3JpZC1yb3c6IDI7Cit9CisKKy5zZWNvbmQgeworICBmb250LXNpemU6IDJlbTsKKyAgZ3Jp
ZC1jb2x1bW46IDI7CisgIHdyaXRpbmctbW9kZTogaG9yaXpvbnRhbC10YjsKK30KKyAgPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0iZ3JpZCI+CisgIDxkaXYgY2xhc3M9ImZp
cnN0Ij5BPC9kaXY+CisgIDxkaXYgY2xhc3M9InN1YmdyaWQiPgorICAgIDxkaXYgY2xhc3M9InNl
Y29uZCI+QTwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>