<?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>200713</bug_id>
          
          <creation_ts>2019-08-14 07:33:00 -0700</creation_ts>
          <short_desc>Make mock libwebrtc tests run with unified plan</short_desc>
          <delta_ts>2019-08-15 10:13:43 -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>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1561147</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-14 07:33:00 -0700</bug_when>
    <thetext>Make mock libwebrtc tests run with unified plan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561149</commentid>
    <comment_count>1</comment_count>
      <attachid>376262</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-14 07:36:59 -0700</bug_when>
    <thetext>Created attachment 376262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561151</commentid>
    <comment_count>2</comment_count>
      <attachid>376263</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-14 07:44:17 -0700</bug_when>
    <thetext>Created attachment 376263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561152</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-08-14 07:46:33 -0700</bug_when>
    <thetext>Attachment 376263 did not pass style-queue:


ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:170:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:194:  media_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:213:  media_type is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:214:  Use &apos;WTF::Optional&lt;&gt;&apos; instead of &apos;std::optional&lt;&gt;&apos;.  [runtime/wtf_optional] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:219:  Use &apos;WTF::Optional&lt;&gt;&apos; instead of &apos;std::optional&lt;&gt;&apos;.  [runtime/wtf_optional] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:219:  current_direction is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:232:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:235:  local_streams is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:236:  remote_streams is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:237:  local_description is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:238:  remote_description is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:240:  signaling_state is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:241:  ice_connection_state is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/testing/MockLibWebRTCPeerConnection.h:242:  ice_gathering_state is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 14 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561559</commentid>
    <comment_count>4</comment_count>
      <attachid>376263</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-08-15 08:56:52 -0700</bug_when>
    <thetext>Comment on attachment 376263
Patch

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

&gt; LayoutTests/fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html:-10
&gt; -                testRunner.setWebRTCUnifiedPlanEnabled(false);

Could we also remove this from TestRunner.idl and the related piping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561568</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-08-15 09:06:14 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 376263 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=376263&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/mediastream/RTCPeerConnection-remotely-assigned-transceiver-mid.html:-10
&gt; &gt; -                testRunner.setWebRTCUnifiedPlanEnabled(false);
&gt; 
&gt; Could we also remove this from TestRunner.idl and the related piping?

Not yet, this is required by some tests specific to plan B for the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561588</commentid>
    <comment_count>6</comment_count>
      <attachid>376263</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-15 10:12:58 -0700</bug_when>
    <thetext>Comment on attachment 376263
Patch

Clearing flags on attachment: 376263

Committed r248718: &lt;https://trac.webkit.org/changeset/248718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561589</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-15 10:13:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561590</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-15 10:13:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/54351089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376262</attachid>
            <date>2019-08-14 07:36:59 -0700</date>
            <delta_ts>2019-08-14 07:44:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200713-20190814163653.patch</filename>
            <type>text/plain</type>
            <size>29857</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCAxMzQzNWFkYmU0MTUyNTFhN2ZmNjhiODYzYjJlNDkwMWUwMmM3ZjllLi4xZjBm
ZmUzOTgxZmI1ZDdhZTE4NzIyMGYxNjIyZGVlNDM2MmJjM2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wOC0xNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBtb2NrIGxpYndlYnJ0YyB0
ZXN0cyBydW4gd2l0aCB1bmlmaWVkIHBsYW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMDcxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHA6Cisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHA6CisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHA6CisKIDIwMTktMDgtMDIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBidWlsZCBjaGVjayBmb3Ig
bGlid2VicnRjIE9iamVjdGl2ZUMgbmFtZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0NjdjNmZhZmRhMDdiZDFj
Y2Y3YWRjNzI4MGMwOWQ4YzhiMjZmMjYwLi40Mzc1NmMzZWNmYjRmYTkxOGFhMTQ0YjQ1NDk4Yjdi
Y2MxMWE2NzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTktMDgtMTQgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgbW9jayBsaWJ3ZWJy
dGMgdGVzdHMgcnVuIHdpdGggdW5pZmllZCBwbGFuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDA3MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgbW9jayBlbmRwb2ludCB0byBwYXNzIG1vY2sg
d2VicnRjIHRlc3RzIHdpdGggdW5pZmllZCBwbGFuLgorICAgICAgICBUaGlzIHJlcXVpcmVzIGlt
cGxlbWVudGluZyBzdXBwb3J0IGZvciBtb2NrIHRyYW5zY2VpdmVycy4KKyAgICAgICAgQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6dXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFj
dG9yeSk6CisgICAgICAgIFVwZGF0ZSBhc3NlcnQgdG8gbWFuZGF0ZSB1bmlmaWVkIHBsYW4uCisg
ICAgICAgICogdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjp+TW9ja0xpYldlYlJUQ1Bl
ZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tMaWJXZWJSVENQZWVyQ29ubmVj
dGlvbjo6R2V0VHJhbnNjZWl2ZXJzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tMaWJX
ZWJSVENQZWVyQ29ubmVjdGlvbjo6QWRkVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0xp
YldlYlJUQ1BlZXJDb25uZWN0aW9uOjpSZW1vdmVUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246OkNyZWF0ZU9mZmVyKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbjo6Q3JlYXRlQW5zd2VyKToKKyAgICAgICAg
KiB0ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6TW9ja1J0cFNlbmRlcjo6TW9ja1J0cFNlbmRlcik6CisgICAgICAgIChXZWJDb3JlOjpNb2Nr
UnRwUmVjZWl2ZXI6OmlkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSdHBSZWNlaXZl
cjo6R2V0UGFyYW1ldGVycyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUnRwUmVjZWl2
ZXI6OlNldFBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1J0cFJlY2VpdmVyOjpT
ZXRPYnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUnRwVHJhbnNjZWl2ZXI6Ok1vY2tS
dHBUcmFuc2NlaXZlcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTGliV2ViUlRDUGVlckNvbm5l
Y3Rpb246Ok1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246OmdvdExvY2FsRGVzY3JpcHRpb24pOgorCiAyMDE5
LTA4LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRh
dGUgV29ya2VyOjpub3RpZnlGaW5pc2hlZCB0byBub3QgdXNlIGVtcHR5U2Vzc2lvbklECmRpZmYg
LS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2Vi
cnRjLmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMv
bGlid2VicnRjLmlPUy5leHAKaW5kZXggNjQ2ZDhkNGNiZGUwZTYyZmJlMjdjZjlhNDg2YjM0MzE0
YzNhNzUyMS4uMDJlZGZlZTkxY2MxYTA1MzI1OWE4ODM1MGI2NjJmYTY3OWEwZDQwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0
Yy5pT1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9u
cy9saWJ3ZWJydGMuaU9TLmV4cApAQCAtMjQ4LDMgKzI0OCwxMiBAQCBfX1pONndlYnJ0YzE2UnRw
UnR4UGFyYW1ldGVyc0MxRVJLUzBfCiBfX1pONndlYnJ0YzE2UnRwUnR4UGFyYW1ldGVyc0QxRXYK
IF9fWk4zcnRjMTBMb2dNZXNzYWdlMTJTZXRMb2dPdXRwdXRFTlNfMTVMb2dnaW5nU2V2ZXJpdHlF
UEZ2UzFfUEtjRQogX19aTjZ3ZWJydGMxM0NyeXB0b09wdGlvbnM1Tm9HY21FdgorX19aTjZ3ZWJy
dGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlMTdTZXRGcmFtZURlY3J5cHRvckVOM3J0YzEzc2NvcGVk
X3JlZnB0cklOU18yM0ZyYW1lRGVjcnlwdG9ySW50ZXJmYWNlRUVFCitfX1pONndlYnJ0YzIzUnRw
VHJhbnNjZWl2ZXJJbnRlcmZhY2UxOVNldENvZGVjUHJlZmVyZW5jZXNFTjNydGM5QXJyYXlWaWV3
SU5TXzE4UnRwQ29kZWNDYXBhYmlsaXR5RUxsbjQ3MTFFRUUKK19fWk5LNndlYnJ0YzIwUnRwUmVj
ZWl2ZXJJbnRlcmZhY2UxMEdldFNvdXJjZXNFdgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlcklu
dGVyZmFjZTEwc3RyZWFtX2lkc0V2CitfX1pOSzZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNl
MTdHZXRGcmFtZURlY3J5cHRvckV2CitfX1pOSzZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNl
N3N0cmVhbXNFdgorX19aTks2d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTE1ZmlyZWRf
ZGlyZWN0aW9uRXYKK19fWlRWTjZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlRQorX19aVFZO
NndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2VFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAgYi9T
b3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3Np
bS5leHAKaW5kZXggOTgwYzNmNDk1MTM5ZTlkODZkMDNhNWVjMDZjZjk4YTg5YzI3NDA3My4uZDlh
MzgwMDE4Y2QyODU3ZDRkN2JjOTYxNTFmMWM5Y2FiOTMwZWZlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhw
CisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJy
dGMuaU9Tc2ltLmV4cApAQCAtMjQ5LDMgKzI0OSwxMiBAQCBfX1pONndlYnJ0YzE2UnRwUnR4UGFy
YW1ldGVyc0MxRVJLUzBfCiBfX1pONndlYnJ0YzE2UnRwUnR4UGFyYW1ldGVyc0QxRXYKIF9fWk4z
cnRjMTBMb2dNZXNzYWdlMTJTZXRMb2dPdXRwdXRFTlNfMTVMb2dnaW5nU2V2ZXJpdHlFUEZ2UzFf
UEtjRQogX19aTjZ3ZWJydGMxM0NyeXB0b09wdGlvbnM1Tm9HY21FdgorX19aTjZ3ZWJydGMyMFJ0
cFJlY2VpdmVySW50ZXJmYWNlMTdTZXRGcmFtZURlY3J5cHRvckVOM3J0YzEzc2NvcGVkX3JlZnB0
cklOU18yM0ZyYW1lRGVjcnlwdG9ySW50ZXJmYWNlRUVFCitfX1pONndlYnJ0YzIzUnRwVHJhbnNj
ZWl2ZXJJbnRlcmZhY2UxOVNldENvZGVjUHJlZmVyZW5jZXNFTjNydGM5QXJyYXlWaWV3SU5TXzE4
UnRwQ29kZWNDYXBhYmlsaXR5RUxsbjQ3MTFFRUUKK19fWk5LNndlYnJ0YzIwUnRwUmVjZWl2ZXJJ
bnRlcmZhY2UxMEdldFNvdXJjZXNFdgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFj
ZTEwc3RyZWFtX2lkc0V2CitfX1pOSzZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlMTdHZXRG
cmFtZURlY3J5cHRvckV2CitfX1pOSzZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlN3N0cmVh
bXNFdgorX19aTks2d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTE1ZmlyZWRfZGlyZWN0
aW9uRXYKK19fWlRWTjZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlRQorX19aVFZONndlYnJ0
YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2VFCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKaW5kZXgg
OTgwYzNmNDk1MTM5ZTlkODZkMDNhNWVjMDZjZjk4YTg5YzI3NDA3My4uZDlhMzgwMDE4Y2QyODU3
ZDRkN2JjOTYxNTFmMWM5Y2FiOTMwZWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCisrKyBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApAQCAt
MjQ5LDMgKzI0OSwxMiBAQCBfX1pONndlYnJ0YzE2UnRwUnR4UGFyYW1ldGVyc0MxRVJLUzBfCiBf
X1pONndlYnJ0YzE2UnRwUnR4UGFyYW1ldGVyc0QxRXYKIF9fWk4zcnRjMTBMb2dNZXNzYWdlMTJT
ZXRMb2dPdXRwdXRFTlNfMTVMb2dnaW5nU2V2ZXJpdHlFUEZ2UzFfUEtjRQogX19aTjZ3ZWJydGMx
M0NyeXB0b09wdGlvbnM1Tm9HY21FdgorX19aTjZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNl
MTdTZXRGcmFtZURlY3J5cHRvckVOM3J0YzEzc2NvcGVkX3JlZnB0cklOU18yM0ZyYW1lRGVjcnlw
dG9ySW50ZXJmYWNlRUVFCitfX1pONndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UxOVNl
dENvZGVjUHJlZmVyZW5jZXNFTjNydGM5QXJyYXlWaWV3SU5TXzE4UnRwQ29kZWNDYXBhYmlsaXR5
RUxsbjQ3MTFFRUUKK19fWk5LNndlYnJ0YzIwUnRwUmVjZWl2ZXJJbnRlcmZhY2UxMEdldFNvdXJj
ZXNFdgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZTEwc3RyZWFtX2lkc0V2Citf
X1pOSzZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlMTdHZXRGcmFtZURlY3J5cHRvckV2Citf
X1pOSzZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlN3N0cmVhbXNFdgorX19aTks2d2VicnRj
MjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTE1ZmlyZWRfZGlyZWN0aW9uRXYKK19fWlRWTjZ3ZWJy
dGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlRQorX19aVFZONndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJ
bnRlcmZhY2VFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZTE3OGI0OTY4
NTg3NTUxYmYwNzA0ZDgzMDIwNTYyZGQxMmRmNGViYi4uMjQ2NmJmZTUzZjlmYTc4MDZkNzI0Yjgx
ZWQ0NzcwYTM5YWY5OTEzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAt
MTQzNCw5ICsxNDM0LDcgQEAgdm9pZCBJbnRlcm5hbHM6OmVtdWxhdGVSVENQZWVyQ29ubmVjdGlv
blBsYXRmb3JtRXZlbnQoUlRDUGVlckNvbm5lY3Rpb24mIGNvbm5lY3QKIAogdm9pZCBJbnRlcm5h
bHM6OnVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoY29uc3QgU3RyaW5nJiB0ZXN0Q2Fz
ZSkKIHsKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVwZ3JhZGUgbW9ja3MgdG8gc3VwcG9ydCB1
bmlmaWVkIHBsYW4gQVBJcywgdW50aWwgdGhlbiB1c2UgcGxhbiBCIGluIHRlc3RzIHVzaW5nIG1v
Y2suCi0KLSAgICBBU1NFUlQoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkud2ViUlRDVW5pZmllZFBsYW5FbmFibGVkKCkpOworICAgIEFTU0VSVChSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYlJUQ1VuaWZpZWRQbGFuRW5hYmxlZCgpKTsK
ICAgICBpZiAoIUxpYldlYlJUQ1Byb3ZpZGVyOjp3ZWJSVENBdmFpbGFibGUoKSkKICAgICAgICAg
cmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJS
VENQZWVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJS
VENQZWVyQ29ubmVjdGlvbi5jcHAKaW5kZXggYzBjMGNiZjFjNTYxOTExOTYzY2Q4ZTI5ODRjZWIw
ZmI1MjI3NTQ2MS4uODM0NmMyMzVmNTRmZjc4YjQ2YzdkYzg4MWJiZDNiMjFkM2Q1YWQzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25u
ZWN0aW9uLmNwcApAQCAtNzEsOCArNzEsMTYgQEAgdm9pZCB1c2VNb2NrUlRDUGVlckNvbm5lY3Rp
b25GYWN0b3J5KExpYldlYlJUQ1Byb3ZpZGVyKiBwcm92aWRlciwgY29uc3QgU3RyaW5nJgogCiBN
b2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246On5Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24o
KQogewotICAgIC8vIEZyZWUgc2VuZGVycyBpbiBhIGRpZmZlcmVudCB0aHJlYWQgbGlrZSBhbiBh
Y3R1YWwgcGVlciBjb25uZWN0aW9uIHdvdWxkIHByb2JhYmx5IGRvLgotICAgIFRocmVhZDo6Y3Jl
YXRlKCJNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24gdGhyZWFkIiwgW3NlbmRlcnMgPSBXVEZN
b3ZlKG1fc2VuZGVycyldIHsgfSk7CisgICAgLy8gRnJlZSBzZW5kZXJzIGFuZCByZWNlaXZlcnMg
aW4gYSBkaWZmZXJlbnQgdGhyZWFkIGxpa2UgYW4gYWN0dWFsIHBlZXIgY29ubmVjdGlvbiB3b3Vs
ZCBwcm9iYWJseSBkby4KKyAgICBUaHJlYWQ6OmNyZWF0ZSgiTW9ja0xpYldlYlJUQ1BlZXJDb25u
ZWN0aW9uIHRocmVhZCIsIFt0cmFuc2NlaXZlcnMgPSBXVEZNb3ZlKG1fdHJhbnNjZWl2ZXJzKV0g
eyB9KTsKK30KKworc3RkOjp2ZWN0b3I8cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwVHJh
bnNjZWl2ZXJJbnRlcmZhY2U+PiBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246OkdldFRyYW5z
Y2VpdmVycygpIGNvbnN0Cit7CisgICAgc3RkOjp2ZWN0b3I8cnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6UnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2U+PiB0cmFuc2NlaXZlcnM7CisgICAgZm9yIChh
dXRvIHRyYW5zY2VpdmVyIDogbV90cmFuc2NlaXZlcnMpCisgICAgICAgIHRyYW5zY2VpdmVycy5w
dXNoX2JhY2sodHJhbnNjZWl2ZXIpOworICAgIHJldHVybiB0cmFuc2NlaXZlcnM7CiB9CiAKIGNs
YXNzIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkZvckljZUNhbmRpZGF0ZXMgOiBwdWJsaWMg
TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uIHsKQEAgLTI1NCw4ICsyNjIsMTIgQEAgd2VicnRj
OjpSVENFcnJvck9yPHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFj
ZT4+IE1vY2tMaWJXZWJSVEMKICAgICBpZiAoIXN0cmVhbUlkcy5lbXB0eSgpKQogICAgICAgICBt
X3N0cmVhbUxhYmVsID0gc3RyZWFtSWRzLmZyb250KCk7CiAKLSAgICBtX3NlbmRlcnMuYXBwZW5k
KG5ldyBydGM6OlJlZkNvdW50ZWRPYmplY3Q8TW9ja1J0cFNlbmRlcj4oV1RGTW92ZSh0cmFjaykp
KTsKLSAgICByZXR1cm4gcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJm
YWNlPihtX3NlbmRlcnMubGFzdCgpLmdldCgpKTsKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IHNlbmRlciA9IG5ldyBydGM6OlJlZkNvdW50ZWRPYmpl
Y3Q8TW9ja1J0cFNlbmRlcj4oV1RGTW92ZSh0cmFjaykpOworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiByZWNlaXZlciA9IG5ldyBydGM6OlJlZkNv
dW50ZWRPYmplY3Q8TW9ja1J0cFJlY2VpdmVyPigpOworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjxN
b2NrUnRwVHJhbnNjZWl2ZXI+IHRyYW5zY2VpdmVyID0gbmV3IHJ0Yzo6UmVmQ291bnRlZE9iamVj
dDxNb2NrUnRwVHJhbnNjZWl2ZXI+KFdURk1vdmUoc2VuZGVyKSwgV1RGTW92ZShyZWNlaXZlcikp
OworCisgICAgbV90cmFuc2NlaXZlcnMuYXBwZW5kKFdURk1vdmUodHJhbnNjZWl2ZXIpKTsKKyAg
ICByZXR1cm4gcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlPiht
X3RyYW5zY2VpdmVycy5sYXN0KCktPnNlbmRlcigpKTsKIH0KIAogYm9vbCBNb2NrTGliV2ViUlRD
UGVlckNvbm5lY3Rpb246OlJlbW92ZVRyYWNrKHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlKiBz
ZW5kZXIpCkBAIC0yNjQsOCArMjc2LDggQEAgYm9vbCBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rp
b246OlJlbW92ZVRyYWNrKHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlKiBzZW5kZXIKICAgICAg
ICAgb2JzZXJ2ZXItPk9uUmVuZWdvdGlhdGlvbk5lZWRlZCgpOwogICAgIH0pOwogICAgIGJvb2wg
aXNSZW1vdmVkID0gZmFsc2U7Ci0gICAgcmV0dXJuIG1fc2VuZGVycy5yZW1vdmVGaXJzdE1hdGNo
aW5nKFsmXShhdXRvJiBpdGVtKSB7Ci0gICAgICAgIGlmIChpdGVtLmdldCgpICE9IHNlbmRlcikK
KyAgICByZXR1cm4gbV90cmFuc2NlaXZlcnMucmVtb3ZlRmlyc3RNYXRjaGluZyhbJl0oYXV0byYg
dHJhbnNjZWl2ZXIpIHsKKyAgICAgICAgaWYgKHRyYW5zY2VpdmVyLT5zZW5kZXIoKS5nZXQoKSAh
PSBzZW5kZXIpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlzUmVtb3ZlZCA9
IHRydWU7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjgxLDExICsyOTMsMTEgQEAgdm9pZCBN
b2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246OkNyZWF0ZU9mZmVyKHdlYnJ0Yzo6Q3JlYXRlU2Vz
c2lvbkRlc2NyaXB0aW9uT2IKICAgICAgICAgICAgICJvPS0gNTY2NzA5NDY0NDI2NjkzMDg0NSAi
IDw8IG1fY291bnRlcisrIDw8ICIgSU4gSVA0IDEyNy4wLjAuMVxyXG4iCiAgICAgICAgICAgICAi
cz0tXHJcbiIKICAgICAgICAgICAgICJ0PTAgMFxyXG4iOwotICAgICAgICBpZiAobV9zZW5kZXJz
LnNpemUoKSkgeworICAgICAgICBpZiAobV90cmFuc2NlaXZlcnMuc2l6ZSgpKSB7CiAgICAgICAg
ICAgICB1bnNpZ25lZCBwYXJ0Q291bnRlciA9IDE7CiAgICAgICAgICAgICBzZHAgPDwgImE9bXNp
ZC1zZW1hbnRpYzpXTVMgIiA8PCBtX3N0cmVhbUxhYmVsIDw8ICJcclxuIjsKLSAgICAgICAgICAg
IGZvciAoYXV0byYgc2VuZGVyIDogbV9zZW5kZXJzKSB7Ci0gICAgICAgICAgICAgICAgYXV0byB0
cmFjayA9IHNlbmRlci0+dHJhY2soKTsKKyAgICAgICAgICAgIGZvciAoYXV0byYgdHJhbnNjZWl2
ZXIgOiBtX3RyYW5zY2VpdmVycykgeworICAgICAgICAgICAgICAgIGF1dG8gdHJhY2sgPSB0cmFu
c2NlaXZlci0+c2VuZGVyKCktPnRyYWNrKCk7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWNrLT5r
aW5kKCkgIT0gImF1ZGlvIikKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
ICAgICAgICAgc2RwIDw8CkBAIC0zMDQsOCArMzE2LDggQEAgdm9pZCBNb2NrTGliV2ViUlRDUGVl
ckNvbm5lY3Rpb246OkNyZWF0ZU9mZmVyKHdlYnJ0Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9u
T2IKICAgICAgICAgICAgICAgICAgICAgImE9ZmluZ2VycHJpbnQ6c2hhLTI1NiA4Qjo4NzowOTo4
QTo1RDpDMjpGMzozMzpFRjpDNTpCMTpGNjo4NDozQTozRDpENjpBMzpFMjo5QzoxNzo0QzpFNzo0
NjozQjoxQjpDRTo4NDo5ODpERDo4RTpBRjo3QlxyXG4iCiAgICAgICAgICAgICAgICAgICAgICJh
PXNldHVwOmFjdHBhc3NcclxuIjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAoYXV0
byYgc2VuZGVyIDogbV9zZW5kZXJzKSB7Ci0gICAgICAgICAgICAgICAgYXV0byB0cmFjayA9IHNl
bmRlci0+dHJhY2soKTsKKyAgICAgICAgICAgIGZvciAoYXV0byYgdHJhbnNjZWl2ZXIgOiBtX3Ry
YW5zY2VpdmVycykgeworICAgICAgICAgICAgICAgIGF1dG8gdHJhY2sgPSB0cmFuc2NlaXZlci0+
c2VuZGVyKCktPnRyYWNrKCk7CiAgICAgICAgICAgICAgICAgaWYgKHRyYWNrLT5raW5kKCkgIT0g
InZpZGVvIikKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAg
c2RwIDw8CkBAIC0zNDUsOSArMzU3LDkgQEAgdm9pZCBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rp
b246OkNyZWF0ZU9mZmVyKHdlYnJ0Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uT2IKICAgICAg
ICAgICAgICJvPS0gNTY2NzA5NDY0NDI2NjkzMDg0NiAiIDw8IG1fY291bnRlcisrIDw8ICIgSU4g
SVA0IDEyNy4wLjAuMVxyXG4iCiAgICAgICAgICAgICAicz0tXHJcbiIKICAgICAgICAgICAgICJ0
PTAgMFxyXG4iOwotICAgICAgICBpZiAobV9zZW5kZXJzLnNpemUoKSkgewotICAgICAgICAgICAg
Zm9yIChhdXRvJiBzZW5kZXIgOiBtX3NlbmRlcnMpIHsKLSAgICAgICAgICAgICAgICBhdXRvIHRy
YWNrID0gc2VuZGVyLT50cmFjaygpOworICAgICAgICBpZiAobV90cmFuc2NlaXZlcnMuc2l6ZSgp
KSB7CisgICAgICAgICAgICBmb3IgKGF1dG8mIHRyYW5zY2VpdmVyIDogbV90cmFuc2NlaXZlcnMp
IHsKKyAgICAgICAgICAgICAgICBhdXRvIHRyYWNrID0gdHJhbnNjZWl2ZXItPnNlbmRlcigpLT50
cmFjaygpOwogICAgICAgICAgICAgICAgIGlmICh0cmFjay0+a2luZCgpICE9ICJhdWRpbyIpCiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIHNkcCA8PApAQCAt
MzY1LDggKzM3Nyw4IEBAIHZvaWQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpDcmVhdGVP
ZmZlcih3ZWJydGM6OkNyZWF0ZVNlc3Npb25EZXNjcmlwdGlvbk9iCiAgICAgICAgICAgICAgICAg
ICAgICJhPWZpbmdlcnByaW50OnNoYS0yNTYgOEI6ODc6MDk6OEE6NUQ6QzI6RjM6MzM6RUY6QzU6
QjE6RjY6ODQ6M0E6M0Q6RDY6QTM6RTI6OUM6MTc6NEM6RTc6NDY6M0I6MUI6Q0U6ODQ6OTg6REQ6
OEU6QUY6N0JcclxuIgogICAgICAgICAgICAgICAgICAgICAiYT1zZXR1cDphY3RpdmVcclxuIjsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAoYXV0byYgc2VuZGVyIDogbV9zZW5kZXJz
KSB7Ci0gICAgICAgICAgICAgICAgYXV0byB0cmFjayA9IHNlbmRlci0+dHJhY2soKTsKKyAgICAg
ICAgICAgIGZvciAoYXV0byYgdHJhbnNjZWl2ZXIgOiBtX3RyYW5zY2VpdmVycykgeworICAgICAg
ICAgICAgICAgIGF1dG8gdHJhY2sgPSB0cmFuc2NlaXZlci0+c2VuZGVyKCktPnRyYWNrKCk7CiAg
ICAgICAgICAgICAgICAgaWYgKHRyYWNrLT5raW5kKCkgIT0gInZpZGVvIikKICAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgc2RwIDw8CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaAppbmRleCAy
ZGU2NjNmNjg0Zjc0MjdjZTRhY2ZhN2Y1YjZiYTBkMGMwY2FjMjE5Li4zMTNhNTRiYjE0NWZjNDg1
MmEyMGMyOWJlMDFmMjE2ODE2N2M2OTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmgKQEAgLTQ1LDUyICs0NSw2IEBAIGNs
YXNzIE1vY2tSdHBTZW5kZXI7CiB2b2lkIHVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3Rvcnko
TGliV2ViUlRDUHJvdmlkZXIqLCBjb25zdCBTdHJpbmcmKTsKIHZvaWQgdXNlUmVhbFJUQ1BlZXJD
b25uZWN0aW9uRmFjdG9yeShMaWJXZWJSVENQcm92aWRlciYpOwogCi1jbGFzcyBNb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb24gOiBwdWJsaWMgd2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFj
ZSB7Ci1wdWJsaWM6Ci0gICAgfk1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbigpOwotCi1wcm90
ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uKHdlYnJ0Yzo6
UGVlckNvbm5lY3Rpb25PYnNlcnZlciYgb2JzZXJ2ZXIpIDogbV9vYnNlcnZlcihvYnNlcnZlcikg
eyB9Ci0KLXByaXZhdGU6Ci0gICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6U3RyZWFtQ29s
bGVjdGlvbkludGVyZmFjZT4gbG9jYWxfc3RyZWFtcygpIG92ZXJyaWRlIHsgcmV0dXJuIG51bGxw
dHI7IH0KLSAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpTdHJlYW1Db2xsZWN0aW9uSW50
ZXJmYWNlPiByZW1vdGVfc3RyZWFtcygpIG92ZXJyaWRlIHsgcmV0dXJuIG51bGxwdHI7IH0KLSAg
ICBjb25zdCB3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVyZmFjZSogbG9jYWxfZGVzY3Jp
cHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9Ci0gICAgY29uc3Qgd2Vi
cnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UqIHJlbW90ZV9kZXNjcmlwdGlvbigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG51bGxwdHI7IH0KLSAgICBib29sIEFkZEljZUNhbmRpZGF0
ZShjb25zdCB3ZWJydGM6OkljZUNhbmRpZGF0ZUludGVyZmFjZSopIG92ZXJyaWRlIHsgcmV0dXJu
IHRydWU7IH0KLSAgICBTaWduYWxpbmdTdGF0ZSBzaWduYWxpbmdfc3RhdGUoKSBvdmVycmlkZSB7
IHJldHVybiBrU3RhYmxlOyB9Ci0gICAgSWNlQ29ubmVjdGlvblN0YXRlIGljZV9jb25uZWN0aW9u
X3N0YXRlKCkgb3ZlcnJpZGUgeyByZXR1cm4ga0ljZUNvbm5lY3Rpb25OZXc7IH0KLSAgICBJY2VH
YXRoZXJpbmdTdGF0ZSBpY2VfZ2F0aGVyaW5nX3N0YXRlKCkgb3ZlcnJpZGUgeyByZXR1cm4ga0lj
ZUdhdGhlcmluZ05ldzsgfQotICAgIHZvaWQgU3RvcFJ0Y0V2ZW50TG9nKCkgb3ZlcnJpZGUgeyB9
Ci0gICAgdm9pZCBDbG9zZSgpIG92ZXJyaWRlIHsgfQotCi0gICAgYm9vbCBBZGRTdHJlYW0od2Vi
cnRjOjpNZWRpYVN0cmVhbUludGVyZmFjZSopIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAg
dm9pZCBSZW1vdmVTdHJlYW0od2VicnRjOjpNZWRpYVN0cmVhbUludGVyZmFjZSopIGZpbmFsIHsg
fQotCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCBTZXRSZW1vdGVEZXNjcmlwdGlvbih3ZWJydGM6OlNl
dFNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVyKiwgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25J
bnRlcmZhY2UqKSBmaW5hbDsKLSAgICB2b2lkIENyZWF0ZUFuc3dlcih3ZWJydGM6OkNyZWF0ZVNl
c3Npb25EZXNjcmlwdGlvbk9ic2VydmVyKiwgY29uc3Qgd2VicnRjOjpQZWVyQ29ubmVjdGlvbklu
dGVyZmFjZTo6UlRDT2ZmZXJBbnN3ZXJPcHRpb25zJikgZmluYWw7Ci0gICAgcnRjOjpzY29wZWRf
cmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5uZWxJbnRlcmZhY2U+IENyZWF0ZURhdGFDaGFubmVsKGNv
bnN0IHN0ZDo6c3RyaW5nJiwgY29uc3Qgd2VicnRjOjpEYXRhQ2hhbm5lbEluaXQqKSBmaW5hbDsK
LSAgICB3ZWJydGM6OlJUQ0Vycm9yT3I8cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2Vu
ZGVySW50ZXJmYWNlPj4gQWRkVHJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6TWVkaWFT
dHJlYW1UcmFja0ludGVyZmFjZT4sIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgc3Ry
ZWFtcykgZmluYWw7Ci0gICAgYm9vbCBSZW1vdmVUcmFjayh3ZWJydGM6OlJ0cFNlbmRlckludGVy
ZmFjZSopIGZpbmFsOwotICAgIHdlYnJ0Yzo6UlRDRXJyb3IgU2V0Qml0cmF0ZShjb25zdCBCaXRy
YXRlUGFyYW1ldGVycyYpIGZpbmFsIHsgcmV0dXJuIHsgfTsgfQotCi0KLSAgICB2b2lkIFNldExv
Y2FsRGVzY3JpcHRpb24od2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciosIHdl
YnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKikgb3ZlcnJpZGU7Ci0gICAgYm9vbCBH
ZXRTdGF0cyh3ZWJydGM6OlN0YXRzT2JzZXJ2ZXIqLCB3ZWJydGM6Ok1lZGlhU3RyZWFtVHJhY2tJ
bnRlcmZhY2UqLCBTdGF0c091dHB1dExldmVsKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQot
ICAgIHZvaWQgQ3JlYXRlT2ZmZXIod2VicnRjOjpDcmVhdGVTZXNzaW9uRGVzY3JpcHRpb25PYnNl
cnZlciosIGNvbnN0IHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OlJUQ09mZmVyQW5z
d2VyT3B0aW9ucyYpIG92ZXJyaWRlOwotCi0gICAgdmlydHVhbCB2b2lkIGdvdExvY2FsRGVzY3Jp
cHRpb24oKSB7IH0KLQotICAgIHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYgbV9vYnNl
cnZlcjsKLSAgICB1bnNpZ25lZCBtX2NvdW50ZXIgeyAwIH07Ci0gICAgVmVjdG9yPHJ0Yzo6c2Nv
cGVkX3JlZnB0cjxNb2NrUnRwU2VuZGVyPj4gbV9zZW5kZXJzOwotICAgIGJvb2wgbV9pc0luaXRp
YXRvciB7IHRydWUgfTsKLSAgICBib29sIG1faXNSZWNlaXZpbmdBdWRpbyB7IGZhbHNlIH07Ci0g
ICAgYm9vbCBtX2lzUmVjZWl2aW5nVmlkZW8geyBmYWxzZSB9OwotICAgIHN0ZDo6c3RyaW5nIG1f
c3RyZWFtTGFiZWw7Ci19OwotCiBjbGFzcyBNb2NrTGliV2ViUlRDU2Vzc2lvbkRlc2NyaXB0aW9u
OiBwdWJsaWMgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UgewogcHVibGljOgog
ICAgIGV4cGxpY2l0IE1vY2tMaWJXZWJSVENTZXNzaW9uRGVzY3JpcHRpb24oc3RkOjpzdHJpbmcm
JiBzZHApIDogbV9zZHAoV1RGTW92ZShzZHApKSB7IH0KQEAgLTIxMyw3ICsxNjcsOSBAQCBwcml2
YXRlOgogCiBjbGFzcyBNb2NrUnRwU2VuZGVyIDogcHVibGljIHdlYnJ0Yzo6UnRwU2VuZGVySW50
ZXJmYWNlIHsKIHB1YmxpYzoKLSAgICBNb2NrUnRwU2VuZGVyKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6Ok1lZGlhU3RyZWFtVHJhY2tJbnRlcmZhY2U+JiYgdHJhY2spIDogbV90cmFjayhXVEZN
b3ZlKHRyYWNrKSkgeyB9CisgICAgZXhwbGljaXQgTW9ja1J0cFNlbmRlcihydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50ZXJmYWNlPiYmIHRyYWNrKSA6IG1fdHJh
Y2soV1RGTW92ZSh0cmFjaykpIHsgfQorCitwcml2YXRlOgogICAgIGJvb2wgU2V0VHJhY2sod2Vi
cnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50ZXJmYWNlKiB0cmFjaykgZmluYWwKICAgICB7CiAgICAg
ICAgIG1fdHJhY2sgPSB0cmFjazsKQEAgLTIzMiw3ICsxODgsODkgQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50ZXJm
YWNlPiBtX3RyYWNrOwogfTsKLSAgICAKKworY2xhc3MgTW9ja1J0cFJlY2VpdmVyIDogcHVibGlj
IHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2UgeworcHJpdmF0ZToKKyAgICBjcmlja2V0OjpN
ZWRpYVR5cGUgbWVkaWFfdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGNyaWNrZXQ6Ok1FRElB
X1RZUEVfVklERU87IH0KKyAgICBzdGQ6OnN0cmluZyBpZCgpIGNvbnN0IHsgcmV0dXJuIHsgfTsg
fQorICAgIHdlYnJ0Yzo6UnRwUGFyYW1ldGVycyBHZXRQYXJhbWV0ZXJzKCkgY29uc3QgeyByZXR1
cm4geyB9OyB9CisgICAgYm9vbCBTZXRQYXJhbWV0ZXJzKGNvbnN0IHdlYnJ0Yzo6UnRwUGFyYW1l
dGVycyYpIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2b2lkIFNldE9ic2VydmVyKHdlYnJ0Yzo6UnRw
UmVjZWl2ZXJPYnNlcnZlckludGVyZmFjZSopIHsgfQorICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6Ok1lZGlhU3RyZWFtVHJhY2tJbnRlcmZhY2U+IHRyYWNrKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4geyB9OyB9Cit9OworCitjbGFzcyBNb2NrUnRwVHJhbnNjZWl2ZXIgOiBwdWJsaWMgd2Vi
cnRjOjpSdHBUcmFuc2NlaXZlckludGVyZmFjZSB7CitwdWJsaWM6CisgICAgTW9ja1J0cFRyYW5z
Y2VpdmVyKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4mJiBz
ZW5kZXIsIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiYm
IHJlY2VpdmVyKQorICAgICAgICA6IG1fc2VuZGVyKFdURk1vdmUoc2VuZGVyKSkKKyAgICAgICAg
LCBtX3JlY2VpdmVyKFdURk1vdmUocmVjZWl2ZXIpKQorICAgIHsKKyAgICB9CisKKyAgICBydGM6
OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IHNlbmRlcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fc2VuZGVyOyB9CisKK3ByaXZhdGU6CisgICAgY3JpY2tldDo6TWVk
aWFUeXBlIG1lZGlhX3R5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3NlbmRlci0+bWVkaWFf
dHlwZSgpOyB9CisgICAgYWJzbDo6b3B0aW9uYWw8c3RkOjpzdHJpbmc+IG1pZCgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHsgfTsgfQorICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJl
Y2VpdmVySW50ZXJmYWNlPiByZWNlaXZlcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVjZWl2
ZXI7IH0KKyAgICBib29sIHN0b3BwZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQor
ICAgIHdlYnJ0Yzo6UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24gZGlyZWN0aW9uKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gd2VicnRjOjpSdHBUcmFuc2NlaXZlckRpcmVjdGlvbjo6a1NlbmRSZWN2OyB9
CisgICAgdm9pZCBTZXREaXJlY3Rpb24od2VicnRjOjpSdHBUcmFuc2NlaXZlckRpcmVjdGlvbikg
ZmluYWwgeyB9CisgICAgYWJzbDo6b3B0aW9uYWw8d2VicnRjOjpSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbj4gY3VycmVudF9kaXJlY3Rpb24oKSBjb25zdCBmaW5hbCB7IHJldHVybiB7IH07IH0KKyAg
ICB2b2lkIFN0b3AoKSBmaW5hbCB7IH0KKworcHJpdmF0ZToKKyAgICBydGM6OnNjb3BlZF9yZWZw
dHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IG1fc2VuZGVyOworICAgIHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBtX3JlY2VpdmVyOworfTsKKwor
Y2xhc3MgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uIDogcHVibGljIHdlYnJ0Yzo6UGVlckNv
bm5lY3Rpb25JbnRlcmZhY2UgeworcHVibGljOgorICAgIH5Nb2NrTGliV2ViUlRDUGVlckNvbm5l
Y3Rpb24oKTsKKworcHJvdGVjdGVkOgorICAgIGV4cGxpY2l0IE1vY2tMaWJXZWJSVENQZWVyQ29u
bmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImIG9ic2VydmVyKSA6IG1fb2Jz
ZXJ2ZXIob2JzZXJ2ZXIpIHsgfQorCitwcml2YXRlOgorICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6OlN0cmVhbUNvbGxlY3Rpb25JbnRlcmZhY2U+IGxvY2FsX3N0cmVhbXMoKSBvdmVycmlk
ZSB7IHJldHVybiBudWxscHRyOyB9CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6U3Ry
ZWFtQ29sbGVjdGlvbkludGVyZmFjZT4gcmVtb3RlX3N0cmVhbXMoKSBvdmVycmlkZSB7IHJldHVy
biBudWxscHRyOyB9CisgICAgY29uc3Qgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZh
Y2UqIGxvY2FsX2Rlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsg
fQorICAgIGNvbnN0IHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKiByZW1vdGVf
ZGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9CisgICAgYm9v
bCBBZGRJY2VDYW5kaWRhdGUoY29uc3Qgd2VicnRjOjpJY2VDYW5kaWRhdGVJbnRlcmZhY2UqKSBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgU2lnbmFsaW5nU3RhdGUgc2lnbmFsaW5nX3N0
YXRlKCkgb3ZlcnJpZGUgeyByZXR1cm4ga1N0YWJsZTsgfQorICAgIEljZUNvbm5lY3Rpb25TdGF0
ZSBpY2VfY29ubmVjdGlvbl9zdGF0ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIGtJY2VDb25uZWN0aW9u
TmV3OyB9CisgICAgSWNlR2F0aGVyaW5nU3RhdGUgaWNlX2dhdGhlcmluZ19zdGF0ZSgpIG92ZXJy
aWRlIHsgcmV0dXJuIGtJY2VHYXRoZXJpbmdOZXc7IH0KKyAgICB2b2lkIFN0b3BSdGNFdmVudExv
ZygpIG92ZXJyaWRlIHsgfQorICAgIHZvaWQgQ2xvc2UoKSBvdmVycmlkZSB7IH0KKworICAgIGJv
b2wgQWRkU3RyZWFtKHdlYnJ0Yzo6TWVkaWFTdHJlYW1JbnRlcmZhY2UqKSBmaW5hbCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZvaWQgUmVtb3ZlU3RyZWFtKHdlYnJ0Yzo6TWVkaWFTdHJlYW1JbnRl
cmZhY2UqKSBmaW5hbCB7IH0KKworICAgIHN0ZDo6dmVjdG9yPHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6OlJ0cFRyYW5zY2VpdmVySW50ZXJmYWNlPj4gR2V0VHJhbnNjZWl2ZXJzKCkgY29uc3Qg
ZmluYWw7CisKK3Byb3RlY3RlZDoKKyAgICB2b2lkIFNldFJlbW90ZURlc2NyaXB0aW9uKHdlYnJ0
Yzo6U2V0U2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCB3ZWJydGM6OlNlc3Npb25EZXNjcmlw
dGlvbkludGVyZmFjZSopIGZpbmFsOworICAgIHZvaWQgQ3JlYXRlQW5zd2VyKHdlYnJ0Yzo6Q3Jl
YXRlU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCBjb25zdCB3ZWJydGM6OlBlZXJDb25uZWN0
aW9uSW50ZXJmYWNlOjpSVENPZmZlckFuc3dlck9wdGlvbnMmKSBmaW5hbDsKKyAgICBydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpEYXRhQ2hhbm5lbEludGVyZmFjZT4gQ3JlYXRlRGF0YUNoYW5u
ZWwoY29uc3Qgc3RkOjpzdHJpbmcmLCBjb25zdCB3ZWJydGM6OkRhdGFDaGFubmVsSW5pdCopIGZp
bmFsOworICAgIHdlYnJ0Yzo6UlRDRXJyb3JPcjxydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpS
dHBTZW5kZXJJbnRlcmZhY2U+PiBBZGRUcmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpN
ZWRpYVN0cmVhbVRyYWNrSW50ZXJmYWNlPiwgY29uc3Qgc3RkOjp2ZWN0b3I8c3RkOjpzdHJpbmc+
JiBzdHJlYW1zKSBmaW5hbDsKKyAgICBib29sIFJlbW92ZVRyYWNrKHdlYnJ0Yzo6UnRwU2VuZGVy
SW50ZXJmYWNlKikgZmluYWw7CisgICAgd2VicnRjOjpSVENFcnJvciBTZXRCaXRyYXRlKGNvbnN0
IEJpdHJhdGVQYXJhbWV0ZXJzJikgZmluYWwgeyByZXR1cm4geyB9OyB9CisKKyAgICB2b2lkIFNl
dExvY2FsRGVzY3JpcHRpb24od2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlcios
IHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKikgb3ZlcnJpZGU7CisgICAgYm9v
bCBHZXRTdGF0cyh3ZWJydGM6OlN0YXRzT2JzZXJ2ZXIqLCB3ZWJydGM6Ok1lZGlhU3RyZWFtVHJh
Y2tJbnRlcmZhY2UqLCBTdGF0c091dHB1dExldmVsKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsg
fQorICAgIHZvaWQgQ3JlYXRlT2ZmZXIod2VicnRjOjpDcmVhdGVTZXNzaW9uRGVzY3JpcHRpb25P
YnNlcnZlciosIGNvbnN0IHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OlJUQ09mZmVy
QW5zd2VyT3B0aW9ucyYpIG92ZXJyaWRlOworCisgICAgdmlydHVhbCB2b2lkIGdvdExvY2FsRGVz
Y3JpcHRpb24oKSB7IH0KKworICAgIHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYgbV9v
YnNlcnZlcjsKKyAgICB1bnNpZ25lZCBtX2NvdW50ZXIgeyAwIH07CisgICAgVmVjdG9yPHJ0Yzo6
c2NvcGVkX3JlZnB0cjxNb2NrUnRwVHJhbnNjZWl2ZXI+PiBtX3RyYW5zY2VpdmVyczsKKyAgICBi
b29sIG1faXNJbml0aWF0b3IgeyB0cnVlIH07CisgICAgYm9vbCBtX2lzUmVjZWl2aW5nQXVkaW8g
eyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1JlY2VpdmluZ1ZpZGVvIHsgZmFsc2UgfTsKKyAgICBz
dGQ6OnN0cmluZyBtX3N0cmVhbUxhYmVsOworfTsKKwogY2xhc3MgTW9ja0xpYldlYlJUQ1BlZXJD
b25uZWN0aW9uRmFjdG9yeSA6IHB1YmxpYyB3ZWJydGM6OlBlZXJDb25uZWN0aW9uRmFjdG9yeUlu
dGVyZmFjZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlBlZXJDb25uZWN0aW9uRmFjdG9yeUludGVyZmFjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdGVz
dENhc2UpIHsgcmV0dXJuIG5ldyBydGM6OlJlZkNvdW50ZWRPYmplY3Q8TW9ja0xpYldlYlJUQ1Bl
ZXJDb25uZWN0aW9uRmFjdG9yeT4odGVzdENhc2UpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmYxNDczMDI3NzFkNmE3
OTJjZjJhMDE0M2QwNDc2ODE1NWM4NWM3Ni4uNjllMWUxMTE1Yzg1YWViNmQ5MjA5OTA2MDRiNWI2
ZGI0Yjk1YjJmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE5LTA4LTE0ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIG1vY2sgbGlid2VicnRjIHRl
c3RzIHJ1biB3aXRoIHVuaWZpZWQgcGxhbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjAwNzEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRW5hYmxlIHVuaWZpZWQgcGxhbi4KKworICAgICAgICAqIGZhc3Qv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taWNlY2FuZGlkYXRlLWV2ZW50Lmh0bWw6Cisg
ICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pY2Vjb25uZWN0aW9u
c3RhdGVjaGFuZ2UtZXZlbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LW9mZmVyLmh0bWw6CisgICAgICAgICogZmFz
dC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1tZWRpYS1zZXR1cC1zaW5nbGUtZGlhbG9n
Lmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1yZW1v
dGVseS1hc3NpZ25lZC10cmFuc2NlaXZlci1taWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L21lZGlh
c3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXNldExvY2FsRGVzY3JpcHRpb24tb2ZmZXIuaHRtbDoK
KyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXNldFJlbW90ZURl
c2NyaXB0aW9uLW9mZmVyLmh0bWw6CisgICAgICAgICogd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNl
LXdoaWxlLWNyZWF0aW5nLW9mZmVyLmh0bWw6CisgICAgICAgICogd2VicnRjL2xpYndlYnJ0Yy9y
ZWxlYXNlLXdoaWxlLWdldHRpbmctc3RhdHMuaHRtbDoKKyAgICAgICAgKiB3ZWJydGMvbGlid2Vi
cnRjL3JlbGVhc2Utd2hpbGUtc2V0dGluZy1sb2NhbC1kZXNjcmlwdGlvbi5odG1sOgorCiAyMDE5
LTA4LTEyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZyYW1l
TG9hZGVyOjpvcGVuIGNhbiBleGVjdXRlIHNjcml0cHMgdmlhIHN0eWxlIHJlY2FsYyBpbiBGcmFt
ZTo6c2V0RG9jdW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24taWNlY2FuZGlkYXRlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZWNhbmRpZGF0ZS1ldmVudC5odG1s
CmluZGV4IDQ0ZTJkM2NmZTc5ZjgyZDVlZGNkMGU3YjJmMjcwMzNkOGJiYTQ0NGQuLjQ4NDg4ZDU1
MWFkOWY2NjQ4NjI0NjJlMzdiMjRhYThmNGJhNGExNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taWNlY2FuZGlkYXRlLWV2ZW50Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1p
Y2VjYW5kaWRhdGUtZXZlbnQuaHRtbApAQCAtOCw5ICs4LDYgQEAKICAgICAgICAgPHNjcmlwdD4K
ICAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IFJUQ1BlZXJDb25uZWN0aW9uICdpY2VjYW5k
aWRhdGUnIGV2ZW50IGFuZCBnYXRoZXJpbmcgZG9uZSIpOwogCi0gICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJSVENVbmlm
aWVkUGxhbkVuYWJsZWQoZmFsc2UpOwotCiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFj
dG9yeSgiSUNFQ2FuZGlkYXRlcyIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZWNvbm5lY3Rpb25zdGF0ZWNoYW5nZS1ldmVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1p
Y2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2UtZXZlbnQuaHRtbAppbmRleCBjY2MyYjkyMTBkYWU0Mzdh
NGJiMWQ4YWQ3YjkzNWJiMTVhNWY3NzBhLi40ZGIwNTY0NzlhNGIxZjc1YjllNjFkNTYxZTY0MDc0
YmNlYWJlNGE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLWljZWNvbm5lY3Rpb25zdGF0ZWNoYW5nZS1ldmVudC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taWNlY29ubmVjdGlv
bnN0YXRlY2hhbmdlLWV2ZW50Lmh0bWwKQEAgLTcsOCArNyw2IEBACiAgICAgPGJvZHk+CiAgICAg
ICAgIDxzY3JpcHQ+CiAgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGVzdCBSVENQZWVyQ29ubmVj
dGlvbiAnaWNlY29ubmVjdGlvbnN0YXRlY2hhbmdlJyBldmVudCIpOwotICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0V2ViUlRD
VW5pZmllZFBsYW5FbmFibGVkKGZhbHNlKTsKIAogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnVzZU1vY2tSVENQZWVyQ29ubmVjdGlv
bkZhY3RvcnkoIklDRUNvbm5lY3Rpb25TdGF0ZSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFu
c3dlci5odG1sCmluZGV4IGFlMTM0Mjg1ODA1YTA3NWMzMWYzZjk4N2IwZTM1ZTVmNjM0MjRlNDcu
LjA0ZGQ2ZTM4OGM4Zjk5NDc4Yjg3OTRkOWEyNjNkODRkNzc2ZDM4NGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVjdC1hbnN3
ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWluc3BlY3QtYW5zd2VyLmh0bWwKQEAgLTYsOSArNiw2IEBACiAgICAgPC9oZWFkPgogICAg
IDxib2R5PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0V2ViUlRDVW5pZmllZFBsYW5FbmFi
bGVkKGZhbHNlKTsKLQogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoIiIpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWluc3BlY3Qtb2ZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24taW5zcGVjdC1vZmZlci5odG1sCmluZGV4IDhlNjM2MzgyYjBmNTQzZDM2
YWRiMTFlOGE2MjhkNTdlMzY0NDg1ODkuLjljM2MyMGM4YjAzYzM5MzM2Zjk4NWE1ODk5NzllNmY2
ZTkzNTk1MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24taW5zcGVjdC1vZmZlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVjdC1vZmZlci5odG1sCkBAIC02LDkgKzYs
NiBAQAogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNl
dFdlYlJUQ1VuaWZpZWRQbGFuRW5hYmxlZChmYWxzZSk7Ci0KICAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgICAgIGludGVybmFscy51c2VNb2NrUlRDUGVlckNv
bm5lY3Rpb25GYWN0b3J5KCIiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1tZWRpYS1zZXR1cC1zaW5nbGUtZGlhbG9nLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW1lZGlhLXNl
dHVwLXNpbmdsZS1kaWFsb2cuaHRtbAppbmRleCBlODI5MzI4YmI3MzZiNWI1ZTEyNTkzNjdmNThm
YzA4MjdhN2NjZDcyLi40ODIxZTQ2OGZiNzhlYzQ0NDUyZjY2NmE5NzhkMWExYTVlMTQ5NTdlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LW1lZGlhLXNldHVwLXNpbmdsZS1kaWFsb2cuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW1lZGlhLXNldHVwLXNpbmdsZS1kaWFsb2cuaHRt
bApAQCAtNiw5ICs2LDYgQEAKICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+CiAgICAgICAgIDxzY3Jp
cHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRXZWJSVENVbmlmaWVkUGxhbkVuYWJsZWQoZmFsc2UpOwotCiAgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXNl
TW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFjdG9yeSgiIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlbHktYXNzaWduZWQt
dHJhbnNjZWl2ZXItbWlkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLXJlbW90ZWx5LWFzc2lnbmVkLXRyYW5zY2VpdmVyLW1pZC5odG1sCmluZGV4
IDBlM2I1ZmQ3MjlkYzA2MGNkNGRjN2I5YjViMjM4Nzc5OWE3OWQ2YTQuLjk3M2UxMzk5NThlZTM1
Mjk1ZjhjNDMwZWZmMjIyNzk0NGMwMGJkMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlbHktYXNzaWduZWQtdHJhbnNjZWl2
ZXItbWlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1yZW1vdGVseS1hc3NpZ25lZC10cmFuc2NlaXZlci1taWQuaHRtbApAQCAtNiw5ICs2
LDYgQEAKICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+CiAgICAgICAgIDxzY3JpcHQ+Ci0gICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRXZWJSVENVbmlmaWVkUGxhbkVuYWJsZWQoZmFsc2UpOwotCiAgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXNlTW9ja1JUQ1BlZXJD
b25uZWN0aW9uRmFjdG9yeSgiIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tc2V0TG9jYWxEZXNjcmlwdGlvbi1vZmZlci5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zZXRMb2Nh
bERlc2NyaXB0aW9uLW9mZmVyLmh0bWwKaW5kZXggY2JkNTE2ZjNkNzNhZWQyNmM4OGI3YjU2MWM1
MTA1NWRmNmQ5YTg3MC4uMjI5ZTRiNWM3ZWJlM2Y0Yjg1ZDlkNGU4YjUwZTE5MzYwOTI0MWYyNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bi1zZXRMb2NhbERlc2NyaXB0aW9uLW9mZmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zZXRMb2NhbERlc2NyaXB0aW9uLW9mZmVyLmh0
bWwKQEAgLTYsOSArNiw2IEBACiAgICAgPC9oZWFkPgogICAgIDxib2R5PgogICAgICAgICA8c2Ny
aXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0V2ViUlRDVW5pZmllZFBsYW5FbmFibGVkKGZhbHNlKTsKLQogICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnVz
ZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoIiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXNldFJlbW90ZURlc2NyaXB0
aW9uLW9mZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLXNldFJlbW90ZURlc2NyaXB0aW9uLW9mZmVyLmh0bWwKaW5kZXggODExODMwMTliMTVj
OTU4M2ZmNjczMWExN2Q2ODgzYzQ1Yzc5MzM2Mi4uY2FjMzdmMDc4YTcwNGY4NDUwZTBmNmIwMjEw
NDZiNWE1MzM4NmVhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1zZXRSZW1vdGVEZXNjcmlwdGlvbi1vZmZlci5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tc2V0UmVtb3RlRGVz
Y3JpcHRpb24tb2ZmZXIuaHRtbApAQCAtNiw5ICs2LDYgQEAKICAgICA8L2hlYWQ+CiAgICAgPGJv
ZHk+CiAgICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJSVENVbmlmaWVkUGxhbkVuYWJsZWQo
ZmFsc2UpOwotCiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgICAg
ICAgICBpbnRlcm5hbHMudXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFjdG9yeSgiIik7CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1jcmVh
dGluZy1vZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdo
aWxlLWNyZWF0aW5nLW9mZmVyLmh0bWwKaW5kZXggNTE4YWVmNzk4NjVlZjI2NjEyMzUxNDg2NTRj
NzA0NzgwNDRiZTUwOC4uY2M3YmVkOWY4OWQ2Njk2NWUyY2Y2ZDA3MjQ5ZTIyNzQyMDJlYWNlZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLWNy
ZWF0aW5nLW9mZmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL2xpYndlYnJ0Yy9yZWxl
YXNlLXdoaWxlLWNyZWF0aW5nLW9mZmVyLmh0bWwKQEAgLTcsOSArNyw2IEBACiA8c2NyaXB0Pgog
c2VsZi5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
IHRlc3RSdW5uZXIuc2V0V2ViUlRDVW5pZmllZFBsYW5FbmFibGVkKGZhbHNlKTsKLQogaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZh
Y3RvcnkoIkxpYldlYlJUQ1JlbGVhc2luZ1doaWxlQ3JlYXRpbmdPZmZlciIpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVhc2Utd2hpbGUtZ2V0dGluZy1z
dGF0cy5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLWdl
dHRpbmctc3RhdHMuaHRtbAppbmRleCAzZjEyMGRhNDAwNDI1NGZiZDVlNjNkNDBjMzlkMzcxNzM1
NGFlYzZiLi5hOTQ0NDllZjYwZmNlYmVlYTI4MTJlOWMzNGE3OGU5MTg5ZmViYjI2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVhc2Utd2hpbGUtZ2V0dGluZy1z
dGF0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGls
ZS1nZXR0aW5nLXN0YXRzLmh0bWwKQEAgLTcsOSArNyw2IEBACiA8c2NyaXB0Pgogc2VsZi5qc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5u
ZXIuc2V0V2ViUlRDVW5pZmllZFBsYW5FbmFibGVkKGZhbHNlKTsKLQogaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgaW50ZXJuYWxzLnVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoIkxp
YldlYlJUQ1JlbGVhc2luZ1doaWxlR2V0dGluZ1N0YXRzIik7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1zZXR0aW5nLWxvY2FsLWRlc2Ny
aXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVhc2Utd2hpbGUt
c2V0dGluZy1sb2NhbC1kZXNjcmlwdGlvbi5odG1sCmluZGV4IGZhOWM2NTM0YTY1NDRkM2JkOTQz
YjQ4ODg2ODBlMDgyYjU1NGRmM2MuLjYyZTg5OWU3ZjFmYTc1NWJlODgzM2E3NTcyMGI5ZGM5Y2Ji
ZDZlZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13
aGlsZS1zZXR0aW5nLWxvY2FsLWRlc2NyaXB0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
cnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLXNldHRpbmctbG9jYWwtZGVzY3JpcHRpb24uaHRt
bApAQCAtMTAsOSArMTAsNiBAQCBzZWxmLmpzVGVzdElzQXN5bmMgPSB0cnVlOwogLy8gU2lsZW5j
ZSB1bmhhbmRsZWQgcmVqZWN0aW9uIG1lc3NhZ2VzLgogd2luZG93Lm9udW5oYW5kbGVkcmVqZWN0
aW9uID0gKCkgPT4gZmFsc2U7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVu
bmVyLnNldFdlYlJUQ1VuaWZpZWRQbGFuRW5hYmxlZChmYWxzZSk7Ci0KIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQogICAgIGludGVybmFscy51c2VNb2NrUlRDUGVlckNvbm5lY3Rpb25GYWN0b3J5KCJM
aWJXZWJSVENSZWxlYXNpbmdXaGlsZVNldHRpbmdEZXNjcmlwdGlvbiIpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376263</attachid>
            <date>2019-08-14 07:44:17 -0700</date>
            <delta_ts>2019-08-15 10:12:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200713-20190814164412.patch</filename>
            <type>text/plain</type>
            <size>30009</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4NjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5ZTEyZjFiZGFmMjQ2MDI1OGY0MGUyMGU0NzFkMTZhOTRiY2I1YTliLi5jNTA4
NzM3ZmM1ODVhYTQ4NTYxODhjNDE4NTMyMTIxYjUyMTI2M2JkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOS0wOC0xNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBtb2NrIGxpYndlYnJ0YyB0
ZXN0cyBydW4gd2l0aCB1bmlmaWVkIHBsYW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIwMDcxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHA6Cisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHA6CisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHA6CisKIDIwMTktMDgtMTMgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZXIgQWdlbnQgYW5kIFNlc3Np
b25JRCBzaG91bGQgYmUgZ2l2ZW4gdG8gTmV0d29ya1JUQ1Byb3ZpZGVyIHRvIHNldCB1cCB0aGUg
Y29ycmVjdCBwcm94eSBpbmZvcm1hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU0MTIzNzhhYjBkMGE0ZGNl
ZWE5OWRkNmM5MTU5MmY5MWIwZjIwMmQuLjU4ZGVmNjUzMTY5YzM3NTM3ZWViNjMzNjA1N2YzMGNj
ZWYxYmM0YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxOS0wOC0xNCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBtb2NrIGxpYndlYnJ0
YyB0ZXN0cyBydW4gd2l0aCB1bmlmaWVkIHBsYW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDcxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBtb2NrIGVuZHBvaW50IHRvIHBhc3MgbW9jayB3
ZWJydGMgdGVzdHMgd2l0aCB1bmlmaWVkIHBsYW4uCisgICAgICAgIFRoaXMgcmVxdWlyZXMgaW1w
bGVtZW50aW5nIHN1cHBvcnQgZm9yIG1vY2sgdHJhbnNjZWl2ZXJzLgorICAgICAgICBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjp1c2VNb2NrUlRDUGVlckNvbm5lY3Rpb25GYWN0
b3J5KToKKyAgICAgICAgVXBkYXRlIGFzc2VydCB0byBtYW5kYXRlIHVuaWZpZWQgcGxhbi4KKyAg
ICAgICAgKiB0ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb246On5Nb2NrTGliV2ViUlRDUGVl
ckNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0
aW9uOjpHZXRUcmFuc2NlaXZlcnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0xpYldl
YlJUQ1BlZXJDb25uZWN0aW9uOjpBZGRUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTGli
V2ViUlRDUGVlckNvbm5lY3Rpb246OlJlbW92ZVRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbjo6Q3JlYXRlT2ZmZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpDcmVhdGVBbnN3ZXIpOgorICAgICAgICAq
IHRlc3RpbmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrUnRwU2VuZGVyOjpNb2NrUnRwU2VuZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tS
dHBSZWNlaXZlcjo6aWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1J0cFJlY2VpdmVy
OjpHZXRQYXJhbWV0ZXJzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSdHBSZWNlaXZl
cjo6U2V0UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUnRwUmVjZWl2ZXI6OlNl
dE9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSdHBUcmFuc2NlaXZlcjo6TW9ja1J0
cFRyYW5zY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tMaWJXZWJSVENQZWVyQ29ubmVj
dGlvbjo6TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbjo6Z290TG9jYWxEZXNjcmlwdGlvbik6CisKIDIwMTkt
MDgtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFRocmVh
ZGFibGVCbG9iUmVnaXN0cnk6OmJsb2JTaXplIHNob3VsZCB0YWtlIGEgU2Vzc2lvbklEIGFzIHBh
cmFtZXRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0Nv
bmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwCmluZGV4IDkyMDUyOTZkNTdmODJkZjBiNDgw
NmM4NTE0NjA1OGQ4MDIxN2ZhMzcuLmMwYWQxZmVjZTI5NTZmY2YyZjI2MzgzZDc5ZTE3YjU3NGM3
ODlkZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0
aW9ucy9saWJ3ZWJydGMuaU9TLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKQEAgLTI1MywzICsyNTMsMTIgQEAgX19a
TjNydGMxMUNyeXB0U3RyaW5nQzFFUktOU18xNUNyeXB0U3RyaW5nSW1wbEUKIF9fWk4zcnRjMTNT
b2NrZXRBZGRyZXNzQzFFUktOU3QzX18xMTJiYXNpY19zdHJpbmdJY05TMV8xMWNoYXJfdHJhaXRz
SWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFaQogX19aTjNydGMxMUNyeXB0U3RyaW5nRDFFdgogX19a
TjNydGMxMUNyeXB0U3RyaW5nQzFFUktTMF8KK19fWk42d2VicnRjMjBSdHBSZWNlaXZlckludGVy
ZmFjZTE3U2V0RnJhbWVEZWNyeXB0b3JFTjNydGMxM3Njb3BlZF9yZWZwdHJJTlNfMjNGcmFtZURl
Y3J5cHRvckludGVyZmFjZUVFRQorX19aTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNl
MTlTZXRDb2RlY1ByZWZlcmVuY2VzRU4zcnRjOUFycmF5Vmlld0lOU18xOFJ0cENvZGVjQ2FwYWJp
bGl0eUVMbG40NzExRUVFCitfX1pOSzZ3ZWJydGMyMFJ0cFJlY2VpdmVySW50ZXJmYWNlMTBHZXRT
b3VyY2VzRXYKK19fWk5LNndlYnJ0YzIwUnRwUmVjZWl2ZXJJbnRlcmZhY2UxMHN0cmVhbV9pZHNF
dgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZTE3R2V0RnJhbWVEZWNyeXB0b3JF
dgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZTdzdHJlYW1zRXYKK19fWk5LNndl
YnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UxNWZpcmVkX2RpcmVjdGlvbkV2CitfX1pUVk42
d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZUUKK19fWlRWTjZ3ZWJydGMyM1J0cFRyYW5zY2Vp
dmVySW50ZXJmYWNlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0Nv
bmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCmluZGV4IDZmMTMyY2Jj
MGU2ZjZiMzhiYTVjMTgzMmVlMzZiYTE0YjMxNTgwOTQuLjRjYTZmNDk3ODkzYjZhZmY1NThiNmZk
ZjA2OGYyMTA3ZjBkZTIwZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKQEAgLTI1
NCwzICsyNTQsMTIgQEAgX19aTjNydGMxMUNyeXB0U3RyaW5nQzFFUktOU18xNUNyeXB0U3RyaW5n
SW1wbEUKIF9fWk4zcnRjMTNTb2NrZXRBZGRyZXNzQzFFUktOU3QzX18xMTJiYXNpY19zdHJpbmdJ
Y05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFaQogX19aTjNydGMxMUNy
eXB0U3RyaW5nRDFFdgogX19aTjNydGMxMUNyeXB0U3RyaW5nQzFFUktTMF8KK19fWk42d2VicnRj
MjBSdHBSZWNlaXZlckludGVyZmFjZTE3U2V0RnJhbWVEZWNyeXB0b3JFTjNydGMxM3Njb3BlZF9y
ZWZwdHJJTlNfMjNGcmFtZURlY3J5cHRvckludGVyZmFjZUVFRQorX19aTjZ3ZWJydGMyM1J0cFRy
YW5zY2VpdmVySW50ZXJmYWNlMTlTZXRDb2RlY1ByZWZlcmVuY2VzRU4zcnRjOUFycmF5Vmlld0lO
U18xOFJ0cENvZGVjQ2FwYWJpbGl0eUVMbG40NzExRUVFCitfX1pOSzZ3ZWJydGMyMFJ0cFJlY2Vp
dmVySW50ZXJmYWNlMTBHZXRTb3VyY2VzRXYKK19fWk5LNndlYnJ0YzIwUnRwUmVjZWl2ZXJJbnRl
cmZhY2UxMHN0cmVhbV9pZHNFdgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZTE3
R2V0RnJhbWVEZWNyeXB0b3JFdgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZTdz
dHJlYW1zRXYKK19fWk5LNndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UxNWZpcmVkX2Rp
cmVjdGlvbkV2CitfX1pUVk42d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZUUKK19fWlRWTjZ3
ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCmlu
ZGV4IDZmMTMyY2JjMGU2ZjZiMzhiYTVjMTgzMmVlMzZiYTE0YjMxNTgwOTQuLjRjYTZmNDk3ODkz
YjZhZmY1NThiNmZkZjA2OGYyMTA3ZjBkZTIwZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAK
QEAgLTI1NCwzICsyNTQsMTIgQEAgX19aTjNydGMxMUNyeXB0U3RyaW5nQzFFUktOU18xNUNyeXB0
U3RyaW5nSW1wbEUKIF9fWk4zcnRjMTNTb2NrZXRBZGRyZXNzQzFFUktOU3QzX18xMTJiYXNpY19z
dHJpbmdJY05TMV8xMWNoYXJfdHJhaXRzSWNFRU5TMV85YWxsb2NhdG9ySWNFRUVFaQogX19aTjNy
dGMxMUNyeXB0U3RyaW5nRDFFdgogX19aTjNydGMxMUNyeXB0U3RyaW5nQzFFUktTMF8KK19fWk42
d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZTE3U2V0RnJhbWVEZWNyeXB0b3JFTjNydGMxM3Nj
b3BlZF9yZWZwdHJJTlNfMjNGcmFtZURlY3J5cHRvckludGVyZmFjZUVFRQorX19aTjZ3ZWJydGMy
M1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlMTlTZXRDb2RlY1ByZWZlcmVuY2VzRU4zcnRjOUFycmF5
Vmlld0lOU18xOFJ0cENvZGVjQ2FwYWJpbGl0eUVMbG40NzExRUVFCitfX1pOSzZ3ZWJydGMyMFJ0
cFJlY2VpdmVySW50ZXJmYWNlMTBHZXRTb3VyY2VzRXYKK19fWk5LNndlYnJ0YzIwUnRwUmVjZWl2
ZXJJbnRlcmZhY2UxMHN0cmVhbV9pZHNFdgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVy
ZmFjZTE3R2V0RnJhbWVEZWNyeXB0b3JFdgorX19aTks2d2VicnRjMjBSdHBSZWNlaXZlckludGVy
ZmFjZTdzdHJlYW1zRXYKK19fWk5LNndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UxNWZp
cmVkX2RpcmVjdGlvbkV2CitfX1pUVk42d2VicnRjMjBSdHBSZWNlaXZlckludGVyZmFjZUUKK19f
WlRWTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlRQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCmluZGV4IGUxNzhiNDk2ODU4NzU1MWJmMDcwNGQ4MzAyMDU2MmRkMTJkZjRl
YmIuLjI0NjZiZmU1M2Y5ZmE3ODA2ZDcyNGI4MWVkNDc3MGEzOWFmOTkxM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTE0MzQsOSArMTQzNCw3IEBAIHZvaWQgSW50ZXJu
YWxzOjplbXVsYXRlUlRDUGVlckNvbm5lY3Rpb25QbGF0Zm9ybUV2ZW50KFJUQ1BlZXJDb25uZWN0
aW9uJiBjb25uZWN0CiAKIHZvaWQgSW50ZXJuYWxzOjp1c2VNb2NrUlRDUGVlckNvbm5lY3Rpb25G
YWN0b3J5KGNvbnN0IFN0cmluZyYgdGVzdENhc2UpCiB7Ci0gICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCB1cGdyYWRlIG1vY2tzIHRvIHN1cHBvcnQgdW5pZmllZCBwbGFuIEFQSXMsIHVudGlsIHRoZW4g
dXNlIHBsYW4gQiBpbiB0ZXN0cyB1c2luZyBtb2NrLgotCi0gICAgQVNTRVJUKCFSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYlJUQ1VuaWZpZWRQbGFuRW5hYmxlZCgp
KTsKKyAgICBBU1NFUlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53
ZWJSVENVbmlmaWVkUGxhbkVuYWJsZWQoKSk7CiAgICAgaWYgKCFMaWJXZWJSVENQcm92aWRlcjo6
d2ViUlRDQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwCmluZGV4IGMw
YzBjYmYxYzU2MTkxMTk2M2NkOGUyOTg0Y2ViMGZiNTIyNzU0NjEuLjgzNDZjMjM1ZjU0ZmY3OGI0
NmM3ZGM4ODFiYmQzYjIxZDNkNWFkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5jcHAKQEAgLTcxLDggKzcxLDE2IEBA
IHZvaWQgdXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFjdG9yeShMaWJXZWJSVENQcm92aWRlciog
cHJvdmlkZXIsIGNvbnN0IFN0cmluZyYKIAogTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjp+
TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uKCkKIHsKLSAgICAvLyBGcmVlIHNlbmRlcnMgaW4g
YSBkaWZmZXJlbnQgdGhyZWFkIGxpa2UgYW4gYWN0dWFsIHBlZXIgY29ubmVjdGlvbiB3b3VsZCBw
cm9iYWJseSBkby4KLSAgICBUaHJlYWQ6OmNyZWF0ZSgiTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0
aW9uIHRocmVhZCIsIFtzZW5kZXJzID0gV1RGTW92ZShtX3NlbmRlcnMpXSB7IH0pOworICAgIC8v
IEZyZWUgc2VuZGVycyBhbmQgcmVjZWl2ZXJzIGluIGEgZGlmZmVyZW50IHRocmVhZCBsaWtlIGFu
IGFjdHVhbCBwZWVyIGNvbm5lY3Rpb24gd291bGQgcHJvYmFibHkgZG8uCisgICAgVGhyZWFkOjpj
cmVhdGUoIk1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbiB0aHJlYWQiLCBbdHJhbnNjZWl2ZXJz
ID0gV1RGTW92ZShtX3RyYW5zY2VpdmVycyldIHsgfSk7Cit9CisKK3N0ZDo6dmVjdG9yPHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFRyYW5zY2VpdmVySW50ZXJmYWNlPj4gTW9ja0xpYldl
YlJUQ1BlZXJDb25uZWN0aW9uOjpHZXRUcmFuc2NlaXZlcnMoKSBjb25zdAoreworICAgIHN0ZDo6
dmVjdG9yPHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFRyYW5zY2VpdmVySW50ZXJmYWNl
Pj4gdHJhbnNjZWl2ZXJzOworICAgIGZvciAoYXV0byB0cmFuc2NlaXZlciA6IG1fdHJhbnNjZWl2
ZXJzKQorICAgICAgICB0cmFuc2NlaXZlcnMucHVzaF9iYWNrKHRyYW5zY2VpdmVyKTsKKyAgICBy
ZXR1cm4gdHJhbnNjZWl2ZXJzOwogfQogCiBjbGFzcyBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rp
b25Gb3JJY2VDYW5kaWRhdGVzIDogcHVibGljIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbiB7
CkBAIC0yNTQsOCArMjYyLDEyIEBAIHdlYnJ0Yzo6UlRDRXJyb3JPcjxydGM6OnNjb3BlZF9yZWZw
dHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+PiBNb2NrTGliV2ViUlRDCiAgICAgaWYgKCFz
dHJlYW1JZHMuZW1wdHkoKSkKICAgICAgICAgbV9zdHJlYW1MYWJlbCA9IHN0cmVhbUlkcy5mcm9u
dCgpOwogCi0gICAgbV9zZW5kZXJzLmFwcGVuZChuZXcgcnRjOjpSZWZDb3VudGVkT2JqZWN0PE1v
Y2tSdHBTZW5kZXI+KFdURk1vdmUodHJhY2spKSk7Ci0gICAgcmV0dXJuIHJ0Yzo6c2NvcGVkX3Jl
ZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4obV9zZW5kZXJzLmxhc3QoKS5nZXQoKSk7
CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlPiBzZW5k
ZXIgPSBuZXcgcnRjOjpSZWZDb3VudGVkT2JqZWN0PE1vY2tSdHBTZW5kZXI+KFdURk1vdmUodHJh
Y2spKTsKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFj
ZT4gcmVjZWl2ZXIgPSBuZXcgcnRjOjpSZWZDb3VudGVkT2JqZWN0PE1vY2tSdHBSZWNlaXZlcj4o
KTsKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8TW9ja1J0cFRyYW5zY2VpdmVyPiB0cmFuc2NlaXZl
ciA9IG5ldyBydGM6OlJlZkNvdW50ZWRPYmplY3Q8TW9ja1J0cFRyYW5zY2VpdmVyPihXVEZNb3Zl
KHNlbmRlciksIFdURk1vdmUocmVjZWl2ZXIpKTsKKworICAgIG1fdHJhbnNjZWl2ZXJzLmFwcGVu
ZChXVEZNb3ZlKHRyYW5zY2VpdmVyKSk7CisgICAgcmV0dXJuIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4obV90cmFuc2NlaXZlcnMubGFzdCgpLT5zZW5kZXIo
KSk7CiB9CiAKIGJvb2wgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpSZW1vdmVUcmFjayh3
ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZSogc2VuZGVyKQpAQCAtMjY0LDggKzI3Niw4IEBAIGJv
b2wgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpSZW1vdmVUcmFjayh3ZWJydGM6OlJ0cFNl
bmRlckludGVyZmFjZSogc2VuZGVyCiAgICAgICAgIG9ic2VydmVyLT5PblJlbmVnb3RpYXRpb25O
ZWVkZWQoKTsKICAgICB9KTsKICAgICBib29sIGlzUmVtb3ZlZCA9IGZhbHNlOwotICAgIHJldHVy
biBtX3NlbmRlcnMucmVtb3ZlRmlyc3RNYXRjaGluZyhbJl0oYXV0byYgaXRlbSkgewotICAgICAg
ICBpZiAoaXRlbS5nZXQoKSAhPSBzZW5kZXIpCisgICAgcmV0dXJuIG1fdHJhbnNjZWl2ZXJzLnJl
bW92ZUZpcnN0TWF0Y2hpbmcoWyZdKGF1dG8mIHRyYW5zY2VpdmVyKSB7CisgICAgICAgIGlmICh0
cmFuc2NlaXZlci0+c2VuZGVyKCkuZ2V0KCkgIT0gc2VuZGVyKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICBpc1JlbW92ZWQgPSB0cnVlOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTI4MSwxMSArMjkzLDExIEBAIHZvaWQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpD
cmVhdGVPZmZlcih3ZWJydGM6OkNyZWF0ZVNlc3Npb25EZXNjcmlwdGlvbk9iCiAgICAgICAgICAg
ICAibz0tIDU2NjcwOTQ2NDQyNjY5MzA4NDUgIiA8PCBtX2NvdW50ZXIrKyA8PCAiIElOIElQNCAx
MjcuMC4wLjFcclxuIgogICAgICAgICAgICAgInM9LVxyXG4iCiAgICAgICAgICAgICAidD0wIDBc
clxuIjsKLSAgICAgICAgaWYgKG1fc2VuZGVycy5zaXplKCkpIHsKKyAgICAgICAgaWYgKG1fdHJh
bnNjZWl2ZXJzLnNpemUoKSkgewogICAgICAgICAgICAgdW5zaWduZWQgcGFydENvdW50ZXIgPSAx
OwogICAgICAgICAgICAgc2RwIDw8ICJhPW1zaWQtc2VtYW50aWM6V01TICIgPDwgbV9zdHJlYW1M
YWJlbCA8PCAiXHJcbiI7Ci0gICAgICAgICAgICBmb3IgKGF1dG8mIHNlbmRlciA6IG1fc2VuZGVy
cykgewotICAgICAgICAgICAgICAgIGF1dG8gdHJhY2sgPSBzZW5kZXItPnRyYWNrKCk7CisgICAg
ICAgICAgICBmb3IgKGF1dG8mIHRyYW5zY2VpdmVyIDogbV90cmFuc2NlaXZlcnMpIHsKKyAgICAg
ICAgICAgICAgICBhdXRvIHRyYWNrID0gdHJhbnNjZWl2ZXItPnNlbmRlcigpLT50cmFjaygpOwog
ICAgICAgICAgICAgICAgIGlmICh0cmFjay0+a2luZCgpICE9ICJhdWRpbyIpCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIHNkcCA8PApAQCAtMzA0LDggKzMx
Niw4IEBAIHZvaWQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpDcmVhdGVPZmZlcih3ZWJy
dGM6OkNyZWF0ZVNlc3Npb25EZXNjcmlwdGlvbk9iCiAgICAgICAgICAgICAgICAgICAgICJhPWZp
bmdlcnByaW50OnNoYS0yNTYgOEI6ODc6MDk6OEE6NUQ6QzI6RjM6MzM6RUY6QzU6QjE6RjY6ODQ6
M0E6M0Q6RDY6QTM6RTI6OUM6MTc6NEM6RTc6NDY6M0I6MUI6Q0U6ODQ6OTg6REQ6OEU6QUY6N0Jc
clxuIgogICAgICAgICAgICAgICAgICAgICAiYT1zZXR1cDphY3RwYXNzXHJcbiI7CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBmb3IgKGF1dG8mIHNlbmRlciA6IG1fc2VuZGVycykgewotICAg
ICAgICAgICAgICAgIGF1dG8gdHJhY2sgPSBzZW5kZXItPnRyYWNrKCk7CisgICAgICAgICAgICBm
b3IgKGF1dG8mIHRyYW5zY2VpdmVyIDogbV90cmFuc2NlaXZlcnMpIHsKKyAgICAgICAgICAgICAg
ICBhdXRvIHRyYWNrID0gdHJhbnNjZWl2ZXItPnNlbmRlcigpLT50cmFjaygpOwogICAgICAgICAg
ICAgICAgIGlmICh0cmFjay0+a2luZCgpICE9ICJ2aWRlbyIpCiAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIHNkcCA8PApAQCAtMzQ1LDkgKzM1Nyw5IEBAIHZv
aWQgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uOjpDcmVhdGVPZmZlcih3ZWJydGM6OkNyZWF0
ZVNlc3Npb25EZXNjcmlwdGlvbk9iCiAgICAgICAgICAgICAibz0tIDU2NjcwOTQ2NDQyNjY5MzA4
NDYgIiA8PCBtX2NvdW50ZXIrKyA8PCAiIElOIElQNCAxMjcuMC4wLjFcclxuIgogICAgICAgICAg
ICAgInM9LVxyXG4iCiAgICAgICAgICAgICAidD0wIDBcclxuIjsKLSAgICAgICAgaWYgKG1fc2Vu
ZGVycy5zaXplKCkpIHsKLSAgICAgICAgICAgIGZvciAoYXV0byYgc2VuZGVyIDogbV9zZW5kZXJz
KSB7Ci0gICAgICAgICAgICAgICAgYXV0byB0cmFjayA9IHNlbmRlci0+dHJhY2soKTsKKyAgICAg
ICAgaWYgKG1fdHJhbnNjZWl2ZXJzLnNpemUoKSkgeworICAgICAgICAgICAgZm9yIChhdXRvJiB0
cmFuc2NlaXZlciA6IG1fdHJhbnNjZWl2ZXJzKSB7CisgICAgICAgICAgICAgICAgYXV0byB0cmFj
ayA9IHRyYW5zY2VpdmVyLT5zZW5kZXIoKS0+dHJhY2soKTsKICAgICAgICAgICAgICAgICBpZiAo
dHJhY2stPmtpbmQoKSAhPSAiYXVkaW8iKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgICAgICAgICBzZHAgPDwKQEAgLTM2NSw4ICszNzcsOCBAQCB2b2lkIE1vY2tMaWJX
ZWJSVENQZWVyQ29ubmVjdGlvbjo6Q3JlYXRlT2ZmZXIod2VicnRjOjpDcmVhdGVTZXNzaW9uRGVz
Y3JpcHRpb25PYgogICAgICAgICAgICAgICAgICAgICAiYT1maW5nZXJwcmludDpzaGEtMjU2IDhC
Ojg3OjA5OjhBOjVEOkMyOkYzOjMzOkVGOkM1OkIxOkY2Ojg0OjNBOjNEOkQ2OkEzOkUyOjlDOjE3
OjRDOkU3OjQ2OjNCOjFCOkNFOjg0Ojk4OkREOjhFOkFGOjdCXHJcbiIKICAgICAgICAgICAgICAg
ICAgICAgImE9c2V0dXA6YWN0aXZlXHJcbiI7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBm
b3IgKGF1dG8mIHNlbmRlciA6IG1fc2VuZGVycykgewotICAgICAgICAgICAgICAgIGF1dG8gdHJh
Y2sgPSBzZW5kZXItPnRyYWNrKCk7CisgICAgICAgICAgICBmb3IgKGF1dG8mIHRyYW5zY2VpdmVy
IDogbV90cmFuc2NlaXZlcnMpIHsKKyAgICAgICAgICAgICAgICBhdXRvIHRyYWNrID0gdHJhbnNj
ZWl2ZXItPnNlbmRlcigpLT50cmFjaygpOwogICAgICAgICAgICAgICAgIGlmICh0cmFjay0+a2lu
ZCgpICE9ICJ2aWRlbyIpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAg
ICAgICAgIHNkcCA8PApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGli
V2ViUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja0xpYldl
YlJUQ1BlZXJDb25uZWN0aW9uLmgKaW5kZXggMmRlNjYzZjY4NGY3NDI3Y2U0YWNmYTdmNWI2YmEw
ZDBjMGNhYzIxOS4uMzEzYTU0YmIxNDVmYzQ4NTJhMjBjMjliZTAxZjIxNjgxNjdjNjk2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVj
dGlvbi5oCkBAIC00NSw1MiArNDUsNiBAQCBjbGFzcyBNb2NrUnRwU2VuZGVyOwogdm9pZCB1c2VN
b2NrUlRDUGVlckNvbm5lY3Rpb25GYWN0b3J5KExpYldlYlJUQ1Byb3ZpZGVyKiwgY29uc3QgU3Ry
aW5nJik7CiB2b2lkIHVzZVJlYWxSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoTGliV2ViUlRDUHJv
dmlkZXImKTsKIAotY2xhc3MgTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uIDogcHVibGljIHdl
YnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2UgewotcHVibGljOgotICAgIH5Nb2NrTGliV2Vi
UlRDUGVlckNvbm5lY3Rpb24oKTsKLQotcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IE1vY2tMaWJX
ZWJSVENQZWVyQ29ubmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImIG9ic2Vy
dmVyKSA6IG1fb2JzZXJ2ZXIob2JzZXJ2ZXIpIHsgfQotCi1wcml2YXRlOgotICAgIHJ0Yzo6c2Nv
cGVkX3JlZnB0cjx3ZWJydGM6OlN0cmVhbUNvbGxlY3Rpb25JbnRlcmZhY2U+IGxvY2FsX3N0cmVh
bXMoKSBvdmVycmlkZSB7IHJldHVybiBudWxscHRyOyB9Ci0gICAgcnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6U3RyZWFtQ29sbGVjdGlvbkludGVyZmFjZT4gcmVtb3RlX3N0cmVhbXMoKSBvdmVy
cmlkZSB7IHJldHVybiBudWxscHRyOyB9Ci0gICAgY29uc3Qgd2VicnRjOjpTZXNzaW9uRGVzY3Jp
cHRpb25JbnRlcmZhY2UqIGxvY2FsX2Rlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbnVsbHB0cjsgfQotICAgIGNvbnN0IHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJm
YWNlKiByZW1vdGVfZGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBudWxscHRy
OyB9Ci0gICAgYm9vbCBBZGRJY2VDYW5kaWRhdGUoY29uc3Qgd2VicnRjOjpJY2VDYW5kaWRhdGVJ
bnRlcmZhY2UqKSBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0gICAgU2lnbmFsaW5nU3RhdGUg
c2lnbmFsaW5nX3N0YXRlKCkgb3ZlcnJpZGUgeyByZXR1cm4ga1N0YWJsZTsgfQotICAgIEljZUNv
bm5lY3Rpb25TdGF0ZSBpY2VfY29ubmVjdGlvbl9zdGF0ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIGtJ
Y2VDb25uZWN0aW9uTmV3OyB9Ci0gICAgSWNlR2F0aGVyaW5nU3RhdGUgaWNlX2dhdGhlcmluZ19z
dGF0ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIGtJY2VHYXRoZXJpbmdOZXc7IH0KLSAgICB2b2lkIFN0
b3BSdGNFdmVudExvZygpIG92ZXJyaWRlIHsgfQotICAgIHZvaWQgQ2xvc2UoKSBvdmVycmlkZSB7
IH0KLQotICAgIGJvb2wgQWRkU3RyZWFtKHdlYnJ0Yzo6TWVkaWFTdHJlYW1JbnRlcmZhY2UqKSBm
aW5hbCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZvaWQgUmVtb3ZlU3RyZWFtKHdlYnJ0Yzo6TWVk
aWFTdHJlYW1JbnRlcmZhY2UqKSBmaW5hbCB7IH0KLQotcHJvdGVjdGVkOgotICAgIHZvaWQgU2V0
UmVtb3RlRGVzY3JpcHRpb24od2VicnRjOjpTZXRTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlcios
IHdlYnJ0Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKikgZmluYWw7Ci0gICAgdm9pZCBD
cmVhdGVBbnN3ZXIod2VicnRjOjpDcmVhdGVTZXNzaW9uRGVzY3JpcHRpb25PYnNlcnZlciosIGNv
bnN0IHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U6OlJUQ09mZmVyQW5zd2VyT3B0aW9u
cyYpIGZpbmFsOwotICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkRhdGFDaGFubmVsSW50
ZXJmYWNlPiBDcmVhdGVEYXRhQ2hhbm5lbChjb25zdCBzdGQ6OnN0cmluZyYsIGNvbnN0IHdlYnJ0
Yzo6RGF0YUNoYW5uZWxJbml0KikgZmluYWw7Ci0gICAgd2VicnRjOjpSVENFcnJvck9yPHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4+IEFkZFRyYWNrKHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6Ok1lZGlhU3RyZWFtVHJhY2tJbnRlcmZhY2U+LCBjb25zdCBz
dGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIHN0cmVhbXMpIGZpbmFsOwotICAgIGJvb2wgUmVtb3Zl
VHJhY2sod2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2UqKSBmaW5hbDsKLSAgICB3ZWJydGM6OlJU
Q0Vycm9yIFNldEJpdHJhdGUoY29uc3QgQml0cmF0ZVBhcmFtZXRlcnMmKSBmaW5hbCB7IHJldHVy
biB7IH07IH0KLQotCi0gICAgdm9pZCBTZXRMb2NhbERlc2NyaXB0aW9uKHdlYnJ0Yzo6U2V0U2Vz
c2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCB3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbkludGVy
ZmFjZSopIG92ZXJyaWRlOwotICAgIGJvb2wgR2V0U3RhdHMod2VicnRjOjpTdGF0c09ic2VydmVy
Kiwgd2VicnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50ZXJmYWNlKiwgU3RhdHNPdXRwdXRMZXZlbCkg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2b2lkIENyZWF0ZU9mZmVyKHdlYnJ0Yzo6
Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCBjb25zdCB3ZWJydGM6OlBlZXJDb25u
ZWN0aW9uSW50ZXJmYWNlOjpSVENPZmZlckFuc3dlck9wdGlvbnMmKSBvdmVycmlkZTsKLQotICAg
IHZpcnR1YWwgdm9pZCBnb3RMb2NhbERlc2NyaXB0aW9uKCkgeyB9Ci0KLSAgICB3ZWJydGM6OlBl
ZXJDb25uZWN0aW9uT2JzZXJ2ZXImIG1fb2JzZXJ2ZXI7Ci0gICAgdW5zaWduZWQgbV9jb3VudGVy
IHsgMCB9OwotICAgIFZlY3RvcjxydGM6OnNjb3BlZF9yZWZwdHI8TW9ja1J0cFNlbmRlcj4+IG1f
c2VuZGVyczsKLSAgICBib29sIG1faXNJbml0aWF0b3IgeyB0cnVlIH07Ci0gICAgYm9vbCBtX2lz
UmVjZWl2aW5nQXVkaW8geyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc1JlY2VpdmluZ1ZpZGVvIHsg
ZmFsc2UgfTsKLSAgICBzdGQ6OnN0cmluZyBtX3N0cmVhbUxhYmVsOwotfTsKLQogY2xhc3MgTW9j
a0xpYldlYlJUQ1Nlc3Npb25EZXNjcmlwdGlvbjogcHVibGljIHdlYnJ0Yzo6U2Vzc2lvbkRlc2Ny
aXB0aW9uSW50ZXJmYWNlIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBNb2NrTGliV2ViUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uKHN0ZDo6c3RyaW5nJiYgc2RwKSA6IG1fc2RwKFdURk1vdmUoc2RwKSkg
eyB9CkBAIC0yMTMsNyArMTY3LDkgQEAgcHJpdmF0ZToKIAogY2xhc3MgTW9ja1J0cFNlbmRlciA6
IHB1YmxpYyB3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZSB7CiBwdWJsaWM6Ci0gICAgTW9ja1J0
cFNlbmRlcihydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50ZXJm
YWNlPiYmIHRyYWNrKSA6IG1fdHJhY2soV1RGTW92ZSh0cmFjaykpIHsgfQorICAgIGV4cGxpY2l0
IE1vY2tSdHBTZW5kZXIocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6TWVkaWFTdHJlYW1UcmFj
a0ludGVyZmFjZT4mJiB0cmFjaykgOiBtX3RyYWNrKFdURk1vdmUodHJhY2spKSB7IH0KKworcHJp
dmF0ZToKICAgICBib29sIFNldFRyYWNrKHdlYnJ0Yzo6TWVkaWFTdHJlYW1UcmFja0ludGVyZmFj
ZSogdHJhY2spIGZpbmFsCiAgICAgewogICAgICAgICBtX3RyYWNrID0gdHJhY2s7CkBAIC0yMzIs
NyArMTg4LDg5IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6TWVkaWFTdHJlYW1UcmFja0ludGVyZmFjZT4gbV90cmFjazsKIH07Ci0gICAgCisKK2Ns
YXNzIE1vY2tSdHBSZWNlaXZlciA6IHB1YmxpYyB3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNl
IHsKK3ByaXZhdGU6CisgICAgY3JpY2tldDo6TWVkaWFUeXBlIG1lZGlhX3R5cGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBjcmlja2V0OjpNRURJQV9UWVBFX1ZJREVPOyB9CisgICAgc3RkOjpzdHJp
bmcgaWQoKSBjb25zdCB7IHJldHVybiB7IH07IH0KKyAgICB3ZWJydGM6OlJ0cFBhcmFtZXRlcnMg
R2V0UGFyYW1ldGVycygpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQorICAgIGJvb2wgU2V0UGFyYW1l
dGVycyhjb25zdCB3ZWJydGM6OlJ0cFBhcmFtZXRlcnMmKSB7IHJldHVybiB0cnVlOyB9CisgICAg
dm9pZCBTZXRPYnNlcnZlcih3ZWJydGM6OlJ0cFJlY2VpdmVyT2JzZXJ2ZXJJbnRlcmZhY2UqKSB7
IH0KKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50ZXJm
YWNlPiB0cmFjaygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHsgfTsgfQorfTsKKworY2xhc3MgTW9j
a1J0cFRyYW5zY2VpdmVyIDogcHVibGljIHdlYnJ0Yzo6UnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2Ug
eworcHVibGljOgorICAgIE1vY2tSdHBUcmFuc2NlaXZlcihydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+JiYgc2VuZGVyLCBydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpSdHBSZWNlaXZlckludGVyZmFjZT4mJiByZWNlaXZlcikKKyAgICAgICAgOiBtX3NlbmRl
cihXVEZNb3ZlKHNlbmRlcikpCisgICAgICAgICwgbV9yZWNlaXZlcihXVEZNb3ZlKHJlY2VpdmVy
KSkKKyAgICB7CisgICAgfQorCisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2Vu
ZGVySW50ZXJmYWNlPiBzZW5kZXIoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3NlbmRlcjsgfQor
Citwcml2YXRlOgorICAgIGNyaWNrZXQ6Ok1lZGlhVHlwZSBtZWRpYV90eXBlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9zZW5kZXItPm1lZGlhX3R5cGUoKTsgfQorICAgIGFic2w6Om9wdGlvbmFs
PHN0ZDo6c3RyaW5nPiBtaWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB7IH07IH0KKyAgICBydGM6
OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZT4gcmVjZWl2ZXIoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX3JlY2VpdmVyOyB9CisgICAgYm9vbCBzdG9wcGVkKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB3ZWJydGM6OlJ0cFRyYW5zY2VpdmVyRGly
ZWN0aW9uIGRpcmVjdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHdlYnJ0Yzo6UnRwVHJhbnNj
ZWl2ZXJEaXJlY3Rpb246OmtTZW5kUmVjdjsgfQorICAgIHZvaWQgU2V0RGlyZWN0aW9uKHdlYnJ0
Yzo6UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24pIGZpbmFsIHsgfQorICAgIGFic2w6Om9wdGlvbmFs
PHdlYnJ0Yzo6UnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24+IGN1cnJlbnRfZGlyZWN0aW9uKCkgY29u
c3QgZmluYWwgeyByZXR1cm4geyB9OyB9CisgICAgdm9pZCBTdG9wKCkgZmluYWwgeyB9CisKK3By
aXZhdGU6CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNl
PiBtX3NlbmRlcjsKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlcklu
dGVyZmFjZT4gbV9yZWNlaXZlcjsKK307CisKK2NsYXNzIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVj
dGlvbiA6IHB1YmxpYyB3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlIHsKK3B1YmxpYzoK
KyAgICB+TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uKCk7CisKK3Byb3RlY3RlZDoKKyAgICBl
eHBsaWNpdCBNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlv
bk9ic2VydmVyJiBvYnNlcnZlcikgOiBtX29ic2VydmVyKG9ic2VydmVyKSB7IH0KKworcHJpdmF0
ZToKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpTdHJlYW1Db2xsZWN0aW9uSW50ZXJm
YWNlPiBsb2NhbF9zdHJlYW1zKCkgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlN0cmVhbUNvbGxlY3Rpb25JbnRlcmZhY2U+IHJlbW90
ZV9zdHJlYW1zKCkgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIGNvbnN0IHdlYnJ0
Yzo6U2Vzc2lvbkRlc2NyaXB0aW9uSW50ZXJmYWNlKiBsb2NhbF9kZXNjcmlwdGlvbigpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICBjb25zdCB3ZWJydGM6OlNlc3Npb25E
ZXNjcmlwdGlvbkludGVyZmFjZSogcmVtb3RlX2Rlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gbnVsbHB0cjsgfQorICAgIGJvb2wgQWRkSWNlQ2FuZGlkYXRlKGNvbnN0IHdlYnJ0
Yzo6SWNlQ2FuZGlkYXRlSW50ZXJmYWNlKikgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAg
IFNpZ25hbGluZ1N0YXRlIHNpZ25hbGluZ19zdGF0ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIGtTdGFi
bGU7IH0KKyAgICBJY2VDb25uZWN0aW9uU3RhdGUgaWNlX2Nvbm5lY3Rpb25fc3RhdGUoKSBvdmVy
cmlkZSB7IHJldHVybiBrSWNlQ29ubmVjdGlvbk5ldzsgfQorICAgIEljZUdhdGhlcmluZ1N0YXRl
IGljZV9nYXRoZXJpbmdfc3RhdGUoKSBvdmVycmlkZSB7IHJldHVybiBrSWNlR2F0aGVyaW5nTmV3
OyB9CisgICAgdm9pZCBTdG9wUnRjRXZlbnRMb2coKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIENs
b3NlKCkgb3ZlcnJpZGUgeyB9CisKKyAgICBib29sIEFkZFN0cmVhbSh3ZWJydGM6Ok1lZGlhU3Ry
ZWFtSW50ZXJmYWNlKikgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2b2lkIFJlbW92ZVN0
cmVhbSh3ZWJydGM6Ok1lZGlhU3RyZWFtSW50ZXJmYWNlKikgZmluYWwgeyB9CisKKyAgICBzdGQ6
OnZlY3RvcjxydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBUcmFuc2NlaXZlckludGVyZmFj
ZT4+IEdldFRyYW5zY2VpdmVycygpIGNvbnN0IGZpbmFsOworCitwcm90ZWN0ZWQ6CisgICAgdm9p
ZCBTZXRSZW1vdGVEZXNjcmlwdGlvbih3ZWJydGM6OlNldFNlc3Npb25EZXNjcmlwdGlvbk9ic2Vy
dmVyKiwgd2VicnRjOjpTZXNzaW9uRGVzY3JpcHRpb25JbnRlcmZhY2UqKSBmaW5hbDsKKyAgICB2
b2lkIENyZWF0ZUFuc3dlcih3ZWJydGM6OkNyZWF0ZVNlc3Npb25EZXNjcmlwdGlvbk9ic2VydmVy
KiwgY29uc3Qgd2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjZTo6UlRDT2ZmZXJBbnN3ZXJP
cHRpb25zJikgZmluYWw7CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6RGF0YUNoYW5u
ZWxJbnRlcmZhY2U+IENyZWF0ZURhdGFDaGFubmVsKGNvbnN0IHN0ZDo6c3RyaW5nJiwgY29uc3Qg
d2VicnRjOjpEYXRhQ2hhbm5lbEluaXQqKSBmaW5hbDsKKyAgICB3ZWJydGM6OlJUQ0Vycm9yT3I8
cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlPj4gQWRkVHJhY2so
cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6TWVkaWFTdHJlYW1UcmFja0ludGVyZmFjZT4sIGNv
bnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgc3RyZWFtcykgZmluYWw7CisgICAgYm9vbCBS
ZW1vdmVUcmFjayh3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZSopIGZpbmFsOworICAgIHdlYnJ0
Yzo6UlRDRXJyb3IgU2V0Qml0cmF0ZShjb25zdCBCaXRyYXRlUGFyYW1ldGVycyYpIGZpbmFsIHsg
cmV0dXJuIHsgfTsgfQorCisgICAgdm9pZCBTZXRMb2NhbERlc2NyaXB0aW9uKHdlYnJ0Yzo6U2V0
U2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCB3ZWJydGM6OlNlc3Npb25EZXNjcmlwdGlvbklu
dGVyZmFjZSopIG92ZXJyaWRlOworICAgIGJvb2wgR2V0U3RhdHMod2VicnRjOjpTdGF0c09ic2Vy
dmVyKiwgd2VicnRjOjpNZWRpYVN0cmVhbVRyYWNrSW50ZXJmYWNlKiwgU3RhdHNPdXRwdXRMZXZl
bCkgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2b2lkIENyZWF0ZU9mZmVyKHdlYnJ0
Yzo6Q3JlYXRlU2Vzc2lvbkRlc2NyaXB0aW9uT2JzZXJ2ZXIqLCBjb25zdCB3ZWJydGM6OlBlZXJD
b25uZWN0aW9uSW50ZXJmYWNlOjpSVENPZmZlckFuc3dlck9wdGlvbnMmKSBvdmVycmlkZTsKKwor
ICAgIHZpcnR1YWwgdm9pZCBnb3RMb2NhbERlc2NyaXB0aW9uKCkgeyB9CisKKyAgICB3ZWJydGM6
OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImIG1fb2JzZXJ2ZXI7CisgICAgdW5zaWduZWQgbV9jb3Vu
dGVyIHsgMCB9OworICAgIFZlY3RvcjxydGM6OnNjb3BlZF9yZWZwdHI8TW9ja1J0cFRyYW5zY2Vp
dmVyPj4gbV90cmFuc2NlaXZlcnM7CisgICAgYm9vbCBtX2lzSW5pdGlhdG9yIHsgdHJ1ZSB9Owor
ICAgIGJvb2wgbV9pc1JlY2VpdmluZ0F1ZGlvIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNSZWNl
aXZpbmdWaWRlbyB7IGZhbHNlIH07CisgICAgc3RkOjpzdHJpbmcgbV9zdHJlYW1MYWJlbDsKK307
CisKIGNsYXNzIE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkgOiBwdWJsaWMgd2Vi
cnRjOjpQZWVyQ29ubmVjdGlvbkZhY3RvcnlJbnRlcmZhY2UgewogcHVibGljOgogICAgIHN0YXRp
YyBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVjdGlvbkZhY3RvcnlJbnRlcmZh
Y2U+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHRlc3RDYXNlKSB7IHJldHVybiBuZXcgcnRjOjpSZWZD
b3VudGVkT2JqZWN0PE1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkZhY3Rvcnk+KHRlc3RDYXNl
KTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGE3YTk4OWQyOTY1MzU3OTYxMmJlNmRhNzFiMTBhMzE0NTY5NTFlYjYuLjNh
NGYzZjc5ZDk2ODJiZGU3MjM0NGQyMmI2NDhhZmY0ZDY5ZTBhZWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NCBAQAorMjAxOS0wOC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBtb2NrIGxpYndlYnJ0YyB0ZXN0cyBydW4gd2l0aCB1bmlmaWVkIHBsYW4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDcxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSB1bmlm
aWVkIHBsYW4uCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LWljZWNhbmRpZGF0ZS1ldmVudC5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24taWNlY29ubmVjdGlvbnN0YXRlY2hhbmdlLWV2ZW50Lmh0bWw6CisgICAg
ICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5o
dG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVj
dC1vZmZlci5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24tbWVkaWEtc2V0dXAtc2luZ2xlLWRpYWxvZy5odG1sOgorICAgICAgICAqIGZhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3RlbHktYXNzaWduZWQtdHJhbnNjZWl2ZXItbWlk
Lmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zZXRM
b2NhbERlc2NyaXB0aW9uLW9mZmVyLmh0bWw6CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1zZXRSZW1vdGVEZXNjcmlwdGlvbi1vZmZlci5odG1sOgorICAgICAg
ICAqIHdlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1jcmVhdGluZy1vZmZlci5odG1sOgor
ICAgICAgICAqIHdlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1nZXR0aW5nLXN0YXRzLmh0
bWw6CisgICAgICAgICogd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLXNldHRpbmctbG9j
YWwtZGVzY3JpcHRpb24uaHRtbDoKKwogMjAxOS0wOC0xMyAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpUGFkT1NdIHNsaWRlcy5nb29nbGUuY29tOiBDYW5u
b3QgZGlzbWlzcyB0aGUgY29udGV4dCBtZW51IGJ5IHRhcHBpbmcgb24gdGhlIGNhbnZhcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1p
Y2VjYW5kaWRhdGUtZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24taWNlY2FuZGlkYXRlLWV2ZW50Lmh0bWwKaW5kZXggNDRlMmQzY2ZlNzlm
ODJkNWVkY2QwZTdiMmYyNzAzM2Q4YmJhNDQ0ZC4uNDg0ODhkNTUxYWQ5ZjY2NDg2MjQ2MmUzN2Iy
NGFhOGY0YmE0YTE0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi1pY2VjYW5kaWRhdGUtZXZlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZWNhbmRpZGF0ZS1ldmVudC5o
dG1sCkBAIC04LDkgKzgsNiBAQAogICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAgZGVzY3Jp
cHRpb24oIlRlc3QgUlRDUGVlckNvbm5lY3Rpb24gJ2ljZWNhbmRpZGF0ZScgZXZlbnQgYW5kIGdh
dGhlcmluZyBkb25lIik7CiAKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFdlYlJUQ1VuaWZpZWRQbGFuRW5hYmxlZChmYWxz
ZSk7Ci0KICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgICAg
IGludGVybmFscy51c2VNb2NrUlRDUGVlckNvbm5lY3Rpb25GYWN0b3J5KCJJQ0VDYW5kaWRhdGVz
Iik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24taWNlY29ubmVjdGlvbnN0YXRlY2hhbmdlLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZWNvbm5lY3Rpb25zdGF0ZWNo
YW5nZS1ldmVudC5odG1sCmluZGV4IGNjYzJiOTIxMGRhZTQzN2E0YmIxZDhhZDdiOTM1YmIxNWE1
Zjc3MGEuLjRkYjA1NjQ3OWE0YjFmNzViOWU2MWQ1NjFlNjQwNzRiY2VhYmU0YTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taWNlY29u
bmVjdGlvbnN0YXRlY2hhbmdlLWV2ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pY2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2UtZXZlbnQu
aHRtbApAQCAtNyw4ICs3LDYgQEAKICAgICA8Ym9keT4KICAgICAgICAgPHNjcmlwdD4KICAgICAg
ICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IFJUQ1BlZXJDb25uZWN0aW9uICdpY2Vjb25uZWN0aW9u
c3RhdGVjaGFuZ2UnIGV2ZW50Iik7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJSVENVbmlmaWVkUGxhbkVuYWJsZWQo
ZmFsc2UpOwogCiAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgICAg
ICAgICBpbnRlcm5hbHMudXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFjdG9yeSgiSUNFQ29ubmVj
dGlvblN0YXRlIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWluc3BlY3QtYW5zd2VyLmh0bWwKaW5kZXggYWUx
MzQyODU4MDVhMDc1YzMxZjNmOTg3YjBlMzVlNWY2MzQyNGU0Ny4uMDRkZDZlMzg4YzhmOTk0Nzhi
ODc5NGQ5YTI2M2Q4NGQ3NzZkMzg0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0LWFuc3dlci5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVjdC1hbnN3ZXIu
aHRtbApAQCAtNiw5ICs2LDYgQEAKICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+CiAgICAgICAgIDxz
Y3JpcHQ+Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRXZWJSVENVbmlmaWVkUGxhbkVuYWJsZWQoZmFsc2UpOwotCiAgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMu
dXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFjdG9yeSgiIik7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24taW5zcGVjdC1vZmZlci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNw
ZWN0LW9mZmVyLmh0bWwKaW5kZXggOGU2MzYzODJiMGY1NDNkMzZhZGIxMWU4YTYyOGQ1N2UzNjQ0
ODU4OS4uOWMzYzIwYzhiMDNjMzkzMzZmOTg1YTU4OTk3OWU2ZjZlOTM1OTUxZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1pbnNwZWN0
LW9mZmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1pbnNwZWN0LW9mZmVyLmh0bWwKQEAgLTYsOSArNiw2IEBACiAgICAgPC9oZWFkPgog
ICAgIDxib2R5PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0V2ViUlRDVW5pZmllZFBsYW5F
bmFibGVkKGZhbHNlKTsKLQogICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAg
ICAgICAgICAgICAgaW50ZXJuYWxzLnVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoIiIp
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLW1lZGlhLXNldHVwLXNpbmdsZS1kaWFsb2cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tbWVkaWEtc2V0dXAtc2luZ2xlLWRpYWxvZy5o
dG1sCmluZGV4IGU4MjkzMjhiYjczNmI1YjVlMTI1OTM2N2Y1OGZjMDgyN2E3Y2NkNzIuLjQ4MjFl
NDY4ZmI3OGVjNDQ0NTJmNjY2YTk3OGQxYTFhNWUxNDk1N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tbWVkaWEtc2V0dXAtc2luZ2xl
LWRpYWxvZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24tbWVkaWEtc2V0dXAtc2luZ2xlLWRpYWxvZy5odG1sCkBAIC02LDkgKzYsNiBAQAog
ICAgIDwvaGVhZD4KICAgICA8Ym9keT4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFdlYlJU
Q1VuaWZpZWRQbGFuRW5hYmxlZChmYWxzZSk7Ci0KICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQogICAgICAgICAgICAgICAgIGludGVybmFscy51c2VNb2NrUlRDUGVlckNvbm5lY3Rp
b25GYWN0b3J5KCIiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1yZW1vdGVseS1hc3NpZ25lZC10cmFuc2NlaXZlci1taWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tcmVtb3Rl
bHktYXNzaWduZWQtdHJhbnNjZWl2ZXItbWlkLmh0bWwKaW5kZXggMGUzYjVmZDcyOWRjMDYwY2Q0
ZGM3YjliNWIyMzg3Nzk5YTc5ZDZhNC4uOTczZTEzOTk1OGVlMzUyOTVmOGM0MzBlZmYyMjI3OTQ0
YzAwYmQxOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1yZW1vdGVseS1hc3NpZ25lZC10cmFuc2NlaXZlci1taWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXJlbW90ZWx5LWFz
c2lnbmVkLXRyYW5zY2VpdmVyLW1pZC5odG1sCkBAIC02LDkgKzYsNiBAQAogICAgIDwvaGVhZD4K
ICAgICA8Ym9keT4KICAgICAgICAgPHNjcmlwdD4KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFdlYlJUQ1VuaWZpZWRQbGFu
RW5hYmxlZChmYWxzZSk7Ci0KICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAg
ICAgICAgICAgICAgIGludGVybmFscy51c2VNb2NrUlRDUGVlckNvbm5lY3Rpb25GYWN0b3J5KCIi
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1zZXRMb2NhbERlc2NyaXB0aW9uLW9mZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXNldExvY2FsRGVzY3JpcHRpb24tb2ZmZXIu
aHRtbAppbmRleCBjYmQ1MTZmM2Q3M2FlZDI2Yzg4YjdiNTYxYzUxMDU1ZGY2ZDlhODcwLi4yMjll
NGI1YzdlYmUzZjRiODVkOWQ0ZThiNTBlMTkzNjA5MjQxZjI1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXNldExvY2FsRGVzY3JpcHRp
b24tb2ZmZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uLXNldExvY2FsRGVzY3JpcHRpb24tb2ZmZXIuaHRtbApAQCAtNiw5ICs2LDYgQEAK
ICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+CiAgICAgICAgIDxzY3JpcHQ+Ci0gICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRXZWJS
VENVbmlmaWVkUGxhbkVuYWJsZWQoZmFsc2UpOwotCiAgICAgICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKICAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXNlTW9ja1JUQ1BlZXJDb25uZWN0
aW9uRmFjdG9yeSgiIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24tc2V0UmVtb3RlRGVzY3JpcHRpb24tb2ZmZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tc2V0UmVtb3RlRGVz
Y3JpcHRpb24tb2ZmZXIuaHRtbAppbmRleCA4MTE4MzAxOWIxNWM5NTgzZmY2NzMxYTE3ZDY4ODNj
NDVjNzkzMzYyLi5jYWMzN2YwNzhhNzA0Zjg0NTBlMGY2YjAyMTA0NmI1YTUzMzg2ZWFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXNl
dFJlbW90ZURlc2NyaXB0aW9uLW9mZmVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zZXRSZW1vdGVEZXNjcmlwdGlvbi1vZmZlci5odG1s
CkBAIC02LDkgKzYsNiBAQAogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KICAgICAgICAgPHNjcmlw
dD4KLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldFdlYlJUQ1VuaWZpZWRQbGFuRW5hYmxlZChmYWxzZSk7Ci0KICAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgICAgICAgICAgICAgIGludGVybmFscy51c2VN
b2NrUlRDUGVlckNvbm5lY3Rpb25GYWN0b3J5KCIiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLWNyZWF0aW5nLW9mZmVyLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVhc2Utd2hpbGUtY3JlYXRpbmctb2ZmZXIu
aHRtbAppbmRleCA1MThhZWY3OTg2NWVmMjY2MTIzNTE0ODY1NGM3MDQ3ODA0NGJlNTA4Li5jYzdi
ZWQ5Zjg5ZDY2OTY1ZTJjZjZkMDcyNDllMjI3NDIwMmVhY2VkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVhc2Utd2hpbGUtY3JlYXRpbmctb2ZmZXIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVhc2Utd2hpbGUtY3JlYXRpbmct
b2ZmZXIuaHRtbApAQCAtNyw5ICs3LDYgQEAKIDxzY3JpcHQ+CiBzZWxmLmpzVGVzdElzQXN5bmMg
PSB0cnVlOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRXZWJS
VENVbmlmaWVkUGxhbkVuYWJsZWQoZmFsc2UpOwotCiBpZiAod2luZG93LmludGVybmFscykKICAg
ICBpbnRlcm5hbHMudXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFjdG9yeSgiTGliV2ViUlRDUmVs
ZWFzaW5nV2hpbGVDcmVhdGluZ09mZmVyIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1nZXR0aW5nLXN0YXRzLmh0bWwgYi9MYXlvdXRU
ZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVhc2Utd2hpbGUtZ2V0dGluZy1zdGF0cy5odG1sCmlu
ZGV4IDNmMTIwZGE0MDA0MjU0ZmJkNWU2M2Q0MGMzOWQzNzE3MzU0YWVjNmIuLmE5NDQ0OWVmNjBm
Y2ViZWVhMjgxMmU5YzM0YTc4ZTkxODlmZWJiMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dl
YnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1nZXR0aW5nLXN0YXRzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLWdldHRpbmctc3RhdHMuaHRt
bApAQCAtNyw5ICs3LDYgQEAKIDxzY3JpcHQ+CiBzZWxmLmpzVGVzdElzQXN5bmMgPSB0cnVlOwog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRXZWJSVENVbmlmaWVk
UGxhbkVuYWJsZWQoZmFsc2UpOwotCiBpZiAod2luZG93LmludGVybmFscykKICAgICBpbnRlcm5h
bHMudXNlTW9ja1JUQ1BlZXJDb25uZWN0aW9uRmFjdG9yeSgiTGliV2ViUlRDUmVsZWFzaW5nV2hp
bGVHZXR0aW5nU3RhdHMiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL2xpYndl
YnJ0Yy9yZWxlYXNlLXdoaWxlLXNldHRpbmctbG9jYWwtZGVzY3JpcHRpb24uaHRtbCBiL0xheW91
dFRlc3RzL3dlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1zZXR0aW5nLWxvY2FsLWRlc2Ny
aXB0aW9uLmh0bWwKaW5kZXggZmE5YzY1MzRhNjU0NGQzYmQ5NDNiNDg4ODY4MGUwODJiNTU0ZGYz
Yy4uNjJlODk5ZTdmMWZhNzU1YmU4ODMzYTc1NzIwYjlkYzljYmJkNmVmNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvd2VicnRjL2xpYndlYnJ0Yy9yZWxlYXNlLXdoaWxlLXNldHRpbmctbG9jYWwt
ZGVzY3JpcHRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvbGlid2VicnRjL3JlbGVh
c2Utd2hpbGUtc2V0dGluZy1sb2NhbC1kZXNjcmlwdGlvbi5odG1sCkBAIC0xMCw5ICsxMCw2IEBA
IHNlbGYuanNUZXN0SXNBc3luYyA9IHRydWU7CiAvLyBTaWxlbmNlIHVuaGFuZGxlZCByZWplY3Rp
b24gbWVzc2FnZXMuCiB3aW5kb3cub251bmhhbmRsZWRyZWplY3Rpb24gPSAoKSA9PiBmYWxzZTsK
IAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuc2V0V2ViUlRDVW5pZmll
ZFBsYW5FbmFibGVkKGZhbHNlKTsKLQogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJu
YWxzLnVzZU1vY2tSVENQZWVyQ29ubmVjdGlvbkZhY3RvcnkoIkxpYldlYlJUQ1JlbGVhc2luZ1do
aWxlU2V0dGluZ0Rlc2NyaXB0aW9uIik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>