<?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>229847</bug_id>
          
          <creation_ts>2021-09-02 20:02:54 -0700</creation_ts>
          <short_desc>Safari’s Privacy Report window is completely blank</short_desc>
          <delta_ts>2021-09-03 15:48:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kate Cheney">katherine_cheney</reporter>
          <assigned_to name="Kate Cheney">katherine_cheney</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1790028</commentid>
    <comment_count>0</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-02 20:02:54 -0700</bug_when>
    <thetext>Safari’s Privacy Report window is completely blank</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790029</commentid>
    <comment_count>1</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-02 20:03:18 -0700</bug_when>
    <thetext>rdar://80974688</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790030</commentid>
    <comment_count>2</comment_count>
      <attachid>437237</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-02 20:05:07 -0700</bug_when>
    <thetext>Created attachment 437237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790149</commentid>
    <comment_count>3</comment_count>
      <attachid>437237</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-09-03 07:21:35 -0700</bug_when>
    <thetext>Comment on attachment 437237
Patch

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

r=me

&gt; Source/WebKit/ChangeLog:9
&gt; +        No new tests, suspension kicks in 30 seconds after a web process

You could imagine an SPI to tweak that delay but OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790282</commentid>
    <comment_count>4</comment_count>
      <attachid>437294</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 12:19:16 -0700</bug_when>
    <thetext>Created attachment 437294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790283</commentid>
    <comment_count>5</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 12:19:42 -0700</bug_when>
    <thetext>Added a test, would like another review in case I did something silly!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790284</commentid>
    <comment_count>6</comment_count>
      <attachid>437294</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-09-03 12:25:17 -0700</bug_when>
    <thetext>Comment on attachment 437294
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:86
&gt; +- (void)_suspendAllCachedWebProcesses WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

I&apos;d much rather we have a single SPI to tweak cachedProcessSuspensionDelay, as I suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790291</commentid>
    <comment_count>7</comment_count>
      <attachid>437296</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 12:36:40 -0700</bug_when>
    <thetext>Created attachment 437296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790301</commentid>
    <comment_count>8</comment_count>
      <attachid>437296</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-09-03 12:46:03 -0700</bug_when>
    <thetext>Comment on attachment 437296
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:86
&gt; +- (void)_suspendAllCachedWebProcesses WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

This new iteration still has the same issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790319</commentid>
    <comment_count>9</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 13:04:53 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #8)
&gt; Comment on attachment 437296 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=437296&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:86
&gt; &gt; +- (void)_suspendAllCachedWebProcesses WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; 
&gt; This new iteration still has the same issue.

Sorry, I missed your comment and was just posting to adjust the build failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790357</commentid>
    <comment_count>10</comment_count>
      <attachid>437310</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 14:06:39 -0700</bug_when>
    <thetext>Created attachment 437310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790361</commentid>
    <comment_count>11</comment_count>
      <attachid>437310</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-09-03 14:14:04 -0700</bug_when>
    <thetext>Comment on attachment 437310
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:85
&gt; +- (void)_keepCachedProcessesAliveForTesting:(BOOL)shouldKeepCachedProcessesAliveForTesting WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

Why do we still have this? I think we should avoid adding this.

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:86
&gt; +- (void)_setCachedProcessSuspensionDelayForTesting:(double)delayInSeconds WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

This could be:
+ (void)_setCachedProcessSuspensionDelayForTesting:(double)delayInSeconds WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

since this is static internally.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:1355
&gt; +    [dataStore _setCachedProcessSuspensionDelayForTesting:0];

Could be [WKWebsiteDataStore _setCachedProcessSuspensionDelayForTesting:0] with the change I suggested above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790377</commentid>
    <comment_count>12</comment_count>
      <attachid>437315</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 14:45:40 -0700</bug_when>
    <thetext>Created attachment 437315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790386</commentid>
    <comment_count>13</comment_count>
      <attachid>437315</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-09-03 14:50:26 -0700</bug_when>
    <thetext>Comment on attachment 437315
Patch

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

&gt; Source/WebKit/UIProcess/WebProcessCache.cpp:44
&gt; +static Seconds&amp; cachedProcessSuspensionDelay()

Why do we need a function, I don&apos;t see any reason why we cannot keep my global and drop &quot;constexpr&quot;, is there?

&gt; Source/WebKit/UIProcess/WebProcessCache.cpp:327
&gt; +#if PLATFORM(MAC)

Either outside the function or inside but not both :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790388</commentid>
    <comment_count>14</comment_count>
      <attachid>437315</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 14:54:56 -0700</bug_when>
    <thetext>Comment on attachment 437315
Patch

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

&gt;&gt; Source/WebKit/UIProcess/WebProcessCache.cpp:44
&gt;&gt; +static Seconds&amp; cachedProcessSuspensionDelay()
&gt; 
&gt; Why do we need a function, I don&apos;t see any reason why we cannot keep my global and drop &quot;constexpr&quot;, is there?

No good reason except me being silly

&gt;&gt; Source/WebKit/UIProcess/WebProcessCache.cpp:327
&gt;&gt; +#if PLATFORM(MAC)
&gt; 
&gt; Either outside the function or inside but not both :)

Oops, Friday brain. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790389</commentid>
    <comment_count>15</comment_count>
      <attachid>437317</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-03 14:56:38 -0700</bug_when>
    <thetext>Created attachment 437317
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790391</commentid>
    <comment_count>16</comment_count>
      <attachid>437317</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-09-03 14:59:40 -0700</bug_when>
    <thetext>Comment on attachment 437317
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1790418</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-03 15:48:14 -0700</bug_when>
    <thetext>Committed r282034 (241336@main): &lt;https://commits.webkit.org/241336@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437317.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437237</attachid>
            <date>2021-09-02 20:05:07 -0700</date>
            <delta_ts>2021-09-03 12:19:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229847-20210902200506.patch</filename>
            <type>text/plain</type>
            <size>1860</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYzU5NDI1ZjkzOTgxYzc0
OGMwY2I5ZTI0MDUxMzZiZTdlMGZlZTAuLjU4MmRlZTM0Mjg5ZTAxZWMxNmQ4NmU5MGExNWI0YzA1
MzJjZDM0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDktMDIgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgU2FmYXJp4oCZcyBQ
cml2YWN5IFJlcG9ydCB3aW5kb3cgaXMgY29tcGxldGVseSBibGFuaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5ODQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84MDk3NDY4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIHN1c3BlbnNpb24ga2lja3MgaW4gMzAgc2Vjb25kcyBh
ZnRlciBhIHdlYiBwcm9jZXNzCisgICAgICAgIGVudGVycyB0aGUgY2FjaGUgc28gaXQncyBoYXJk
IHRvIHRlc3QuIE1hbnVhbGx5IGNvbmZpcm1lZCB0aGlzIGZpeGVzCisgICAgICAgIHRoZSBidWcu
CisKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCB3YWl0IGZvciBhbiBJUEMgcmVwbHkgb24gYSBjYWNo
ZWQgd2ViIHByb2Nlc3MsIGJlY2F1c2UKKyAgICAgICAgaXQgd2lsbCBjYXVzZSBsb25nIGhhbmdz
LgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUltbWVk
aWF0ZWx5KToKKwogMjAyMS0wOC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBVSUV2ZW50QXR0cmlidXRpb24gU1BJIHRoYXQgdXNl
cyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCAxZjgzZDQwMzI0OWMx
ZDc4MzZjZDJjNDRmMmQ4NzZkYzkzMzA0MTMxLi4zNTE1MGMyOWRjOGU2MzVmYWM5NGMyM2QxNWYx
OWJjNDczNWQzYWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCkBAIC0yMDM0LDggKzIwMzQsMTIgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2VuZFJlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHkoQ29tcGxldGlvbkhhbmRsZXIKIHsKICAg
ICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAotICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHBy
b2Nlc3NlcygpKQorICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKSB7CisgICAg
ICAgIGlmICghcHJvY2Vzcy0+cGFnZUNvdW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKwog
ICAgICAgICBwcm9jZXNzLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3M6
OlNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUltbWVkaWF0ZWx5KCksIFtjYWxsYmFja0Fn
Z3JlZ2F0b3JdIHsgfSk7CisgICAgfQogfQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437294</attachid>
            <date>2021-09-03 12:19:16 -0700</date>
            <delta_ts>2021-09-03 12:40:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229847-20210903121915.patch</filename>
            <type>text/plain</type>
            <size>14280</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYzU5NDI1ZjkzOTgxYzc0
OGMwY2I5ZTI0MDUxMzZiZTdlMGZlZTAuLmUwZGM3NmRhNjY3MjlkM2UxYzI3NjlkNDJhYjNkN2Rk
NGE5ZGY2ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDktMDMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgU2FmYXJp4oCZcyBQ
cml2YWN5IFJlcG9ydCB3aW5kb3cgaXMgY29tcGxldGVseSBibGFuaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5ODQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84MDk3NDY4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBzaG91bGQgbm90IHdhaXQgZm9yIGFuIElQQyByZXBseSBvbiBhIGNhY2hl
ZCB3ZWIgcHJvY2VzcywgYmVjYXVzZQorICAgICAgICBpdCB3aWxsIGNhdXNlIGxvbmcgaGFuZ3Mu
CisKKyAgICAgICAgSW4gb3JkZXIgdG8gdGVzdCB0aGlzIEkgYWRkZWQgdHdvIG5ldyBTUElzLCBv
bmUgd2hpY2ggaW1tZWRpYXRlbHkKKyAgICAgICAgc3VzcGVuZHMgd2ViIHByb2Nlc3NlcyBpbiB0
aGUgY2FjaGUgKHRoZSB1c3VhbCB0aW1lb3V0IGlzIDMwIHNlY29uZHMpCisgICAgICAgIGFuZCBh
bm90aGVyIHRvIGtlZXAgY2FjaGVkIHdlYiBwcm9jZXNzZXMgZnJvbSBiZWluZyBkZXN0cm95ZWQg
d2hlbgorICAgICAgICB0aGV5IGFyZSBtYXJrZWQgdW5yZXNwb25zaXZlLCBzbyB3ZSBjYW4gYmUg
c3VyZSB0aGF0IGNhY2hlZCBwcm9jZXNzZXMKKyAgICAgICAgZXhpc3Qgd2hlbiB3ZSBxdWVyeSBm
b3IgdGhlIElUUCBkYXRhIHN1bW1hcnkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAgKC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9r
ZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nOl0pOgorICAgICAgICAoLVtXS1dlYnNp
dGVEYXRhU3RvcmUgX3N1c3BlbmRBbGxDYWNoZWRXZWJQcm9jZXNzZXNdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6c2VuZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6a2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9y
VGVzdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpzdXNwZW5kQWxsQ2Fj
aGVkV2ViUHJvY2Vzc2VzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRCZWNvbWVVbnJlc3BvbnNpdmUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjpzZXRLZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYnNpdGVEYXRhU3RvcmU6OmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmcp
OgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpzdXNwZW5kQWxsQ2FjaGVkV2Vi
UHJvY2Vzc2VzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oOgorCiAyMDIxLTA4LTI3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFVJRXZlbnRBdHRyaWJ1dGlvbiBTUEkgdGhhdCB1c2Vz
IFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25FcGhlbWVyYWw6OlllcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9y
ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3Rv
cmUubW0KaW5kZXggOTFiYzZmYmY1MDVjNGM0ZDJjNWI0NDI1ZWEwMzRkYTY4MjNlOTI4My4uNjc4
YjE0OGM0Y2RhMzU1ODY5NzA2YjI1M2E2NjYxZDEzNTczNTcxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBA
IC01NDQsNiArNTQ0LDE2IEBAIHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29y
ZD4gdG9XZWJzaXRlRGF0YVJlY29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAjZW5kaWYKIH0KIAor
LSAodm9pZClfa2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZzooQk9PTClzaG91bGRL
ZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nCit7CisgICAgX3dlYnNpdGVEYXRhU3Rv
cmUtPmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmcoc2hvdWxkS2VlcENhY2hlZFBy
b2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyk7Cit9CisKKy0gKHZvaWQpX3N1c3BlbmRBbGxDYWNoZWRX
ZWJQcm9jZXNzZXMKK3sKKyAgICBfd2Vic2l0ZURhdGFTdG9yZS0+c3VzcGVuZEFsbENhY2hlZFdl
YlByb2Nlc3NlcygpOworfQorCiAtICh2b2lkKV9pc1JlbGF0aW9uc2hpcE9ubHlJbkRhdGFiYXNl
T25jZTooTlNVUkwgKilmaXJzdFBhcnR5VVJMIHRoaXJkUGFydHk6KE5TVVJMICopdGhpcmRQYXJ0
eVVSTCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIK
IHsKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQ
cml2YXRlLmgKaW5kZXggMDE3MTNlNjAxN2Q1ZDE3MGYwNmQ1OWFhMDk2OWRmZGU4ZDM0N2ZlYy4u
NDU3NjYzMTYzNzhkMTRhYWI0YTZkMjUwZmMzYmFhYzlkZDhlNjQ0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0
b3JlUHJpdmF0ZS5oCkBAIC04Miw2ICs4Miw5IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBfV0tXZWJzaXRlRGF0YVN0b3JlRmV0Y2hPcHRpb25zKSB7CiAtICh2b2lkKV9hcHBCb3Vu
ZERvbWFpbnM6KHZvaWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29tcGxldGlvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4wKSwgaW9zKDE0LjApKTsKIC0gKHZvaWQpX2Fw
cEJvdW5kU2NoZW1lczoodm9pZCAoXikoTlNBcnJheTxOU1N0cmluZyAqPiAqKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCistICh2
b2lkKV9rZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nOihCT09MKXNob3VsZEtlZXBD
YWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3N1c3BlbmRBbGxDYWNoZWRXZWJQ
cm9jZXNzZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKwogLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZUNoYWluOihOU0FycmF5ICopY2Vy
dGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMi4wKSwgaW9zKDE1LjApKTsKIAogLSAodm9pZClfcmVuYW1lT3JpZ2luOihOU1VSTCAq
KW9sZE5hbWUgdG86KE5TVVJMICopbmV3TmFtZSBmb3JEYXRhT2ZUeXBlczooTlNTZXQ8TlNTdHJp
bmcgKj4gKilkYXRhVHlwZXMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CmluZGV4IDFmODNkNDAzMjQ5YzFkNzgzNmNkMmM0NGYyZDg3NmRjOTMzMDQxMzEuLjlmODVjYmY1
MmM4YTdmNGEzZmZmNzQ5MGI1ZTJlYTdiYmFjMzA0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTIwMzQsMTEgKzIwMzQsMjkgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6c2VuZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHkoQ29t
cGxldGlvbkhhbmRsZXIKIHsKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNr
QWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAotICAgIGZv
ciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKQorICAgIGZvciAoYXV0byYgcHJvY2VzcyA6
IHByb2Nlc3NlcygpKSB7CisgICAgICAgIGlmICghcHJvY2Vzcy0+cGFnZUNvdW50KCkpCisgICAg
ICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBwcm9jZXNzLT5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlByb2Nlc3M6OlNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUltbWVk
aWF0ZWx5KCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisgICAgfQogfQogI2VuZGlmCiAK
K3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmco
Ym9vbCBzaG91bGRLZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKQoreworICAgIGZv
ciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKQorICAgICAgICBwcm9jZXNzLT5zZXRLZWVw
Q2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKHNob3VsZEtlZXBDYWNoZWRQcm9jZXNzZXNB
bGl2ZUZvclRlc3RpbmcpOworfQorCit2b2lkIFdlYlByb2Nlc3NQb29sOjpzdXNwZW5kQWxsQ2Fj
aGVkV2ViUHJvY2Vzc2VzKCkKK3sKKyAgICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzZXMo
KSkgeworICAgICAgICBpZiAocHJvY2Vzcy0+aXNJblByb2Nlc3NDYWNoZSgpKQorICAgICAgICAg
ICAgcHJvY2Vzcy0+cGxhdGZvcm1TdXNwZW5kUHJvY2VzcygpOworICAgIH0KK30KKwogV2ViUHJv
Y2Vzc1dpdGhBdWRpYmxlTWVkaWFUb2tlbiBXZWJQcm9jZXNzUG9vbDo6d2ViUHJvY2Vzc1dpdGhB
dWRpYmxlTWVkaWFUb2tlbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fd2ViUHJvY2Vzc1dpdGhB
dWRpYmxlTWVkaWFDb3VudGVyLmNvdW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaAppbmRleCAwNTM1OWE3ZGQ0MTEwNTgxMTg3ZDBmMDk3ZTVhZmQ2MjczNTVjYThh
Li4xZGQwNDhiYjk2M2UyOTEwMzllMzBmZjA4NDY2MTdmOWJjZGU0NjE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTQ2OCw2ICs0NjgsOSBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZW5kUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFJbW1lZGlhdGVseShDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogI2VuZGlmCiAKKyAgICB2b2lkIGtlZXBDYWNoZWRQ
cm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcoYm9vbCk7CisgICAgdm9pZCBzdXNwZW5kQWxsQ2FjaGVk
V2ViUHJvY2Vzc2VzKCk7CisKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAg
ICB2b2lkIHNldFNhbmRib3hFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX3NhbmRib3hFbmFibGVk
ID0gZW5hYmxlZDsgfTsKICAgICB2b2lkIGFkZFNhbmRib3hQYXRoKGNvbnN0IENTdHJpbmcmIHBh
dGgsIFNhbmRib3hQZXJtaXNzaW9uIHBlcm1pc3Npb24pIHsgbV9leHRyYVNhbmRib3hQYXRocy5h
ZGQocGF0aCwgcGVybWlzc2lvbik7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAppbmRleCBkOGU2YzczYWE2ZTlmNTc3YmZiNTdkMmEzMTNiOGNkNmYyNWQy
YmI5Li4xYTA3ZmMwMjgzZmY3ZTU4N2JiMjM1YmFmOGU0OGRhZTFiMWMwZjc0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKQEAgLTk3NCw2ICs5NzQsOSBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQmVjb21lVW5yZXNwb25zaXZlKCkKICAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBjb3B5VG9WZWN0b3JPZjxSZWZQdHI8V2ViUGFnZVByb3h5Pj4obV9wYWdl
TWFwLnZhbHVlcygpKSkKICAgICAgICAgcGFnZS0+cHJvY2Vzc0RpZEJlY29tZVVucmVzcG9uc2l2
ZSgpOwogCisgICAgaWYgKG1fa2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZykKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgYm9vbCBpc1dlYlByb2Nlc3NSZXNwb25zaXZlID0gZmFsc2U7
CiAgICAgZm9yIChhdXRvJiBjYWxsYmFjayA6IGlzUmVzcG9uc2l2ZUNhbGxiYWNrcykKICAgICAg
ICAgY2FsbGJhY2soaXNXZWJQcm9jZXNzUmVzcG9uc2l2ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGE0MGU2OWRmYTUyMmRlZGViYWZkYjVmYzZiOWU3
MWZjYjliNGIwNTkuLjUwNGFjYTZkYjAyZDFjYzg3NjZjNzM4MDI1NTRlMmI2YzU2YTAzYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCkBAIC00MTksNiArNDE5
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2FwdGlvbkxhbmd1YWdlKGNvbnN0IFN0cmluZyYp
OwogI2VuZGlmCiAKKyAgICB2b2lkIHNldEtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rp
bmcoYm9vbCBrZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKSB7IG1fa2VlcENhY2hl
ZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyA9IGtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRl
c3Rpbmc7IH0KKwogcHJvdGVjdGVkOgogICAgIFdlYlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9v
bCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdhcm1lZCk7CiAKQEAgLTY2Nyw2ICs2NjksOCBA
QCBwcml2YXRlOgogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAgICAgc3RkOjp1bmlxdWVfcHRy
PFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRpbWVNZWRpYVNvdXJjZU1hbmFnZXI+IG1fc3Bl
ZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1lZGlhU291cmNlTWFuYWdlcjsKICNlbmRpZgor
CisgICAgYm9vbCBtX2tlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcgeyBmYWxzZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCmluZGV4IGY5NDFi
MDFlYmZlYjdmYWJjZjExMGE5MTUzMTNjNmUyODgyODViNjIuLmYxNzkwYjg4ZjJiNmU2YTUzMjIw
ZmE1Yjc3MzRjNDkyNGVmYTM3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBAIC0xNTk1LDYgKzE1OTUs
MTggQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhp
cmRQYXJ0eUNOQU1FRG9tYWluRm9yVGVzdGluZygKIH0KICNlbmRpZiAvLyBFTkFCTEUoUkVTT1VS
Q0VfTE9BRF9TVEFUSVNUSUNTKQogCit2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OmtlZXBDYWNoZWRQ
cm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcoYm9vbCBzaG91bGRLZWVwQ2FjaGVkUHJvY2Vzc2VzQWxp
dmVGb3JUZXN0aW5nKQoreworICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNz
UG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCisgICAgICAgIHByb2Nlc3NQb29sLT5rZWVwQ2FjaGVk
UHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKHNob3VsZEtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZv
clRlc3RpbmcpOworfQorCit2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnN1c3BlbmRBbGxDYWNoZWRX
ZWJQcm9jZXNzZXMoKQoreworICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNz
UG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCisgICAgICAgIHByb2Nlc3NQb29sLT5zdXNwZW5kQWxs
Q2FjaGVkV2ViUHJvY2Vzc2VzKCk7Cit9CisKIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c3luY0xv
Y2FsU3RvcmFnZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
CiB7CiAgICAgbmV0d29ya1Byb2Nlc3MoKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5l
dHdvcmtQcm9jZXNzOjpTeW5jTG9jYWxTdG9yYWdlKCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaAppbmRleCBmZGJjYjVhNTA2ODUzN2Q0ZjkwZjA5YzUzYmUyMzc5YmJm
YmNmZWI1Li41ZGFmNTdjYTdiMDQxZmY2Y2E5N2NkZmNmMjE1NzRhNjQ1Y2ZkM2VkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3Jl
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oCkBAIC0yNjAsNiArMjYwLDkgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmVz
b2x2ZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2
ZWRDb25maWd1cmF0aW9uLT5tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpOyB9CiAjZW5kaWYK
IAorICAgIHZvaWQga2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyhib29sKTsKKyAg
ICB2b2lkIHN1c3BlbmRBbGxDYWNoZWRXZWJQcm9jZXNzZXMoKTsKKwogICAgIHZvaWQgYWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNvbnN0IFdlYkNlcnRpZmljYXRlSW5mbyos
IGNvbnN0IFN0cmluZyYgaG9zdCk7CiAKICAgICBEZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSYgZGV2
aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKSB7IHJldHVybiBtX2RldmljZUlkSGFzaFNhbHRTdG9yYWdl
LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggOGRkMWJkOGJkZmE2MTMxYWMyNjUzYjhkZTMwOWIxYTAxZjRiZTY3MC4uZTIxYWQ5OWUx
NjVhMzI3MTE4ZTgwNTc0N2I5YmM4NjdjMDE2ZThjNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTAzICBL
YXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIFNhZmFy
aeKAmXMgUHJpdmFjeSBSZXBvcnQgd2luZG93IGlzIGNvbXBsZXRlbHkgYmxhbmsKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTg0NworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vODA5NzQ2ODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3MubW06CisgICAgICAgIChURVNUKToKKwogMjAyMS0wOC0yNyAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBV
SUV2ZW50QXR0cmlidXRpb24gU1BJIHRoYXQgdXNlcyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0
dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbQppbmRl
eCBmMzk3NWY2ZDY2Y2MzN2JmNTQ1MmQxMDg3MTU0MzdkYzU1MzEwMzk1Li5jY2Y2NTEyZWUzYjk0
NmNjMzQ3ZjM4YWY3M2IzZDdmMGVmMjgxZWExIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Lm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0IDxXZWJLaXQvX1dLUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3Vy
YXRpb24uaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0
cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgogCiBzdGF0aWMgYm9vbCBmaW5pc2hlZE5hdmlnYXRp
b24gPSBmYWxzZTsKIApAQCAtMTMzNyw2ICsxMzM4LDYxIEBAIFRFU1QoUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcywgU3RvcmVTdXNwZW5zaW9uKQogCiBAZW5kCiAKK1RFU1QoUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcywgRGF0YVN1bW1hcnlXaXRoQ2FjaGVkUHJvY2VzcykKK3sKKyAgICBhdXRvIHByb2Nl
c3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24gYWxsb2NdIGluaXRdKTsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCkucHJv
Y2Vzc1N3YXBzT25OYXZpZ2F0aW9uID0gWUVTOworICAgIHByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5nZXQoKS51c2VzV2ViUHJvY2Vzc0NhY2hlID0gWUVTOworICAgIHByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5nZXQoKS5wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb25XaXRoaW5TYW1lTm9uSFRUUEZh
bWlseVByb3RvY29sID0gWUVTOworICAgIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKS5w
cmV3YXJtc1Byb2Nlc3Nlc0F1dG9tYXRpY2FsbHkgPSBOTzsKKyAgICBhdXRvIHByb2Nlc3NQb29s
ID0gYWRvcHROUyhbW1dLUHJvY2Vzc1Bvb2wgYWxsb2NdIF9pbml0V2l0aENvbmZpZ3VyYXRpb246
cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBFWFBFQ1RfR1QoW3Byb2Nl
c3NQb29sIF9tYXhpbXVtU3VzcGVuZGVkUGFnZUNvdW50XSwgMHUpOworICAgIEVYUEVDVF9HVChb
cHJvY2Vzc1Bvb2wgX3Byb2Nlc3NDYWNoZUNhcGFjaXR5XSwgMHUpOworCisgICAgYXV0byAqZGF0
YVN0b3JlID0gW1dLV2Vic2l0ZURhdGFTdG9yZSBkZWZhdWx0RGF0YVN0b3JlXTsKKworICAgIGF1
dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRQcm9jZXNzUG9v
bDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFdlYnNp
dGVEYXRhU3RvcmU6ZGF0YVN0b3JlXTsKKworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1tS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU2NoZW1lSGFuZGxlciBhbGxvY10gaW5pdF0pOworCisgICAg
Y29uc3QgdW5zaWduZWQgbWF4U3VzcGVuZGVkUGFnZUNvdW50ID0gW3Byb2Nlc3NQb29sIF9tYXhp
bXVtU3VzcGVuZGVkUGFnZUNvdW50XTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0VVJM
U2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAInJlc291cmNlLWxvYWQt
c3RhdGlzdGljcyJdOworCisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZp
ZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmln
dXJhdGlvbjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gZGVsZWdhdGUg
PSBhZG9wdE5TKFtbVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3
ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbWF4U3VzcGVuZGVkUGFnZUNvdW50ICsgMTsgaSsrKSB7Cisg
ICAgICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhV
Ukw6W05TVVJMIFVSTFdpdGhTdHJpbmc6bWFrZVN0cmluZygicmVzb3VyY2UtbG9hZC1zdGF0aXN0
aWNzOi8vd3d3LmRvbWFpbi0iLCBpLCAiLmNvbSIpXV07CisgICAgICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OnJlcXVlc3RdOworICAgICAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworCisgICAgICAgIEVYUEVDVF9FUShpICsgMSwgW3Byb2Nlc3NQb29sIF93ZWJQcm9j
ZXNzQ291bnRdKTsKKyAgICAgICAgRVhQRUNUX0VRKGkgKyAxLCBbcHJvY2Vzc1Bvb2wgX3dlYlBy
b2Nlc3NDb3VudElnbm9yaW5nUHJld2FybWVkQW5kQ2FjaGVkXSk7CisgICAgICAgIEVYUEVDVF9G
QUxTRShbcHJvY2Vzc1Bvb2wgX2hhc1ByZXdhcm1lZFdlYlByb2Nlc3NdKTsKKyAgICB9CisgICAg
CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpbTlNVUkwgVVJMV2l0aFN0cmluZzptYWtlU3RyaW5nKCJyZXNvdXJjZS1sb2FkLXN0YXRpc3Rp
Y3M6Ly93d3cuZG9tYWluLSIsIG1heFN1c3BlbmRlZFBhZ2VDb3VudCArIDEsICIuY29tIildXTsK
KyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKyAgICBbZGVsZWdhdGUgd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW2RhdGFTdG9yZSBfa2VlcENhY2hlZFByb2Nl
c3Nlc0FsaXZlRm9yVGVzdGluZzpZRVNdOworICAgIFtkYXRhU3RvcmUgX3N1c3BlbmRBbGxDYWNo
ZWRXZWJQcm9jZXNzZXNdOworCisgICAgLy8gVGhpcyB3aWxsIHRpbWVvdXQgaWYgd2FpdGluZyBm
b3IgSVBDIGZyb20gYSBjYWNoZWQgcHJvY2Vzcy4KKyAgICBzdGF0aWMgYm9vbCBkb25lRmxhZyA9
IGZhbHNlOworICAgIFtkYXRhU3RvcmUgX2dldFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhU3Vt
bWFyeTpedm9pZChOU0FycmF5PF9XS1Jlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5ICo+
ICp0aGlyZFBhcnR5RGF0YSkKKyAgICB7CisgICAgICAgIGRvbmVGbGFnID0gdHJ1ZTsKKyAgICB9
XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUZsYWcpOworfQorCisKIFRF
U1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgQmFja0ZvcndhcmRQZXJQYWdlRGF0YSkKIHsKICAg
ICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
</data>
<flag name="commit-queue"
          id="460450"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437296</attachid>
            <date>2021-09-03 12:36:40 -0700</date>
            <delta_ts>2021-09-03 14:06:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229847-20210903123639.patch</filename>
            <type>text/plain</type>
            <size>14332</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYzU5NDI1ZjkzOTgxYzc0
OGMwY2I5ZTI0MDUxMzZiZTdlMGZlZTAuLmUwZGM3NmRhNjY3MjlkM2UxYzI3NjlkNDJhYjNkN2Rk
NGE5ZGY2ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDktMDMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgU2FmYXJp4oCZcyBQ
cml2YWN5IFJlcG9ydCB3aW5kb3cgaXMgY29tcGxldGVseSBibGFuaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5ODQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84MDk3NDY4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBzaG91bGQgbm90IHdhaXQgZm9yIGFuIElQQyByZXBseSBvbiBhIGNhY2hl
ZCB3ZWIgcHJvY2VzcywgYmVjYXVzZQorICAgICAgICBpdCB3aWxsIGNhdXNlIGxvbmcgaGFuZ3Mu
CisKKyAgICAgICAgSW4gb3JkZXIgdG8gdGVzdCB0aGlzIEkgYWRkZWQgdHdvIG5ldyBTUElzLCBv
bmUgd2hpY2ggaW1tZWRpYXRlbHkKKyAgICAgICAgc3VzcGVuZHMgd2ViIHByb2Nlc3NlcyBpbiB0
aGUgY2FjaGUgKHRoZSB1c3VhbCB0aW1lb3V0IGlzIDMwIHNlY29uZHMpCisgICAgICAgIGFuZCBh
bm90aGVyIHRvIGtlZXAgY2FjaGVkIHdlYiBwcm9jZXNzZXMgZnJvbSBiZWluZyBkZXN0cm95ZWQg
d2hlbgorICAgICAgICB0aGV5IGFyZSBtYXJrZWQgdW5yZXNwb25zaXZlLCBzbyB3ZSBjYW4gYmUg
c3VyZSB0aGF0IGNhY2hlZCBwcm9jZXNzZXMKKyAgICAgICAgZXhpc3Qgd2hlbiB3ZSBxdWVyeSBm
b3IgdGhlIElUUCBkYXRhIHN1bW1hcnkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2Vic2l0ZURhdGFTdG9yZS5tbToKKyAgICAgICAgKC1bV0tXZWJzaXRlRGF0YVN0b3JlIF9r
ZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nOl0pOgorICAgICAgICAoLVtXS1dlYnNp
dGVEYXRhU3RvcmUgX3N1c3BlbmRBbGxDYWNoZWRXZWJQcm9jZXNzZXNdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6c2VuZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHkpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6a2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9y
VGVzdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpzdXNwZW5kQWxsQ2Fj
aGVkV2ViUHJvY2Vzc2VzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRCZWNvbWVVbnJlc3BvbnNpdmUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1By
b3h5OjpzZXRLZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYnNpdGVEYXRhU3RvcmU6OmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmcp
OgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpzdXNwZW5kQWxsQ2FjaGVkV2Vi
UHJvY2Vzc2VzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFT
dG9yZS5oOgorCiAyMDIxLTA4LTI3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFVJRXZlbnRBdHRyaWJ1dGlvbiBTUEkgdGhhdCB1c2Vz
IFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25FcGhlbWVyYWw6OlllcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9y
ZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3Rv
cmUubW0KaW5kZXggOTFiYzZmYmY1MDVjNGM0ZDJjNWI0NDI1ZWEwMzRkYTY4MjNlOTI4My4uNjc4
YjE0OGM0Y2RhMzU1ODY5NzA2YjI1M2E2NjYxZDEzNTczNTcxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBA
IC01NDQsNiArNTQ0LDE2IEBAIHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29y
ZD4gdG9XZWJzaXRlRGF0YVJlY29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAjZW5kaWYKIH0KIAor
LSAodm9pZClfa2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZzooQk9PTClzaG91bGRL
ZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nCit7CisgICAgX3dlYnNpdGVEYXRhU3Rv
cmUtPmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmcoc2hvdWxkS2VlcENhY2hlZFBy
b2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyk7Cit9CisKKy0gKHZvaWQpX3N1c3BlbmRBbGxDYWNoZWRX
ZWJQcm9jZXNzZXMKK3sKKyAgICBfd2Vic2l0ZURhdGFTdG9yZS0+c3VzcGVuZEFsbENhY2hlZFdl
YlByb2Nlc3NlcygpOworfQorCiAtICh2b2lkKV9pc1JlbGF0aW9uc2hpcE9ubHlJbkRhdGFiYXNl
T25jZTooTlNVUkwgKilmaXJzdFBhcnR5VVJMIHRoaXJkUGFydHk6KE5TVVJMICopdGhpcmRQYXJ0
eVVSTCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIK
IHsKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQ
cml2YXRlLmgKaW5kZXggMDE3MTNlNjAxN2Q1ZDE3MGYwNmQ1OWFhMDk2OWRmZGU4ZDM0N2ZlYy4u
NDU3NjYzMTYzNzhkMTRhYWI0YTZkMjUwZmMzYmFhYzlkZDhlNjQ0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0
b3JlUHJpdmF0ZS5oCkBAIC04Miw2ICs4Miw5IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBfV0tXZWJzaXRlRGF0YVN0b3JlRmV0Y2hPcHRpb25zKSB7CiAtICh2b2lkKV9hcHBCb3Vu
ZERvbWFpbnM6KHZvaWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29tcGxldGlvbkhhbmRs
ZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4wKSwgaW9zKDE0LjApKTsKIC0gKHZvaWQpX2Fw
cEJvdW5kU2NoZW1lczoodm9pZCAoXikoTlNBcnJheTxOU1N0cmluZyAqPiAqKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCistICh2
b2lkKV9rZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nOihCT09MKXNob3VsZEtlZXBD
YWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3N1c3BlbmRBbGxDYWNoZWRXZWJQ
cm9jZXNzZXMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKwogLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZUNoYWluOihOU0FycmF5ICopY2Vy
dGlmaWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMi4wKSwgaW9zKDE1LjApKTsKIAogLSAodm9pZClfcmVuYW1lT3JpZ2luOihOU1VSTCAq
KW9sZE5hbWUgdG86KE5TVVJMICopbmV3TmFtZSBmb3JEYXRhT2ZUeXBlczooTlNTZXQ8TlNTdHJp
bmcgKj4gKilkYXRhVHlwZXMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBs
ZXRpb25IYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CmluZGV4IDFmODNkNDAzMjQ5YzFkNzgzNmNkMmM0NGYyZDg3NmRjOTMzMDQxMzEuLjYyNjZlZWFl
MzQxODcyMzc3Njk2YzNhMDY0MTA4MjgwNWExNmFiYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTIwMzQsMTEgKzIwMzQsMzEgQEAgdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6c2VuZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHkoQ29t
cGxldGlvbkhhbmRsZXIKIHsKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNr
QWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAotICAgIGZv
ciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKQorICAgIGZvciAoYXV0byYgcHJvY2VzcyA6
IHByb2Nlc3NlcygpKSB7CisgICAgICAgIGlmICghcHJvY2Vzcy0+cGFnZUNvdW50KCkpCisgICAg
ICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBwcm9jZXNzLT5zZW5kV2l0aEFzeW5jUmVwbHko
TWVzc2FnZXM6OldlYlByb2Nlc3M6OlNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUltbWVk
aWF0ZWx5KCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisgICAgfQogfQogI2VuZGlmCiAK
K3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmco
Ym9vbCBzaG91bGRLZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKQoreworICAgIGZv
ciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKQorICAgICAgICBwcm9jZXNzLT5zZXRLZWVw
Q2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKHNob3VsZEtlZXBDYWNoZWRQcm9jZXNzZXNB
bGl2ZUZvclRlc3RpbmcpOworfQorCit2b2lkIFdlYlByb2Nlc3NQb29sOjpzdXNwZW5kQWxsQ2Fj
aGVkV2ViUHJvY2Vzc2VzKCkKK3sKKyNpZiBQTEFURk9STShNQUMpCisgICAgZm9yIChhdXRvJiBw
cm9jZXNzIDogcHJvY2Vzc2VzKCkpIHsKKyAgICAgICAgaWYgKHByb2Nlc3MtPmlzSW5Qcm9jZXNz
Q2FjaGUoKSkKKyAgICAgICAgICAgIHByb2Nlc3MtPnBsYXRmb3JtU3VzcGVuZFByb2Nlc3MoKTsK
KyAgICB9CisjZW5kaWYKK30KKwogV2ViUHJvY2Vzc1dpdGhBdWRpYmxlTWVkaWFUb2tlbiBXZWJQ
cm9jZXNzUG9vbDo6d2ViUHJvY2Vzc1dpdGhBdWRpYmxlTWVkaWFUb2tlbigpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fd2ViUHJvY2Vzc1dpdGhBdWRpYmxlTWVkaWFDb3VudGVyLmNvdW50KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCAwNTM1OWE3ZGQ0MTEw
NTgxMTg3ZDBmMDk3ZTVhZmQ2MjczNTVjYThhLi4xZGQwNDhiYjk2M2UyOTEwMzllMzBmZjA4NDY2
MTdmOWJjZGU0NjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
QEAgLTQ2OCw2ICs0NjgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZW5kUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0RhdGFJbW1lZGlhdGVseShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYpOwogI2Vu
ZGlmCiAKKyAgICB2b2lkIGtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcoYm9vbCk7
CisgICAgdm9pZCBzdXNwZW5kQWxsQ2FjaGVkV2ViUHJvY2Vzc2VzKCk7CisKICNpZiBQTEFURk9S
TShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHNldFNhbmRib3hFbmFibGVkKGJvb2wg
ZW5hYmxlZCkgeyBtX3NhbmRib3hFbmFibGVkID0gZW5hYmxlZDsgfTsKICAgICB2b2lkIGFkZFNh
bmRib3hQYXRoKGNvbnN0IENTdHJpbmcmIHBhdGgsIFNhbmRib3hQZXJtaXNzaW9uIHBlcm1pc3Np
b24pIHsgbV9leHRyYVNhbmRib3hQYXRocy5hZGQocGF0aCwgcGVybWlzc2lvbik7IH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBkOGU2YzczYWE2
ZTlmNTc3YmZiNTdkMmEzMTNiOGNkNmYyNWQyYmI5Li4xYTA3ZmMwMjgzZmY3ZTU4N2JiMjM1YmFm
OGU0OGRhZTFiMWMwZjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHAKQEAgLTk3NCw2ICs5NzQsOSBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkQmVj
b21lVW5yZXNwb25zaXZlKCkKICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBjb3B5VG9WZWN0b3JPZjxS
ZWZQdHI8V2ViUGFnZVByb3h5Pj4obV9wYWdlTWFwLnZhbHVlcygpKSkKICAgICAgICAgcGFnZS0+
cHJvY2Vzc0RpZEJlY29tZVVucmVzcG9uc2l2ZSgpOwogCisgICAgaWYgKG1fa2VlcENhY2hlZFBy
b2Nlc3Nlc0FsaXZlRm9yVGVzdGluZykKKyAgICAgICAgcmV0dXJuOworCiAgICAgYm9vbCBpc1dl
YlByb2Nlc3NSZXNwb25zaXZlID0gZmFsc2U7CiAgICAgZm9yIChhdXRvJiBjYWxsYmFjayA6IGlz
UmVzcG9uc2l2ZUNhbGxiYWNrcykKICAgICAgICAgY2FsbGJhY2soaXNXZWJQcm9jZXNzUmVzcG9u
c2l2ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCmluZGV4IGE0
MGU2OWRmYTUyMmRlZGViYWZkYjVmYzZiOWU3MWZjYjliNGIwNTkuLjUwNGFjYTZkYjAyZDFjYzg3
NjZjNzM4MDI1NTRlMmI2YzU2YTAzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCkBAIC00MTksNiArNDE5LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2Fw
dGlvbkxhbmd1YWdlKGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHNldEtlZXBD
YWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcoYm9vbCBrZWVwQ2FjaGVkUHJvY2Vzc2VzQWxp
dmVGb3JUZXN0aW5nKSB7IG1fa2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyA9IGtl
ZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmc7IH0KKwogcHJvdGVjdGVkOgogICAgIFdl
YlByb2Nlc3NQcm94eShXZWJQcm9jZXNzUG9vbCYsIFdlYnNpdGVEYXRhU3RvcmUqLCBJc1ByZXdh
cm1lZCk7CiAKQEAgLTY2Nyw2ICs2NjksOCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCiAgICAgc3RkOjp1bmlxdWVfcHRyPFNwZWVjaFJlY29nbml0aW9uUmVtb3RlUmVhbHRp
bWVNZWRpYVNvdXJjZU1hbmFnZXI+IG1fc3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFsdGltZU1l
ZGlhU291cmNlTWFuYWdlcjsKICNlbmRpZgorCisgICAgYm9vbCBtX2tlZXBDYWNoZWRQcm9jZXNz
ZXNBbGl2ZUZvclRlc3RpbmcgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwCmluZGV4IGY5NDFiMDFlYmZlYjdmYWJjZjExMGE5MTUzMTNjNmUyODgy
ODViNjIuLmYxNzkwYjg4ZjJiNmU2YTUzMjIwZmE1Yjc3MzRjNDkyNGVmYTM3OTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwCkBAIC0xNTk1LDYgKzE1OTUsMTggQEAgdm9pZCBXZWJzaXRlRGF0YVN0b3JlOjpz
ZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eUNOQU1FRG9tYWluRm9yVGVzdGluZygK
IH0KICNlbmRpZiAvLyBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQogCit2b2lkIFdl
YnNpdGVEYXRhU3RvcmU6OmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcoYm9vbCBz
aG91bGRLZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKQoreworICAgIGZvciAoYXV0
byYgcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCisgICAg
ICAgIHByb2Nlc3NQb29sLT5rZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKHNob3Vs
ZEtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcpOworfQorCit2b2lkIFdlYnNpdGVE
YXRhU3RvcmU6OnN1c3BlbmRBbGxDYWNoZWRXZWJQcm9jZXNzZXMoKQoreworICAgIGZvciAoYXV0
byYgcHJvY2Vzc1Bvb2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCisgICAg
ICAgIHByb2Nlc3NQb29sLT5zdXNwZW5kQWxsQ2FjaGVkV2ViUHJvY2Vzc2VzKCk7Cit9CisKIHZv
aWQgV2Vic2l0ZURhdGFTdG9yZTo6c3luY0xvY2FsU3RvcmFnZShDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgbmV0d29ya1Byb2Nlc3MoKS5zZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpTeW5jTG9jYWxTdG9yYWdl
KCksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCBmZGJjYjVh
NTA2ODUzN2Q0ZjkwZjA5YzUzYmUyMzc5YmJmYmNmZWI1Li41ZGFmNTdjYTdiMDQxZmY2Y2E5N2Nk
ZmNmMjE1NzRhNjQ1Y2ZkM2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0yNjAsNiArMjYwLDkgQEAgcHVi
bGljOgogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9y
eSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5tb2RlbEVsZW1lbnRD
YWNoZURpcmVjdG9yeSgpOyB9CiAjZW5kaWYKIAorICAgIHZvaWQga2VlcENhY2hlZFByb2Nlc3Nl
c0FsaXZlRm9yVGVzdGluZyhib29sKTsKKyAgICB2b2lkIHN1c3BlbmRBbGxDYWNoZWRXZWJQcm9j
ZXNzZXMoKTsKKwogICAgIHZvaWQgYWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KGNvbnN0IFdlYkNlcnRpZmljYXRlSW5mbyosIGNvbnN0IFN0cmluZyYgaG9zdCk7CiAKICAgICBE
ZXZpY2VJZEhhc2hTYWx0U3RvcmFnZSYgZGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UoKSB7IHJldHVy
biBtX2RldmljZUlkSGFzaFNhbHRTdG9yYWdlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGRkMWJkOGJkZmE2MTMxYWMyNjUzYjhk
ZTMwOWIxYTAxZjRiZTY3MC4uZTIxYWQ5OWUxNjVhMzI3MTE4ZTgwNTc0N2I5YmM4NjdjMDE2ZThj
NCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDIxLTA5LTAzICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlA
YXBwbGUuY29tPgorCisgICAgICAgIFNhZmFyaeKAmXMgUHJpdmFjeSBSZXBvcnQgd2luZG93IGlz
IGNvbXBsZXRlbHkgYmxhbmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyOTg0NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODA5NzQ2ODg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW06CisgICAgICAg
IChURVNUKToKKwogMjAyMS0wOC0yNyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBVSUV2ZW50QXR0cmlidXRpb24gU1BJIHRoYXQgdXNl
cyBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uRXBoZW1lcmFsOjpZZXMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVz
b3VyY2VMb2FkU3RhdGlzdGljcy5tbQppbmRleCBmMzk3NWY2ZDY2Y2MzN2JmNTQ1MmQxMDg3MTU0
MzdkYzU1MzEwMzk1Li45Yzc4ZjE1NzdjNDA5MzgxZTBhZWJhMDk2ZGIwZmRlZTc2ZjZiOGM3IDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3MubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tCkBAIC0zOCw2ICszOCw3IEBACiAjaW1wb3J0
IDxXZWJLaXQvX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXQv
X1dLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgogCiBz
dGF0aWMgYm9vbCBmaW5pc2hlZE5hdmlnYXRpb24gPSBmYWxzZTsKIApAQCAtMTMzNyw2ICsxMzM4
LDYyIEBAIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgU3RvcmVTdXNwZW5zaW9uKQogCiBA
ZW5kCiAKKyNpZiBQTEFURk9STShNQUMpCitURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIERh
dGFTdW1tYXJ5V2l0aENhY2hlZFByb2Nlc3MpCit7CisgICAgYXV0byBwcm9jZXNzUG9vbENvbmZp
Z3VyYXRpb24gPSBhZG9wdE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBp
bml0XSk7CisgICAgcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NTd2Fwc09u
TmF2aWdhdGlvbiA9IFlFUzsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCkudXNl
c1dlYlByb2Nlc3NDYWNoZSA9IFlFUzsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0
KCkucHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uV2l0aGluU2FtZU5vbkhUVFBGYW1pbHlQcm90b2Nv
bCA9IFlFUzsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCkucHJld2FybXNQcm9j
ZXNzZXNBdXRvbWF0aWNhbGx5ID0gTk87CisgICAgYXV0byBwcm9jZXNzUG9vbCA9IGFkb3B0TlMo
W1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9uOnByb2Nlc3NQb29s
Q29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgRVhQRUNUX0dUKFtwcm9jZXNzUG9vbCBfbWF4
aW11bVN1c3BlbmRlZFBhZ2VDb3VudF0sIDB1KTsKKyAgICBFWFBFQ1RfR1QoW3Byb2Nlc3NQb29s
IF9wcm9jZXNzQ2FjaGVDYXBhY2l0eV0sIDB1KTsKKworICAgIGF1dG8gKmRhdGFTdG9yZSA9IFtX
S1dlYnNpdGVEYXRhU3RvcmUgZGVmYXVsdERhdGFTdG9yZV07CisKKyAgICBhdXRvIHdlYlZpZXdD
b25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGlu
aXRdKTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0UHJvY2Vzc1Bvb2w6cHJvY2Vzc1Bv
b2wuZ2V0KCldOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRXZWJzaXRlRGF0YVN0b3Jl
OmRhdGFTdG9yZV07CisKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1NjaGVtZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKworICAgIGNvbnN0IHVuc2ln
bmVkIG1heFN1c3BlbmRlZFBhZ2VDb3VudCA9IFtwcm9jZXNzUG9vbCBfbWF4aW11bVN1c3BlbmRl
ZFBhZ2VDb3VudF07CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRs
ZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJyZXNvdXJjZS1sb2FkLXN0YXRpc3RpY3Mi
XTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2Vi
Vmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhb
W1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXRO
YXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG1heFN1c3BlbmRlZFBhZ2VDb3VudCArIDE7IGkrKykgeworICAgICAgICBOU1VS
TFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBV
UkxXaXRoU3RyaW5nOm1ha2VTdHJpbmcoInJlc291cmNlLWxvYWQtc3RhdGlzdGljczovL3d3dy5k
b21haW4tIiwgaSwgIi5jb20iKV1dOworICAgICAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1
ZXN0XTsKKyAgICAgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKwor
ICAgICAgICBFWFBFQ1RfRVEoaSArIDEsIFtwcm9jZXNzUG9vbCBfd2ViUHJvY2Vzc0NvdW50XSk7
CisgICAgICAgIEVYUEVDVF9FUShpICsgMSwgW3Byb2Nlc3NQb29sIF93ZWJQcm9jZXNzQ291bnRJ
Z25vcmluZ1ByZXdhcm1lZEFuZENhY2hlZF0pOworICAgICAgICBFWFBFQ1RfRkFMU0UoW3Byb2Nl
c3NQb29sIF9oYXNQcmV3YXJtZWRXZWJQcm9jZXNzXSk7CisgICAgfQorICAgIAorICAgIE5TVVJM
UmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVS
TFdpdGhTdHJpbmc6bWFrZVN0cmluZygicmVzb3VyY2UtbG9hZC1zdGF0aXN0aWNzOi8vd3d3LmRv
bWFpbi0iLCBtYXhTdXNwZW5kZWRQYWdlQ291bnQgKyAxLCAiLmNvbSIpXV07CisgICAgW3dlYlZp
ZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hO
YXZpZ2F0aW9uXTsKKworICAgIFtkYXRhU3RvcmUgX2tlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZv
clRlc3Rpbmc6WUVTXTsKKyAgICBbZGF0YVN0b3JlIF9zdXNwZW5kQWxsQ2FjaGVkV2ViUHJvY2Vz
c2VzXTsKKworICAgIC8vIFRoaXMgd2lsbCB0aW1lb3V0IGlmIHdhaXRpbmcgZm9yIElQQyBmcm9t
IGEgY2FjaGVkIHByb2Nlc3MuCisgICAgc3RhdGljIGJvb2wgZG9uZUZsYWcgPSBmYWxzZTsKKyAg
ICBbZGF0YVN0b3JlIF9nZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YVN1bW1hcnk6XnZvaWQo
TlNBcnJheTxfV0tSZXNvdXJjZUxvYWRTdGF0aXN0aWNzVGhpcmRQYXJ0eSAqPiAqdGhpcmRQYXJ0
eURhdGEpCisgICAgeworICAgICAgICBkb25lRmxhZyA9IHRydWU7CisgICAgfV07CisKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVGbGFnKTsKK30KKyNlbmRpZgorCiBURVNUKFJl
c291cmNlTG9hZFN0YXRpc3RpY3MsIEJhY2tGb3J3YXJkUGVyUGFnZURhdGEpCiB7CiAgICAgYXV0
byBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437310</attachid>
            <date>2021-09-03 14:06:39 -0700</date>
            <delta_ts>2021-09-03 14:45:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229847-20210903140639.patch</filename>
            <type>text/plain</type>
            <size>16357</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYzU5NDI1ZjkzOTgxYzc0
OGMwY2I5ZTI0MDUxMzZiZTdlMGZlZTAuLjI0MzM1YzIwNGU3ZjE2YWJmNjA1MDQ3ZDQ0ZWM3ZTA2
ZWUwNTVjZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjEtMDktMDMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgU2FmYXJp4oCZcyBQ
cml2YWN5IFJlcG9ydCB3aW5kb3cgaXMgY29tcGxldGVseSBibGFuaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5ODQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84MDk3NDY4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBzaG91bGQgbm90IHdhaXQgZm9yIGFuIElQQyByZXBseSBvbiBhIGNhY2hl
ZCB3ZWIgcHJvY2VzcywgYmVjYXVzZQorICAgICAgICBpdCB3aWxsIGNhdXNlIGxvbmcgaGFuZ3Mu
CisKKyAgICAgICAgSW4gb3JkZXIgdG8gdGVzdCB0aGlzIEkgYWRkZWQgdHdvIG5ldyBTUElzLCBv
bmUgd2hpY2ggdXBkYXRlcyB0aGUKKyAgICAgICAgY2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxh
eSAodGhlIHVzdWFsIHRpbWVvdXQgaXMgMzAgc2Vjb25kcykKKyAgICAgICAgYW5kIGFub3RoZXIg
dG8ga2VlcCBjYWNoZWQgd2ViIHByb2Nlc3NlcyBmcm9tIGJlaW5nIGRlc3Ryb3llZCB3aGVuCisg
ICAgICAgIHRoZXkgYXJlIG1hcmtlZCB1bnJlc3BvbnNpdmUsIHNvIHdlIGNhbiBiZSBzdXJlIHRo
YXQgY2FjaGVkIHByb2Nlc3NlcworICAgICAgICBleGlzdCB3aGVuIHdlIHF1ZXJ5IGZvciB0aGUg
SVRQIGRhdGEgc3VtbWFyeS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJz
aXRlRGF0YVN0b3JlLm1tOgorICAgICAgICAoLVtXS1dlYnNpdGVEYXRhU3RvcmUgX2tlZXBDYWNo
ZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmc6XSk6CisgICAgICAgICgtW1dLV2Vic2l0ZURhdGFT
dG9yZSBfc2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3Rpbmc6XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmNhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ2FjaGU6OnNldENhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NhY2hlOjpDYWNoZWRQcm9jZXNzOjpDYWNoZWRQcm9j
ZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OnNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUltbWVkaWF0ZWx5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRl
c3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUHJveHk6OmRpZEJlY29tZVVucmVzcG9uc2l2ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OnNldEtl
ZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0
ZURhdGFTdG9yZTo6a2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyk6CisgICAgICAg
IChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmU6OnNldENhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVs
YXlGb3JUZXN0aW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5oOgorCiAyMDIxLTA4LTI3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFVJRXZlbnRBdHRyaWJ1dGlvbiBTUEkgdGhhdCB1
c2VzIFByaXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25FcGhlbWVyYWw6OlllcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFT
dG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmUubW0KaW5kZXggOTFiYzZmYmY1MDVjNGM0ZDJjNWI0NDI1ZWEwMzRkYTY4MjNlOTI4My4u
MmRjYWE3MmU4N2M0ZWMzYzk2MjJjYWVkMzllNWQ0NzllNDM0ZTk1OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1t
CkBAIC01NDQsNiArNTQ0LDE2IEBAIHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJl
Y29yZD4gdG9XZWJzaXRlRGF0YVJlY29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAjZW5kaWYKIH0K
IAorLSAodm9pZClfa2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZzooQk9PTClzaG91
bGRLZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nCit7CisgICAgX3dlYnNpdGVEYXRh
U3RvcmUtPmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmcoc2hvdWxkS2VlcENhY2hl
ZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyk7Cit9CisKKy0gKHZvaWQpX3NldENhY2hlZFByb2Nl
c3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nOihkb3VibGUpZGVsYXlJblNlY29uZHMKK3sKKyAg
ICBfd2Vic2l0ZURhdGFTdG9yZS0+c2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRl
c3RpbmcoU2Vjb25kcyhkZWxheUluU2Vjb25kcykpOworfQorCiAtICh2b2lkKV9pc1JlbGF0aW9u
c2hpcE9ubHlJbkRhdGFiYXNlT25jZTooTlNVUkwgKilmaXJzdFBhcnR5VVJMIHRoaXJkUGFydHk6
KE5TVVJMICopdGhpcmRQYXJ0eVVSTCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQk9PTCkp
Y29tcGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFTdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKaW5kZXggMDE3MTNlNjAxN2Q1ZDE3MGYwNmQ1OWFh
MDk2OWRmZGU4ZDM0N2ZlYy4uZDM4NWZjZjcyMmZhYWQ4NmRjYmY4N2IzMzY1MzhlMDdkYzE0OTAy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0
ZURhdGFTdG9yZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCkBAIC04Miw2ICs4Miw5IEBAIHR5cGVkZWYg
TlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tXZWJzaXRlRGF0YVN0b3JlRmV0Y2hPcHRpb25zKSB7
CiAtICh2b2lkKV9hcHBCb3VuZERvbWFpbnM6KHZvaWQgKF4pKE5TQXJyYXk8TlNTdHJpbmcgKj4g
KikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMS4wKSwgaW9zKDE0
LjApKTsKIC0gKHZvaWQpX2FwcEJvdW5kU2NoZW1lczoodm9pZCAoXikoTlNBcnJheTxOU1N0cmlu
ZyAqPiAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBp
b3MoMTQuMCkpOwogCistICh2b2lkKV9rZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5n
OihCT09MKXNob3VsZEtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKy0gKHZvaWQpX3Nl
dENhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nOihkb3VibGUpZGVsYXlJblNl
Y29uZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKKwogLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZUNoYWluOihOU0FycmF5ICopY2VydGlm
aWNhdGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cygxMi4wKSwgaW9zKDE1LjApKTsKIAogLSAodm9pZClfcmVuYW1lT3JpZ2luOihOU1VSTCAqKW9s
ZE5hbWUgdG86KE5TVVJMICopbmV3TmFtZSBmb3JEYXRhT2ZUeXBlczooTlNTZXQ8TlNTdHJpbmcg
Kj4gKilkYXRhVHlwZXMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRp
b25IYW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5jcHAK
aW5kZXggZTQzZWNiNTJjZTVhNzhmOWM0YzJkN2U4NjAwNDk0NTk4ZDc4YzAxNC4uNDcwN2IzMWQw
MjMxYTAwOTQ4ODBkZTNjODUyNTEyNWU5MWFhMzJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzQ2FjaGUuY3BwCkBAIC00MCw3ICs0MCwxNyBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogU2Vjb25kcyBXZWJQcm9jZXNzQ2FjaGU6OmNhY2hlZFByb2Nlc3NMaWZldGltZSB7
IDMwX21pbiB9OwogU2Vjb25kcyBXZWJQcm9jZXNzQ2FjaGU6OmNsZWFyaW5nRGVsYXlBZnRlckFw
cGxpY2F0aW9uUmVzaWduc0FjdGl2ZSB7IDVfbWluIH07Ci1zdGF0aWMgY29uc3RleHByIFNlY29u
ZHMgY2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheSB7IDMwX3MgfTsKKworc3RhdGljIFNlY29u
ZHMmIGNhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkoKQoreworICAgIHN0YXRpYyBTZWNvbmRz
IGNhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkgPSAzMF9zOworICAgIHJldHVybiBjYWNoZWRQ
cm9jZXNzU3VzcGVuc2lvbkRlbGF5OworfQorCit2b2lkIFdlYlByb2Nlc3NDYWNoZTo6c2V0Q2Fj
aGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3RpbmcoU2Vjb25kcyBkZWxheSkKK3sKKyAg
ICBjYWNoZWRQcm9jZXNzU3VzcGVuc2lvbkRlbGF5KCkgPSBkZWxheTsKK30KIAogc3RhdGljIHVp
bnQ2NF90IGdlbmVyYXRlQWRkUmVxdWVzdElkZW50aWZpZXIoKQogewpAQCAtMjY5LDcgKzI3OSw3
IEBAIFdlYlByb2Nlc3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6Q2FjaGVkUHJvY2VzcyhSZWY8V2Vi
UHJvY2Vzc1Byb3h5PiYmIHByb2Nlc3MpCiAgICAgbV9wcm9jZXNzLT5zZXRJc0luUHJvY2Vzc0Nh
Y2hlKHRydWUpOwogICAgIG1fZXZpY3Rpb25UaW1lci5zdGFydE9uZVNob3QoY2FjaGVkUHJvY2Vz
c0xpZmV0aW1lKTsKICNpZiBQTEFURk9STShNQUMpCi0gICAgbV9zdXNwZW5zaW9uVGltZXIuc3Rh
cnRPbmVTaG90KGNhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkpOworICAgIG1fc3VzcGVuc2lv
blRpbWVyLnN0YXJ0T25lU2hvdChjYWNoZWRQcm9jZXNzU3VzcGVuc2lvbkRlbGF5KCkpOwogI2Vu
ZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3ND
YWNoZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmgKaW5kZXgg
ODc2N2FjODI2YTU0Yzc0MGI2OGMzNDc5NDA4ZmUzMWVlYjFiZThjMS4uZGU4N2UwZjQwMTE5ODA0
ZTQ2Mjc0NGRlNTU0ODhmZTg2NDFiZTgyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc0NhY2hlLmgKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogCiAgICAgZW51bSBjbGFz
cyBTaG91bGRTaHV0RG93blByb2Nlc3MgeyBObywgWWVzIH07CiAgICAgdm9pZCByZW1vdmVQcm9j
ZXNzKFdlYlByb2Nlc3NQcm94eSYsIFNob3VsZFNodXREb3duUHJvY2Vzcyk7CisgICAgc3RhdGlj
IHZvaWQgc2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3RpbmcoU2Vjb25kcyk7
CiAKIHByaXZhdGU6CiAgICAgc3RhdGljIFNlY29uZHMgY2FjaGVkUHJvY2Vzc0xpZmV0aW1lOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDFmODNkNDAz
MjQ5YzFkNzgzNmNkMmM0NGYyZDg3NmRjOTMzMDQxMzEuLjBiZmNmZWRkY2Y0NmMzYjI3MDNjOWQy
OGU2MGFhOGNkZTg4MjM4YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5jcHAKQEAgLTIwMzQsMTEgKzIwMzQsMjEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2Vu
ZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHkoQ29tcGxldGlvbkhhbmRsZXIK
IHsKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3Jl
YXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAotICAgIGZvciAoYXV0byYgcHJvY2Vz
cyA6IHByb2Nlc3NlcygpKQorICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKSB7
CisgICAgICAgIGlmICghcHJvY2Vzcy0+cGFnZUNvdW50KCkpCisgICAgICAgICAgICBjb250aW51
ZTsKKwogICAgICAgICBwcm9jZXNzLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OlNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUltbWVkaWF0ZWx5KCksIFtjYWxs
YmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisgICAgfQogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcoYm9vbCBzaG91bGRLZWVw
Q2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKQoreworICAgIGZvciAoYXV0byYgcHJvY2Vz
cyA6IHByb2Nlc3NlcygpKQorICAgICAgICBwcm9jZXNzLT5zZXRLZWVwQ2FjaGVkUHJvY2Vzc2Vz
QWxpdmVGb3JUZXN0aW5nKHNob3VsZEtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmcp
OworfQorCiBXZWJQcm9jZXNzV2l0aEF1ZGlibGVNZWRpYVRva2VuIFdlYlByb2Nlc3NQb29sOjp3
ZWJQcm9jZXNzV2l0aEF1ZGlibGVNZWRpYVRva2VuKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV93
ZWJQcm9jZXNzV2l0aEF1ZGlibGVNZWRpYUNvdW50ZXIuY291bnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDA1MzU5YTdkZDQxMTA1ODExODdkMGYwOTdl
NWFmZDYyNzM1NWNhOGEuLjE3NGJjNDdiMTE1YzU2NjQ2ZGZkM2QyNDEwOTk0ODUzMjA0ZDIyYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNDY4LDYgKzQ2
OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUlt
bWVkaWF0ZWx5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAjZW5kaWYKIAorICAgIHZv
aWQga2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyhib29sKTsKKwogI2lmIFBMQVRG
T1JNKEdUSykgfHwgUExBVEZPUk0oV1BFKQogICAgIHZvaWQgc2V0U2FuZGJveEVuYWJsZWQoYm9v
bCBlbmFibGVkKSB7IG1fc2FuZGJveEVuYWJsZWQgPSBlbmFibGVkOyB9OwogICAgIHZvaWQgYWRk
U2FuZGJveFBhdGgoY29uc3QgQ1N0cmluZyYgcGF0aCwgU2FuZGJveFBlcm1pc3Npb24gcGVybWlz
c2lvbikgeyBtX2V4dHJhU2FuZGJveFBhdGhzLmFkZChwYXRoLCBwZXJtaXNzaW9uKTsgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGQ4ZTZjNzNh
YTZlOWY1NzdiZmI1N2QyYTMxM2I4Y2Q2ZjI1ZDJiYjkuLjFhMDdmYzAyODNmZjdlNTg3YmIyMzVi
YWY4ZTQ4ZGFlMWIxYzBmNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5LmNwcApAQCAtOTc0LDYgKzk3NCw5IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRC
ZWNvbWVVbnJlc3BvbnNpdmUoKQogICAgIGZvciAoYXV0byYgcGFnZSA6IGNvcHlUb1ZlY3Rvck9m
PFJlZlB0cjxXZWJQYWdlUHJveHk+PihtX3BhZ2VNYXAudmFsdWVzKCkpKQogICAgICAgICBwYWdl
LT5wcm9jZXNzRGlkQmVjb21lVW5yZXNwb25zaXZlKCk7CiAKKyAgICBpZiAobV9rZWVwQ2FjaGVk
UHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKQorICAgICAgICByZXR1cm47CisKICAgICBib29sIGlz
V2ViUHJvY2Vzc1Jlc3BvbnNpdmUgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIGNhbGxiYWNrIDog
aXNSZXNwb25zaXZlQ2FsbGJhY2tzKQogICAgICAgICBjYWxsYmFjayhpc1dlYlByb2Nlc3NSZXNw
b25zaXZlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXgg
YTQwZTY5ZGZhNTIyZGVkZWJhZmRiNWZjNmI5ZTcxZmNiOWI0YjA1OS4uNTA0YWNhNmRiMDJkMWNj
ODc2NmM3MzgwMjU1NGUyYjZjNTZhMDNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Byb3h5LmgKQEAgLTQxOSw2ICs0MTksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRD
YXB0aW9uTGFuZ3VhZ2UoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIAorICAgIHZvaWQgc2V0S2Vl
cENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyhib29sIGtlZXBDYWNoZWRQcm9jZXNzZXNB
bGl2ZUZvclRlc3RpbmcpIHsgbV9rZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nID0g
a2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZzsgfQorCiBwcm90ZWN0ZWQ6CiAgICAg
V2ViUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sJiwgV2Vic2l0ZURhdGFTdG9yZSosIElzUHJl
d2FybWVkKTsKIApAQCAtNjY3LDYgKzY2OSw4IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3BlZWNoUmVjb2duaXRpb25SZW1vdGVSZWFs
dGltZU1lZGlhU291cmNlTWFuYWdlcj4gbV9zcGVlY2hSZWNvZ25pdGlvblJlbW90ZVJlYWx0aW1l
TWVkaWFTb3VyY2VNYW5hZ2VyOwogI2VuZGlmCisKKyAgICBib29sIG1fa2VlcENhY2hlZFByb2Nl
c3Nlc0FsaXZlRm9yVGVzdGluZyB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggZjk0MWIwMWViZmViN2ZhYmNmMTEwYTkxNTMxM2M2ZTI4
ODI4NWI2Mi4uNzQ4MDNlOWYzMDIxZTk2YjcyODMyZTlmYzdjOWUwY2VmMWVjNjlkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5jcHAKQEAgLTE1OTUsNiArMTU5NSwxNyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6
OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Q05BTUVEb21haW5Gb3JUZXN0aW5n
KAogfQogI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAKK3ZvaWQg
V2Vic2l0ZURhdGFTdG9yZTo6a2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyhib29s
IHNob3VsZEtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3RpbmcpCit7CisgICAgZm9yIChh
dXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKKyAg
ICAgICAgcHJvY2Vzc1Bvb2wtPmtlZXBDYWNoZWRQcm9jZXNzZXNBbGl2ZUZvclRlc3Rpbmcoc2hv
dWxkS2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZyk7Cit9CisKK3ZvaWQgV2Vic2l0
ZURhdGFTdG9yZTo6c2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3RpbmcoU2Vj
b25kcyBkZWxheSkKK3sKKyAgICBXZWJQcm9jZXNzQ2FjaGU6OnNldENhY2hlZFByb2Nlc3NTdXNw
ZW5zaW9uRGVsYXlGb3JUZXN0aW5nKGRlbGF5KTsKK30KKwogdm9pZCBXZWJzaXRlRGF0YVN0b3Jl
OjpzeW5jTG9jYWxTdG9yYWdlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKICAgICBuZXR3b3JrUHJvY2VzcygpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6TmV0d29ya1Byb2Nlc3M6OlN5bmNMb2NhbFN0b3JhZ2UoKSwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IGZkYmNiNWE1MDY4NTM3ZDRmOTBmMDljNTNi
ZTIzNzliYmZiY2ZlYjUuLjQ5MTRhMmJhMGJmYzFjYWY5ODU2MDJhYzc3MGFiMTI1NjVkMmIxNGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVE
YXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJz
aXRlRGF0YVN0b3JlLmgKQEAgLTI2MCw2ICsyNjAsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3Ry
aW5nJiByZXNvbHZlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4g
bV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPm1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCk7IH0K
ICNlbmRpZgogCisgICAgdm9pZCBrZWVwQ2FjaGVkUHJvY2Vzc2VzQWxpdmVGb3JUZXN0aW5nKGJv
b2wpOworICAgIHZvaWQgc2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3Rpbmco
U2Vjb25kcyk7CisKICAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9z
dChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qLCBjb25zdCBTdHJpbmcmIGhvc3QpOwogCiAgICAg
RGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UmIGRldmljZUlkSGFzaFNhbHRTdG9yYWdlKCkgeyByZXR1
cm4gbV9kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhkZDFiZDhiZGZhNjEzMWFjMjY1M2I4
ZGUzMDliMWEwMWY0YmU2NzAuLmUyMWFkOTllMTY1YTMyNzExOGU4MDU3NDdiOWJjODY3YzAxNmU4
YzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNCBAQAorMjAyMS0wOS0wMyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5
QGFwcGxlLmNvbT4KKworICAgICAgICBTYWZhcmnigJlzIFByaXZhY3kgUmVwb3J0IHdpbmRvdyBp
cyBjb21wbGV0ZWx5IGJsYW5rCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjk4NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgwOTc0Njg4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tOgorICAgICAg
ICAoVEVTVCk6CisKIDIwMjEtMDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgVUlFdmVudEF0dHJpYnV0aW9uIFNQSSB0aGF0IHVz
ZXMgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6WWVzCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3MubW0KaW5kZXggZjM5NzVmNmQ2NmNjMzdiZjU0NTJkMTA4NzE1
NDM3ZGM1NTMxMDM5NS4uNzNjYjYxM2U3ZTU4MzY2MjE3NjJhYzAyYzMxMjI0ZGY5NWQxODBkYiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbQpAQCAtMzgsNiArMzgsNyBAQAogI2ltcG9y
dCA8V2ViS2l0L19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0
L19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAog
c3RhdGljIGJvb2wgZmluaXNoZWROYXZpZ2F0aW9uID0gZmFsc2U7CiAKQEAgLTEzMzcsNiArMTMz
OCw2NSBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIFN0b3JlU3VzcGVuc2lvbikKIAog
QGVuZAogCisjaWYgUExBVEZPUk0oTUFDKQorVEVTVChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBE
YXRhU3VtbWFyeVdpdGhDYWNoZWRQcm9jZXNzKQoreworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzU3dhcHNP
bk5hdmlnYXRpb24gPSBZRVM7CisgICAgcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpLnVz
ZXNXZWJQcm9jZXNzQ2FjaGUgPSBZRVM7CisgICAgcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdl
dCgpLnByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbldpdGhpblNhbWVOb25IVFRQRmFtaWx5UHJvdG9j
b2wgPSBZRVM7CisgICAgcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpLnByZXdhcm1zUHJv
Y2Vzc2VzQXV0b21hdGljYWxseSA9IE5POworICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5T
KFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIEVYUEVDVF9HVChbcHJvY2Vzc1Bvb2wgX21h
eGltdW1TdXNwZW5kZWRQYWdlQ291bnRdLCAwdSk7CisgICAgRVhQRUNUX0dUKFtwcm9jZXNzUG9v
bCBfcHJvY2Vzc0NhY2hlQ2FwYWNpdHldLCAwdSk7CisKKyAgICBhdXRvICpkYXRhU3RvcmUgPSBb
V0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdOworICAgIFtkYXRhU3RvcmUgX3Nl
dENhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nOjBdOworCisgICAgYXV0byB3
ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnBy
b2Nlc3NQb29sLmdldCgpXTsKKyAgICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0V2Vic2l0ZURh
dGFTdG9yZTpkYXRhU3RvcmVdOworCisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NTY2hlbWVIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisKKyAgICBjb25z
dCB1bnNpZ25lZCBtYXhTdXNwZW5kZWRQYWdlQ291bnQgPSBbcHJvY2Vzc1Bvb2wgX21heGltdW1T
dXNwZW5kZWRQYWdlQ291bnRdOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hl
bWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAicmVzb3VyY2UtbG9hZC1zdGF0
aXN0aWNzIl07CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0
aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFk
b3B0TlMoW1tUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZp
ZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtYXhTdXNwZW5kZWRQYWdlQ291bnQgKyAxOyBpKyspIHsKKyAgICAg
ICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
TlNVUkwgVVJMV2l0aFN0cmluZzptYWtlU3RyaW5nKCJyZXNvdXJjZS1sb2FkLXN0YXRpc3RpY3M6
Ly93d3cuZG9tYWluLSIsIGksICIuY29tIildXTsKKyAgICAgICAgW3dlYlZpZXcgbG9hZFJlcXVl
c3Q6cmVxdWVzdF07CisgICAgICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlv
bl07CisKKyAgICAgICAgRVhQRUNUX0VRKGkgKyAxLCBbcHJvY2Vzc1Bvb2wgX3dlYlByb2Nlc3ND
b3VudF0pOworICAgICAgICBFWFBFQ1RfRVEoaSArIDEsIFtwcm9jZXNzUG9vbCBfd2ViUHJvY2Vz
c0NvdW50SWdub3JpbmdQcmV3YXJtZWRBbmRDYWNoZWRdKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNF
KFtwcm9jZXNzUG9vbCBfaGFzUHJld2FybWVkV2ViUHJvY2Vzc10pOworICAgIH0KKyAgICAKKyAg
ICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltO
U1VSTCBVUkxXaXRoU3RyaW5nOm1ha2VTdHJpbmcoInJlc291cmNlLWxvYWQtc3RhdGlzdGljczov
L3d3dy5kb21haW4tIiwgbWF4U3VzcGVuZGVkUGFnZUNvdW50ICsgMSwgIi5jb20iKV1dOworICAg
IFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBbZGF0YVN0b3JlIF9rZWVwQ2FjaGVkUHJvY2Vzc2Vz
QWxpdmVGb3JUZXN0aW5nOllFU107CisKKyAgICAvLyBUaGlzIHdpbGwgdGltZW91dCBpZiB3YWl0
aW5nIGZvciBJUEMgZnJvbSBhIGNhY2hlZCBwcm9jZXNzLgorICAgIHN0YXRpYyBib29sIGRvbmVG
bGFnID0gZmFsc2U7CisgICAgW2RhdGFTdG9yZSBfZ2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0Rh
dGFTdW1tYXJ5Ol52b2lkKE5TQXJyYXk8X1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFy
dHkgKj4gKnRoaXJkUGFydHlEYXRhKQorICAgIHsKKyAgICAgICAgZG9uZUZsYWcgPSB0cnVlOwor
ICAgIH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7CisgICAg
CisgICAgW2RhdGFTdG9yZSBfa2VlcENhY2hlZFByb2Nlc3Nlc0FsaXZlRm9yVGVzdGluZzpZRVNd
OworICAgIFtkYXRhU3RvcmUgX3NldENhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0
aW5nOjMwXTsKK30KKyNlbmRpZgorCiBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIEJhY2tG
b3J3YXJkUGVyUGFnZURhdGEpCiB7CiAgICAgYXV0byBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24g
PSBhZG9wdE5TKFtbX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437315</attachid>
            <date>2021-09-03 14:45:40 -0700</date>
            <delta_ts>2021-09-03 14:56:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229847-20210903144539.patch</filename>
            <type>text/plain</type>
            <size>13776</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYzU5NDI1ZjkzOTgxYzc0
OGMwY2I5ZTI0MDUxMzZiZTdlMGZlZTAuLmFjYjJkNTI3ZGM3NTcxZjFlM2ZkY2ZhOGFlMDAxYmIz
OTllNTJlNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMDktMDMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgU2FmYXJp4oCZcyBQ
cml2YWN5IFJlcG9ydCB3aW5kb3cgaXMgY29tcGxldGVseSBibGFuaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5ODQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84MDk3NDY4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBzaG91bGQgbm90IHdhaXQgZm9yIGFuIElQQyByZXBseSBvbiBhIGNhY2hl
ZCB3ZWIgcHJvY2VzcywgYmVjYXVzZQorICAgICAgICBpdCB3aWxsIGNhdXNlIGxvbmcgaGFuZ3Mu
CisKKyAgICAgICAgSW4gb3JkZXIgdG8gdGVzdCB0aGlzIEkgYWRkZWQgYSBuZXcgU1BJIHRvIHVw
ZGF0ZSB0aGUKKyAgICAgICAgY2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheSAodGhlIHVzdWFs
IHRpbWVvdXQgaXMgMzAgc2Vjb25kcykuIEkgYWxzbworICAgICAgICBtb3ZlZCB0aGUgaW5pdGlh
bCBzdXNwZW5zaW9uIHRpbWVyIGNhbGwgdG8gYmUgYWZ0ZXIgdGhlIHJlc3BvbnNpdmVuZXNzCisg
ICAgICAgIGNoZWNrLCBvdGhlcndpc2UgdGhlIGNhY2hlZCBwcm9jZXNzIHdpbGwgYmUgcmVzdW1l
ZCB2ZXJ5IHNvb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURh
dGFTdG9yZS5tbToKKyAgICAgICAgKCtbV0tXZWJzaXRlRGF0YVN0b3JlIF9zZXRDYWNoZWRQcm9j
ZXNzU3VzcGVuc2lvbkRlbGF5Rm9yVGVzdGluZzpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUHJvY2Vzc0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y2FjaGVkUHJvY2Vzc1N1c3Bl
bnNpb25EZWxheSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDYWNoZTo6c2V0Q2FjaGVk
UHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3RpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzQ2FjaGU6OmFkZFByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ2Fj
aGU6OkNhY2hlZFByb2Nlc3M6OkNhY2hlZFByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzQ2FjaGU6OkNhY2hlZFByb2Nlc3M6OnN0YXJ0U3VzcGVuc2lvblRpbWVyKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnNlbmRS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUltbWVkaWF0ZWx5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YnNpdGVEYXRhU3RvcmU6OnNldENhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5n
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgor
CiAyMDIxLTA4LTI3ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgQWRkIFVJRXZlbnRBdHRyaWJ1dGlvbiBTUEkgdGhhdCB1c2VzIFByaXZhdGVD
bGlja01lYXN1cmVtZW50QXR0cmlidXRpb25FcGhlbWVyYWw6OlllcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KaW5k
ZXggOTFiYzZmYmY1MDVjNGM0ZDJjNWI0NDI1ZWEwMzRkYTY4MjNlOTI4My4uYzhkYTJhMDdhYjVj
N2FmYzhmMDA3N2M4YWIyMTM3ZDVlMWU4NTBlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCkBAIC01NDQsNiAr
NTQ0LDExIEBAIHN0YXRpYyBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29yZD4gdG9XZWJz
aXRlRGF0YVJlY29yZHMoTlNBcnJheSAqZGF0YVJlY29yCiAjZW5kaWYKIH0KIAorKyAodm9pZClf
c2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3Rpbmc6KGRvdWJsZSlkZWxheUlu
U2Vjb25kcworeworICAgIFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6c2V0Q2FjaGVkUHJvY2Vz
c1N1c3BlbnNpb25EZWxheUZvclRlc3RpbmcoU2Vjb25kcyhkZWxheUluU2Vjb25kcykpOworfQor
CiAtICh2b2lkKV9pc1JlbGF0aW9uc2hpcE9ubHlJbkRhdGFiYXNlT25jZTooTlNVUkwgKilmaXJz
dFBhcnR5VVJMIHRoaXJkUGFydHk6KE5TVVJMICopdGhpcmRQYXJ0eVVSTCBjb21wbGV0aW9uSGFu
ZGxlcjoodm9pZCAoXikoQk9PTCkpY29tcGxldGlvbkhhbmRsZXIKIHsKICNpZiBFTkFCTEUoUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmgKaW5kZXggMDE3
MTNlNjAxN2Q1ZDE3MGYwNmQ1OWFhMDk2OWRmZGU4ZDM0N2ZlYy4uNzNmMzA0ZjAwMDJiZDFiODky
MzA3NGRiYzJhYjliOWQ1YjcxMGVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCkBAIC04
Miw2ICs4Miw4IEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tXZWJzaXRlRGF0
YVN0b3JlRmV0Y2hPcHRpb25zKSB7CiAtICh2b2lkKV9hcHBCb3VuZERvbWFpbnM6KHZvaWQgKF4p
KE5TQXJyYXk8TlNTdHJpbmcgKj4gKikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcygxMS4wKSwgaW9zKDE0LjApKTsKIC0gKHZvaWQpX2FwcEJvdW5kU2NoZW1lczoodm9p
ZCAoXikoTlNBcnJheTxOU1N0cmluZyAqPiAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCisrICh2b2lkKV9zZXRDYWNoZWRQcm9j
ZXNzU3VzcGVuc2lvbkRlbGF5Rm9yVGVzdGluZzooZG91YmxlKWRlbGF5SW5TZWNvbmRzIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIC0gKHZv
aWQpX2FsbG93VExTQ2VydGlmaWNhdGVDaGFpbjooTlNBcnJheSAqKWNlcnRpZmljYXRlQ2hhaW4g
Zm9ySG9zdDooTlNTdHJpbmcgKilob3N0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlv
cygxNS4wKSk7CiAKIC0gKHZvaWQpX3JlbmFtZU9yaWdpbjooTlNVUkwgKilvbGROYW1lIHRvOihO
U1VSTCAqKW5ld05hbWUgZm9yRGF0YU9mVHlwZXM6KE5TU2V0PE5TU3RyaW5nICo+ICopZGF0YVR5
cGVzIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuY3BwCmluZGV4IGU0M2Vj
YjUyY2U1YTc4ZjljNGMyZDdlODYwMDQ5NDU5OGQ3OGMwMTQuLmE3MDc1MWFiOGNjN2UwZDY2ZDQx
YTRjYmZjZDYyNjE3YmY0YmEwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc0NhY2hlLmNwcApAQCAtNDAsNyArNDAsMTcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFNl
Y29uZHMgV2ViUHJvY2Vzc0NhY2hlOjpjYWNoZWRQcm9jZXNzTGlmZXRpbWUgeyAzMF9taW4gfTsK
IFNlY29uZHMgV2ViUHJvY2Vzc0NhY2hlOjpjbGVhcmluZ0RlbGF5QWZ0ZXJBcHBsaWNhdGlvblJl
c2lnbnNBY3RpdmUgeyA1X21pbiB9Owotc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIGNhY2hlZFBy
b2Nlc3NTdXNwZW5zaW9uRGVsYXkgeyAzMF9zIH07CisKK3N0YXRpYyBTZWNvbmRzJiBjYWNoZWRQ
cm9jZXNzU3VzcGVuc2lvbkRlbGF5KCkKK3sKKyAgICBzdGF0aWMgU2Vjb25kcyBjYWNoZWRQcm9j
ZXNzU3VzcGVuc2lvbkRlbGF5ID0gMzBfczsKKyAgICByZXR1cm4gY2FjaGVkUHJvY2Vzc1N1c3Bl
bnNpb25EZWxheTsKK30KKwordm9pZCBXZWJQcm9jZXNzQ2FjaGU6OnNldENhY2hlZFByb2Nlc3NT
dXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nKFNlY29uZHMgZGVsYXkpCit7CisgICAgY2FjaGVkUHJv
Y2Vzc1N1c3BlbnNpb25EZWxheSgpID0gZGVsYXk7Cit9CiAKIHN0YXRpYyB1aW50NjRfdCBnZW5l
cmF0ZUFkZFJlcXVlc3RJZGVudGlmaWVyKCkKIHsKQEAgLTEzMyw2ICsxNDMsMTAgQEAgYm9vbCBX
ZWJQcm9jZXNzQ2FjaGU6OmFkZFByb2Nlc3Moc3RkOjp1bmlxdWVfcHRyPENhY2hlZFByb2Nlc3M+
JiYgY2FjaGVkUHJvY2VzcykKICAgICAgICAgbV9wcm9jZXNzZXNQZXJSZWdpc3RyYWJsZURvbWFp
bi5yZW1vdmUoaXQpOwogICAgIH0KIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBjYWNoZWRQcm9j
ZXNzLT5zdGFydFN1c3BlbnNpb25UaW1lcigpOworI2VuZGlmCisKICAgICBXRUJQUk9DRVNTQ0FD
SEVfUkVMRUFTRV9MT0coImFkZFByb2Nlc3M6IEFkZGVkIHByb2Nlc3MgdG8gV2ViUHJvY2VzcyBj
YWNoZSAoc2l6ZT0ldSwgY2FwYWNpdHk9JXUpIiwgY2FjaGVkUHJvY2Vzcy0+cHJvY2VzcygpLnBy
b2Nlc3NJZGVudGlmaWVyKCksIHNpemUoKSArIDEsIGNhcGFjaXR5KCkpOwogICAgIG1fcHJvY2Vz
c2VzUGVyUmVnaXN0cmFibGVEb21haW4uYWRkKHJlZ2lzdHJhYmxlRG9tYWluLCBXVEZNb3ZlKGNh
Y2hlZFByb2Nlc3MpKTsKIApAQCAtMjY4LDkgKzI4Miw2IEBAIFdlYlByb2Nlc3NDYWNoZTo6Q2Fj
aGVkUHJvY2Vzczo6Q2FjaGVkUHJvY2VzcyhSZWY8V2ViUHJvY2Vzc1Byb3h5PiYmIHByb2Nlc3Mp
CiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNTQUdFKCFtX3Byb2Nlc3MtPndlYnNpdGVEYXRh
U3RvcmUoKS5wcm9jZXNzZXMoKS5jb250YWlucygqbV9wcm9jZXNzKSwgIk9ubHkgcHJvY2Vzc2Vz
IHdpdGggcGFnZXMgc2hvdWxkIGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZGF0YSBzdG9yZSIpOwog
ICAgIG1fcHJvY2Vzcy0+c2V0SXNJblByb2Nlc3NDYWNoZSh0cnVlKTsKICAgICBtX2V2aWN0aW9u
VGltZXIuc3RhcnRPbmVTaG90KGNhY2hlZFByb2Nlc3NMaWZldGltZSk7Ci0jaWYgUExBVEZPUk0o
TUFDKQotICAgIG1fc3VzcGVuc2lvblRpbWVyLnN0YXJ0T25lU2hvdChjYWNoZWRQcm9jZXNzU3Vz
cGVuc2lvbkRlbGF5KTsKLSNlbmRpZgogfQogCiBXZWJQcm9jZXNzQ2FjaGU6OkNhY2hlZFByb2Nl
c3M6On5DYWNoZWRQcm9jZXNzKCkKQEAgLTMxMSw2ICszMjIsMTMgQEAgdm9pZCBXZWJQcm9jZXNz
Q2FjaGU6OkNhY2hlZFByb2Nlc3M6OmV2aWN0aW9uVGltZXJGaXJlZCgpCiB9CiAKICNpZiBQTEFU
Rk9STShNQUMpCit2b2lkIFdlYlByb2Nlc3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6c3RhcnRTdXNw
ZW5zaW9uVGltZXIoKQoreworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBtX3N1c3BlbnNpb25UaW1l
ci5zdGFydE9uZVNob3QoY2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheSgpKTsKKyNlbmRpZgor
fQorCiB2b2lkIFdlYlByb2Nlc3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6c3VzcGVuc2lvblRpbWVy
RmlyZWQoKQogewogICAgIEFTU0VSVChtX3Byb2Nlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzQ2FjaGUuaAppbmRleCA4NzY3YWM4MjZhNTRjNzQwYjY4YzM0Nzk0MDhmZTMx
ZWViMWJlOGMxLi4yNDliYjdmNjZlY2RiMDAxY2YzMTM1MmYyYTU5NmRjOTNmY2RlY2Q2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuaApAQCAtNTgsNiArNTgsNyBA
QCBwdWJsaWM6CiAKICAgICBlbnVtIGNsYXNzIFNob3VsZFNodXREb3duUHJvY2VzcyB7IE5vLCBZ
ZXMgfTsKICAgICB2b2lkIHJlbW92ZVByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5JiwgU2hvdWxkU2h1
dERvd25Qcm9jZXNzKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRDYWNoZWRQcm9jZXNzU3VzcGVuc2lv
bkRlbGF5Rm9yVGVzdGluZyhTZWNvbmRzKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgU2Vjb25k
cyBjYWNoZWRQcm9jZXNzTGlmZXRpbWU7CkBAIC03MSw2ICs3Miw3IEBAIHByaXZhdGU6CiAKICAg
ICAgICAgUmVmPFdlYlByb2Nlc3NQcm94eT4gdGFrZVByb2Nlc3MoKTsKICAgICAgICAgV2ViUHJv
Y2Vzc1Byb3h5JiBwcm9jZXNzKCkgeyBBU1NFUlQobV9wcm9jZXNzKTsgcmV0dXJuICptX3Byb2Nl
c3M7IH0KKyAgICAgICAgdm9pZCBzdGFydFN1c3BlbnNpb25UaW1lcigpOwogCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgICAgICBib29sIGlzU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gIW1fc3Vz
cGVuc2lvblRpbWVyLmlzQWN0aXZlKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcAppbmRleCAxZjgzZDQwMzI0OWMxZDc4MzZjZDJjNDRmMmQ4NzZkYzkzMzA0
MTMxLi4zNTE1MGMyOWRjOGU2MzVmYWM5NGMyM2QxNWYxOWJjNDczNWQzYWU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0yMDM0LDggKzIwMzQsMTIg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2VuZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1t
ZWRpYXRlbHkoQ29tcGxldGlvbkhhbmRsZXIKIHsKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRv
ciA9IENhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKIAotICAgIGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKQorICAgIGZvciAoYXV0
byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKSB7CisgICAgICAgIGlmICghcHJvY2Vzcy0+cGFnZUNv
dW50KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBwcm9jZXNzLT5zZW5kV2l0
aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGF0YUltbWVkaWF0ZWx5KCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisgICAgfQog
fQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVE
YXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggZjk0MWIwMWViZmViN2ZhYmNmMTEwYTkx
NTMxM2M2ZTI4ODI4NWI2Mi4uZDZhZWE4YmNiNmFlYjhmOWQ1YjEyNTMxNGQ2YTZmNmZjNjBlOWFi
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEv
V2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTE1OTUsNiArMTU5NSwxMSBAQCB2b2lkIFdlYnNpdGVE
YXRhU3RvcmU6OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Q05BTUVEb21haW5G
b3JUZXN0aW5nKAogfQogI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
CiAKK3ZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6c2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxh
eUZvclRlc3RpbmcoU2Vjb25kcyBkZWxheSkKK3sKKyAgICBXZWJQcm9jZXNzQ2FjaGU6OnNldENh
Y2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nKGRlbGF5KTsKK30KKwogdm9pZCBX
ZWJzaXRlRGF0YVN0b3JlOjpzeW5jTG9jYWxTdG9yYWdlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBuZXR3b3JrUHJvY2VzcygpLnNlbmRXaXRo
QXN5bmNSZXBseShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlN5bmNMb2NhbFN0b3JhZ2UoKSwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IGZkYmNiNWE1MDY4
NTM3ZDRmOTBmMDljNTNiZTIzNzliYmZiY2ZlYjUuLmNhMmIxZTI5ODY1YmM3ODU2YjhlODk0Y2I5
N2ViNmQ4NDJhOTM2MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNp
dGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTI2MCw2ICsyNjAsOCBAQCBwdWJsaWM6
CiAgICAgY29uc3QgU3RyaW5nJiByZXNvbHZlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkg
Y29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPm1vZGVsRWxlbWVudENhY2hl
RGlyZWN0b3J5KCk7IH0KICNlbmRpZgogCisgICAgc3RhdGljIHZvaWQgc2V0Q2FjaGVkUHJvY2Vz
c1N1c3BlbnNpb25EZWxheUZvclRlc3RpbmcoU2Vjb25kcyk7CisKICAgICB2b2lkIGFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qLCBj
b25zdCBTdHJpbmcmIGhvc3QpOwogCiAgICAgRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UmIGRldmlj
ZUlkSGFzaFNhbHRTdG9yYWdlKCkgeyByZXR1cm4gbV9kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5n
ZXQoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDhkZDFiZDhiZGZhNjEzMWFjMjY1M2I4ZGUzMDliMWEwMWY0YmU2NzAuLmUyMWFkOTllMTY1
YTMyNzExOGU4MDU3NDdiOWJjODY3YzAxNmU4YzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOS0wMyAgS2F0
ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBTYWZhcmni
gJlzIFByaXZhY3kgUmVwb3J0IHdpbmRvdyBpcyBjb21wbGV0ZWx5IGJsYW5rCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk4NDcKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzgwOTc0Njg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjEtMDgtMjcgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgVUlF
dmVudEF0dHJpYnV0aW9uIFNQSSB0aGF0IHVzZXMgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRy
aWJ1dGlvbkVwaGVtZXJhbDo6WWVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0KaW5kZXgg
ZjM5NzVmNmQ2NmNjMzdiZjU0NTJkMTA4NzE1NDM3ZGM1NTMxMDM5NS4uMDdhNDY1YmYwMzY4ZmQ0
YjNiNTg0MjgwN2EyOTFhOGY2MWI0N2EwOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5t
bQpAQCAtMzgsNiArMzgsNyBAQAogI2ltcG9ydCA8V2ViS2l0L19XS1Byb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9TdHJp
bmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KIAogc3RhdGljIGJvb2wgZmluaXNoZWROYXZpZ2F0aW9u
ID0gZmFsc2U7CiAKQEAgLTEzMzcsNiArMTMzOCw2MiBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRp
c3RpY3MsIFN0b3JlU3VzcGVuc2lvbikKIAogQGVuZAogCisjaWYgUExBVEZPUk0oTUFDKQorVEVT
VChSZXNvdXJjZUxvYWRTdGF0aXN0aWNzLCBEYXRhU3VtbWFyeVdpdGhDYWNoZWRQcm9jZXNzKQor
eworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5nZXQoKS5wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24gPSBZRVM7CisgICAgcHJvY2Vz
c1Bvb2xDb25maWd1cmF0aW9uLmdldCgpLnVzZXNXZWJQcm9jZXNzQ2FjaGUgPSBZRVM7CisgICAg
cHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbldp
dGhpblNhbWVOb25IVFRQRmFtaWx5UHJvdG9jb2wgPSBZRVM7CisgICAgcHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmdldCgpLnByZXdhcm1zUHJvY2Vzc2VzQXV0b21hdGljYWxseSA9IE5POworICAg
IGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRX
aXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAg
IEVYUEVDVF9HVChbcHJvY2Vzc1Bvb2wgX21heGltdW1TdXNwZW5kZWRQYWdlQ291bnRdLCAwdSk7
CisgICAgRVhQRUNUX0dUKFtwcm9jZXNzUG9vbCBfcHJvY2Vzc0NhY2hlQ2FwYWNpdHldLCAwdSk7
CisKKyAgICBhdXRvICpkYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRh
U3RvcmVdOworICAgIFtXS1dlYnNpdGVEYXRhU3RvcmUgX3NldENhY2hlZFByb2Nlc3NTdXNwZW5z
aW9uRGVsYXlGb3JUZXN0aW5nOjBdOworCisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9
IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgW3dl
YlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKKyAg
ICBbd2ViVmlld0NvbmZpZ3VyYXRpb24gc2V0V2Vic2l0ZURhdGFTdG9yZTpkYXRhU3RvcmVdOwor
CisgICAgYXV0byBoYW5kbGVyID0gYWRvcHROUyhbW1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTY2hl
bWVIYW5kbGVyIGFsbG9jXSBpbml0XSk7CisKKyAgICBjb25zdCB1bnNpZ25lZCBtYXhTdXNwZW5k
ZWRQYWdlQ291bnQgPSBbcHJvY2Vzc1Bvb2wgX21heGltdW1TdXNwZW5kZWRQYWdlQ291bnRdOwor
ICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0
KCkgZm9yVVJMU2NoZW1lOkAicmVzb3VyY2UtbG9hZC1zdGF0aXN0aWNzIl07CisKKyAgICBhdXRv
IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0
aW9uLmdldCgpXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0TmF2aWdhdGlv
bkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVn
YXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXhT
dXNwZW5kZWRQYWdlQ291bnQgKyAxOyBpKyspIHsKKyAgICAgICAgTlNVUkxSZXF1ZXN0ICpyZXF1
ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpt
YWtlU3RyaW5nKCJyZXNvdXJjZS1sb2FkLXN0YXRpc3RpY3M6Ly93d3cuZG9tYWluLSIsIGksICIu
Y29tIildXTsKKyAgICAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgICAg
IFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICAgICAgRVhQRUNU
X0VRKGkgKyAxLCBbcHJvY2Vzc1Bvb2wgX3dlYlByb2Nlc3NDb3VudF0pOworICAgICAgICBFWFBF
Q1RfRVEoaSArIDEsIFtwcm9jZXNzUG9vbCBfd2ViUHJvY2Vzc0NvdW50SWdub3JpbmdQcmV3YXJt
ZWRBbmRDYWNoZWRdKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKFtwcm9jZXNzUG9vbCBfaGFzUHJl
d2FybWVkV2ViUHJvY2Vzc10pOworICAgIH0KKyAgICAKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVl
c3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOm1h
a2VTdHJpbmcoInJlc291cmNlLWxvYWQtc3RhdGlzdGljczovL3d3dy5kb21haW4tIiwgbWF4U3Vz
cGVuZGVkUGFnZUNvdW50ICsgMSwgIi5jb20iKV1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0
OnJlcXVlc3RdOworICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisK
KyAgICAvLyBUaGlzIHdpbGwgdGltZW91dCBpZiB3YWl0aW5nIGZvciBJUEMgZnJvbSBhIGNhY2hl
ZCBwcm9jZXNzLgorICAgIHN0YXRpYyBib29sIGRvbmVGbGFnID0gZmFsc2U7CisgICAgW2RhdGFT
dG9yZSBfZ2V0UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFTdW1tYXJ5Ol52b2lkKE5TQXJyYXk8
X1dLUmVzb3VyY2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkgKj4gKnRoaXJkUGFydHlEYXRhKQor
ICAgIHsKKyAgICAgICAgZG9uZUZsYWcgPSB0cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZkb25lRmxhZyk7CisgICAgCisgICAgW1dLV2Vic2l0ZURhdGFTdG9y
ZSBfc2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3Rpbmc6MzBdOworfQorI2Vu
ZGlmCisKIFRFU1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgQmFja0ZvcndhcmRQZXJQYWdlRGF0
YSkKIHsKICAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437317</attachid>
            <date>2021-09-03 14:56:38 -0700</date>
            <delta_ts>2021-09-03 15:48:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229847-20210903145637.patch</filename>
            <type>text/plain</type>
            <size>13596</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmYzU5NDI1ZjkzOTgxYzc0
OGMwY2I5ZTI0MDUxMzZiZTdlMGZlZTAuLmRlMmY2YjkxNmY1OTg1M2IyZGYwMDYyMDQzMzMzZmRj
MDVmYzM2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMjEtMDktMDMgIEthdGUgQ2hl
bmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CisKKyAgICAgICAgU2FmYXJp4oCZcyBQ
cml2YWN5IFJlcG9ydCB3aW5kb3cgaXMgY29tcGxldGVseSBibGFuaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5ODQ3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84MDk3NDY4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBzaG91bGQgbm90IHdhaXQgZm9yIGFuIElQQyByZXBseSBvbiBhIGNhY2hl
ZCB3ZWIgcHJvY2VzcywgYmVjYXVzZQorICAgICAgICBpdCB3aWxsIGNhdXNlIGxvbmcgaGFuZ3Mu
CisKKyAgICAgICAgSW4gb3JkZXIgdG8gdGVzdCB0aGlzIEkgYWRkZWQgYSBuZXcgU1BJIHRvIHVw
ZGF0ZSB0aGUKKyAgICAgICAgY2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheSAodGhlIHVzdWFs
IHRpbWVvdXQgaXMgMzAgc2Vjb25kcykuIEkgYWxzbworICAgICAgICBtb3ZlZCB0aGUgaW5pdGlh
bCBzdXNwZW5zaW9uIHRpbWVyIGNhbGwgdG8gYmUgYWZ0ZXIgdGhlIHJlc3BvbnNpdmVuZXNzCisg
ICAgICAgIGNoZWNrLCBvdGhlcndpc2UgdGhlIGNhY2hlZCBwcm9jZXNzIHdpbGwgYmUgcmVzdW1l
ZCB2ZXJ5IHNvb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURh
dGFTdG9yZS5tbToKKyAgICAgICAgKCtbV0tXZWJzaXRlRGF0YVN0b3JlIF9zZXRDYWNoZWRQcm9j
ZXNzU3VzcGVuc2lvbkRlbGF5Rm9yVGVzdGluZzpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUHJvY2Vzc0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NhY2hlOjpz
ZXRDYWNoZWRQcm9jZXNzU3VzcGVuc2lvbkRlbGF5Rm9yVGVzdGluZyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NDYWNoZTo6YWRkUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6Q2FjaGVkUHJvY2Vzcyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlByb2Nlc3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6c3RhcnRTdXNwZW5zaW9uVGltZXIp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6c2VuZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHkpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6c2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZv
clRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0
b3JlLmg6CisKIDIwMjEtMDgtMjcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgVUlFdmVudEF0dHJpYnV0aW9uIFNQSSB0aGF0IHVzZXMg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvbkVwaGVtZXJhbDo6WWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9y
ZS5tbQppbmRleCA5MWJjNmZiZjUwNWM0YzRkMmM1YjQ0MjVlYTAzNGRhNjgyM2U5MjgzLi5jOGRh
MmEwN2FiNWM3YWZjOGYwMDc3YzhhYjIxMzdkNWUxZTg1MGVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmUubW0KQEAg
LTU0NCw2ICs1NDQsMTEgQEAgc3RhdGljIFZlY3RvcjxXZWJLaXQ6OldlYnNpdGVEYXRhUmVjb3Jk
PiB0b1dlYnNpdGVEYXRhUmVjb3JkcyhOU0FycmF5ICpkYXRhUmVjb3IKICNlbmRpZgogfQogCisr
ICh2b2lkKV9zZXRDYWNoZWRQcm9jZXNzU3VzcGVuc2lvbkRlbGF5Rm9yVGVzdGluZzooZG91Ymxl
KWRlbGF5SW5TZWNvbmRzCit7CisgICAgV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjpzZXRDYWNo
ZWRQcm9jZXNzU3VzcGVuc2lvbkRlbGF5Rm9yVGVzdGluZyhTZWNvbmRzKGRlbGF5SW5TZWNvbmRz
KSk7Cit9CisKIC0gKHZvaWQpX2lzUmVsYXRpb25zaGlwT25seUluRGF0YWJhc2VPbmNlOihOU1VS
TCAqKWZpcnN0UGFydHlVUkwgdGhpcmRQYXJ0eTooTlNVUkwgKil0aGlyZFBhcnR5VVJMIGNvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKShCT09MKSljb21wbGV0aW9uSGFuZGxlcgogewogI2lmIEVO
QUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaApp
bmRleCAwMTcxM2U2MDE3ZDVkMTcwZjA2ZDU5YWEwOTY5ZGZkZThkMzQ3ZmVjLi43M2YzMDRmMDAw
MmJkMWI4OTIzMDc0ZGJjMmFiOWI5ZDViNzEwZWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRl
LmgKQEAgLTgyLDYgKzgyLDggQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1dl
YnNpdGVEYXRhU3RvcmVGZXRjaE9wdGlvbnMpIHsKIC0gKHZvaWQpX2FwcEJvdW5kRG9tYWluczoo
dm9pZCAoXikoTlNBcnJheTxOU1N0cmluZyAqPiAqKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogLSAodm9pZClfYXBwQm91bmRTY2hl
bWVzOih2b2lkICheKShOU0FycmF5PE5TU3RyaW5nICo+ICopKWNvbXBsZXRpb25IYW5kbGVyIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoMTEuMCksIGlvcygxNC4wKSk7CiAKKysgKHZvaWQpX3NldENh
Y2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nOihkb3VibGUpZGVsYXlJblNlY29u
ZHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
KwogLSAodm9pZClfYWxsb3dUTFNDZXJ0aWZpY2F0ZUNoYWluOihOU0FycmF5ICopY2VydGlmaWNh
dGVDaGFpbiBmb3JIb3N0OihOU1N0cmluZyAqKWhvc3QgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygx
Mi4wKSwgaW9zKDE1LjApKTsKIAogLSAodm9pZClfcmVuYW1lT3JpZ2luOihOU1VSTCAqKW9sZE5h
bWUgdG86KE5TVVJMICopbmV3TmFtZSBmb3JEYXRhT2ZUeXBlczooTlNTZXQ8TlNTdHJpbmcgKj4g
KilkYXRhVHlwZXMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNvbXBsZXRpb25I
YW5kbGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc0Nh
Y2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NDYWNoZS5jcHAKaW5k
ZXggZTQzZWNiNTJjZTVhNzhmOWM0YzJkN2U4NjAwNDk0NTk4ZDc4YzAxNC4uYzVmMTdlYjBjZjMx
YjBhNDVkOTZhNjE2MTBkYzliZGQxMGMxMjEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzQ2FjaGUuY3BwCkBAIC00MCw3ICs0MCwxMiBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogU2Vjb25kcyBXZWJQcm9jZXNzQ2FjaGU6OmNhY2hlZFByb2Nlc3NMaWZldGltZSB7IDMw
X21pbiB9OwogU2Vjb25kcyBXZWJQcm9jZXNzQ2FjaGU6OmNsZWFyaW5nRGVsYXlBZnRlckFwcGxp
Y2F0aW9uUmVzaWduc0FjdGl2ZSB7IDVfbWluIH07Ci1zdGF0aWMgY29uc3RleHByIFNlY29uZHMg
Y2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheSB7IDMwX3MgfTsKK3N0YXRpYyBTZWNvbmRzIGNh
Y2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkgeyAzMF9zIH07CisKK3ZvaWQgV2ViUHJvY2Vzc0Nh
Y2hlOjpzZXRDYWNoZWRQcm9jZXNzU3VzcGVuc2lvbkRlbGF5Rm9yVGVzdGluZyhTZWNvbmRzIGRl
bGF5KQoreworICAgIGNhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkgPSBkZWxheTsKK30KIAog
c3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlQWRkUmVxdWVzdElkZW50aWZpZXIoKQogewpAQCAtMTMz
LDYgKzEzOCwxMCBAQCBib29sIFdlYlByb2Nlc3NDYWNoZTo6YWRkUHJvY2VzcyhzdGQ6OnVuaXF1
ZV9wdHI8Q2FjaGVkUHJvY2Vzcz4mJiBjYWNoZWRQcm9jZXNzKQogICAgICAgICBtX3Byb2Nlc3Nl
c1BlclJlZ2lzdHJhYmxlRG9tYWluLnJlbW92ZShpdCk7CiAgICAgfQogCisjaWYgUExBVEZPUk0o
TUFDKQorICAgIGNhY2hlZFByb2Nlc3MtPnN0YXJ0U3VzcGVuc2lvblRpbWVyKCk7CisjZW5kaWYK
KwogICAgIFdFQlBST0NFU1NDQUNIRV9SRUxFQVNFX0xPRygiYWRkUHJvY2VzczogQWRkZWQgcHJv
Y2VzcyB0byBXZWJQcm9jZXNzIGNhY2hlIChzaXplPSV1LCBjYXBhY2l0eT0ldSkiLCBjYWNoZWRQ
cm9jZXNzLT5wcm9jZXNzKCkucHJvY2Vzc0lkZW50aWZpZXIoKSwgc2l6ZSgpICsgMSwgY2FwYWNp
dHkoKSk7CiAgICAgbV9wcm9jZXNzZXNQZXJSZWdpc3RyYWJsZURvbWFpbi5hZGQocmVnaXN0cmFi
bGVEb21haW4sIFdURk1vdmUoY2FjaGVkUHJvY2VzcykpOwogCkBAIC0yNjgsOSArMjc3LDYgQEAg
V2ViUHJvY2Vzc0NhY2hlOjpDYWNoZWRQcm9jZXNzOjpDYWNoZWRQcm9jZXNzKFJlZjxXZWJQcm9j
ZXNzUHJveHk+JiYgcHJvY2VzcykKICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX01FU1NBR0UoIW1f
cHJvY2Vzcy0+d2Vic2l0ZURhdGFTdG9yZSgpLnByb2Nlc3NlcygpLmNvbnRhaW5zKCptX3Byb2Nl
c3MpLCAiT25seSBwcm9jZXNzZXMgd2l0aCBwYWdlcyBzaG91bGQgYmUgcmVnaXN0ZXJlZCB3aXRo
IHRoZSBkYXRhIHN0b3JlIik7CiAgICAgbV9wcm9jZXNzLT5zZXRJc0luUHJvY2Vzc0NhY2hlKHRy
dWUpOwogICAgIG1fZXZpY3Rpb25UaW1lci5zdGFydE9uZVNob3QoY2FjaGVkUHJvY2Vzc0xpZmV0
aW1lKTsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgbV9zdXNwZW5zaW9uVGltZXIuc3RhcnRPbmVT
aG90KGNhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkpOwotI2VuZGlmCiB9CiAKIFdlYlByb2Nl
c3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6fkNhY2hlZFByb2Nlc3MoKQpAQCAtMzExLDYgKzMxNywx
MSBAQCB2b2lkIFdlYlByb2Nlc3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6ZXZpY3Rpb25UaW1lckZp
cmVkKCkKIH0KIAogI2lmIFBMQVRGT1JNKE1BQykKK3ZvaWQgV2ViUHJvY2Vzc0NhY2hlOjpDYWNo
ZWRQcm9jZXNzOjpzdGFydFN1c3BlbnNpb25UaW1lcigpCit7CisgICAgbV9zdXNwZW5zaW9uVGlt
ZXIuc3RhcnRPbmVTaG90KGNhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXkpOworfQorCiB2b2lk
IFdlYlByb2Nlc3NDYWNoZTo6Q2FjaGVkUHJvY2Vzczo6c3VzcGVuc2lvblRpbWVyRmlyZWQoKQog
ewogICAgIEFTU0VSVChtX3Byb2Nlc3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc0NhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzQ2FjaGUuaAppbmRleCA4NzY3YWM4MjZhNTRjNzQwYjY4YzM0Nzk0MDhmZTMxZWViMWJlOGMx
Li4yNDliYjdmNjZlY2RiMDAxY2YzMTM1MmYyYTU5NmRjOTNmY2RlY2Q2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzQ2FjaGUuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6
CiAKICAgICBlbnVtIGNsYXNzIFNob3VsZFNodXREb3duUHJvY2VzcyB7IE5vLCBZZXMgfTsKICAg
ICB2b2lkIHJlbW92ZVByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5JiwgU2hvdWxkU2h1dERvd25Qcm9j
ZXNzKTsKKyAgICBzdGF0aWMgdm9pZCBzZXRDYWNoZWRQcm9jZXNzU3VzcGVuc2lvbkRlbGF5Rm9y
VGVzdGluZyhTZWNvbmRzKTsKIAogcHJpdmF0ZToKICAgICBzdGF0aWMgU2Vjb25kcyBjYWNoZWRQ
cm9jZXNzTGlmZXRpbWU7CkBAIC03MSw2ICs3Miw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgUmVm
PFdlYlByb2Nlc3NQcm94eT4gdGFrZVByb2Nlc3MoKTsKICAgICAgICAgV2ViUHJvY2Vzc1Byb3h5
JiBwcm9jZXNzKCkgeyBBU1NFUlQobV9wcm9jZXNzKTsgcmV0dXJuICptX3Byb2Nlc3M7IH0KKyAg
ICAgICAgdm9pZCBzdGFydFN1c3BlbnNpb25UaW1lcigpOwogCiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgICAgICBib29sIGlzU3VzcGVuZGVkKCkgY29uc3QgeyByZXR1cm4gIW1fc3VzcGVuc2lvblRp
bWVyLmlzQWN0aXZlKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcAppbmRleCAxZjgzZDQwMzI0OWMxZDc4MzZjZDJjNDRmMmQ4NzZkYzkzMzA0MTMxLi4zNTE1
MGMyOWRjOGU2MzVmYWM5NGMyM2QxNWYxOWJjNDczNWQzYWU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0yMDM0LDggKzIwMzQsMTIgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6c2VuZFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhSW1tZWRpYXRlbHko
Q29tcGxldGlvbkhhbmRsZXIKIHsKICAgICBhdXRvIGNhbGxiYWNrQWdncmVnYXRvciA9IENhbGxi
YWNrQWdncmVnYXRvcjo6Y3JlYXRlKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAotICAg
IGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NlcygpKQorICAgIGZvciAoYXV0byYgcHJvY2Vz
cyA6IHByb2Nlc3NlcygpKSB7CisgICAgICAgIGlmICghcHJvY2Vzcy0+cGFnZUNvdW50KCkpCisg
ICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAgICBwcm9jZXNzLT5zZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNlbmRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YUlt
bWVkaWF0ZWx5KCksIFtjYWxsYmFja0FnZ3JlZ2F0b3JdIHsgfSk7CisgICAgfQogfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vi
c2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggZjk0MWIwMWViZmViN2ZhYmNmMTEwYTkxNTMxM2M2ZTI4
ODI4NWI2Mi4uZDZhZWE4YmNiNmFlYjhmOWQ1YjEyNTMxNGQ2YTZmNmZjNjBlOWFiMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5jcHAKQEAgLTE1OTUsNiArMTU5NSwxMSBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6
OnNldFJlc291cmNlTG9hZFN0YXRpc3RpY3NUaGlyZFBhcnR5Q05BTUVEb21haW5Gb3JUZXN0aW5n
KAogfQogI2VuZGlmIC8vIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAKK3ZvaWQg
V2Vic2l0ZURhdGFTdG9yZTo6c2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3Rp
bmcoU2Vjb25kcyBkZWxheSkKK3sKKyAgICBXZWJQcm9jZXNzQ2FjaGU6OnNldENhY2hlZFByb2Nl
c3NTdXNwZW5zaW9uRGVsYXlGb3JUZXN0aW5nKGRlbGF5KTsKK30KKwogdm9pZCBXZWJzaXRlRGF0
YVN0b3JlOjpzeW5jTG9jYWxTdG9yYWdlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKICAgICBuZXR3b3JrUHJvY2VzcygpLnNlbmRXaXRoQXN5bmNSZXBs
eShNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OlN5bmNMb2NhbFN0b3JhZ2UoKSwgV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IGZkYmNiNWE1MDY4NTM3ZDRmOTBm
MDljNTNiZTIzNzliYmZiY2ZlYjUuLmNhMmIxZTI5ODY1YmM3ODU2YjhlODk0Y2I5N2ViNmQ4NDJh
OTM2MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dl
YnNpdGVEYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0
YS9XZWJzaXRlRGF0YVN0b3JlLmgKQEAgLTI2MCw2ICsyNjAsOCBAQCBwdWJsaWM6CiAgICAgY29u
c3QgU3RyaW5nJiByZXNvbHZlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkgY29uc3QgeyBy
ZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPm1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5
KCk7IH0KICNlbmRpZgogCisgICAgc3RhdGljIHZvaWQgc2V0Q2FjaGVkUHJvY2Vzc1N1c3BlbnNp
b25EZWxheUZvclRlc3RpbmcoU2Vjb25kcyk7CisKICAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQ
U0NlcnRpZmljYXRlRm9ySG9zdChjb25zdCBXZWJDZXJ0aWZpY2F0ZUluZm8qLCBjb25zdCBTdHJp
bmcmIGhvc3QpOwogCiAgICAgRGV2aWNlSWRIYXNoU2FsdFN0b3JhZ2UmIGRldmljZUlkSGFzaFNh
bHRTdG9yYWdlKCkgeyByZXR1cm4gbV9kZXZpY2VJZEhhc2hTYWx0U3RvcmFnZS5nZXQoKTsgfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhkZDFi
ZDhiZGZhNjEzMWFjMjY1M2I4ZGUzMDliMWEwMWY0YmU2NzAuLmUyMWFkOTllMTY1YTMyNzExOGU4
MDU3NDdiOWJjODY3YzAxNmU4YzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wOS0wMyAgS2F0ZSBDaGVuZXkg
IDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KKworICAgICAgICBTYWZhcmnigJlzIFByaXZh
Y3kgUmVwb3J0IHdpbmRvdyBpcyBjb21wbGV0ZWx5IGJsYW5rCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk4NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzgwOTc0Njg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzLm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjEtMDgtMjcgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgVUlFdmVudEF0dHJp
YnV0aW9uIFNQSSB0aGF0IHVzZXMgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRBdHRyaWJ1dGlvbkVw
aGVtZXJhbDo6WWVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MubW0KaW5kZXggZjM5NzVmNmQ2
NmNjMzdiZjU0NTJkMTA4NzE1NDM3ZGM1NTMxMDM5NS4uMDdhNDY1YmYwMzY4ZmQ0YjNiNTg0Mjgw
N2EyOTFhOGY2MWI0N2EwOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbQpAQCAtMzgs
NiArMzgsNyBAQAogI2ltcG9ydCA8V2ViS2l0L19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
PgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg+CiAj
aW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRl
bmF0ZU51bWJlcnMuaD4KIAogc3RhdGljIGJvb2wgZmluaXNoZWROYXZpZ2F0aW9uID0gZmFsc2U7
CiAKQEAgLTEzMzcsNiArMTMzOCw2MiBAQCBURVNUKFJlc291cmNlTG9hZFN0YXRpc3RpY3MsIFN0
b3JlU3VzcGVuc2lvbikKIAogQGVuZAogCisjaWYgUExBVEZPUk0oTUFDKQorVEVTVChSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLCBEYXRhU3VtbWFyeVdpdGhDYWNoZWRQcm9jZXNzKQoreworICAgIGF1
dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5n
ZXQoKS5wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24gPSBZRVM7CisgICAgcHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLmdldCgpLnVzZXNXZWJQcm9jZXNzQ2FjaGUgPSBZRVM7CisgICAgcHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbldpdGhpblNhbWVO
b25IVFRQRmFtaWx5UHJvdG9jb2wgPSBZRVM7CisgICAgcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9u
LmdldCgpLnByZXdhcm1zUHJvY2Vzc2VzQXV0b21hdGljYWxseSA9IE5POworICAgIGF1dG8gcHJv
Y2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNzUG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmln
dXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIEVYUEVDVF9H
VChbcHJvY2Vzc1Bvb2wgX21heGltdW1TdXNwZW5kZWRQYWdlQ291bnRdLCAwdSk7CisgICAgRVhQ
RUNUX0dUKFtwcm9jZXNzUG9vbCBfcHJvY2Vzc0NhY2hlQ2FwYWNpdHldLCAwdSk7CisKKyAgICBh
dXRvICpkYXRhU3RvcmUgPSBbV0tXZWJzaXRlRGF0YVN0b3JlIGRlZmF1bHREYXRhU3RvcmVdOwor
ICAgIFtXS1dlYnNpdGVEYXRhU3RvcmUgX3NldENhY2hlZFByb2Nlc3NTdXNwZW5zaW9uRGVsYXlG
b3JUZXN0aW5nOjBdOworCisgICAgYXV0byB3ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25m
aWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29sLmdldCgpXTsKKyAgICBbd2ViVmll
d0NvbmZpZ3VyYXRpb24gc2V0V2Vic2l0ZURhdGFTdG9yZTpkYXRhU3RvcmVdOworCisgICAgYXV0
byBoYW5kbGVyID0gYWRvcHROUyhbW1Jlc291cmNlTG9hZFN0YXRpc3RpY3NTY2hlbWVIYW5kbGVy
IGFsbG9jXSBpbml0XSk7CisKKyAgICBjb25zdCB1bnNpZ25lZCBtYXhTdXNwZW5kZWRQYWdlQ291
bnQgPSBbcHJvY2Vzc1Bvb2wgX21heGltdW1TdXNwZW5kZWRQYWdlQ291bnRdOworICAgIFt3ZWJW
aWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJM
U2NoZW1lOkAicmVzb3VyY2UtbG9hZC1zdGF0aXN0aWNzIl07CisKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgp
XSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tUZXN0TmF2aWdhdGlvbkRlbGVnYXRl
IGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVn
YXRlLmdldCgpXTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXhTdXNwZW5kZWRQ
YWdlQ291bnQgKyAxOyBpKyspIHsKKyAgICAgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzptYWtlU3RyaW5n
KCJyZXNvdXJjZS1sb2FkLXN0YXRpc3RpY3M6Ly93d3cuZG9tYWluLSIsIGksICIuY29tIildXTsK
KyAgICAgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgICAgIFtkZWxlZ2F0
ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICAgICAgRVhQRUNUX0VRKGkgKyAx
LCBbcHJvY2Vzc1Bvb2wgX3dlYlByb2Nlc3NDb3VudF0pOworICAgICAgICBFWFBFQ1RfRVEoaSAr
IDEsIFtwcm9jZXNzUG9vbCBfd2ViUHJvY2Vzc0NvdW50SWdub3JpbmdQcmV3YXJtZWRBbmRDYWNo
ZWRdKTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKFtwcm9jZXNzUG9vbCBfaGFzUHJld2FybWVkV2Vi
UHJvY2Vzc10pOworICAgIH0KKyAgICAKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOm1ha2VTdHJpbmco
InJlc291cmNlLWxvYWQtc3RhdGlzdGljczovL3d3dy5kb21haW4tIiwgbWF4U3VzcGVuZGVkUGFn
ZUNvdW50ICsgMSwgIi5jb20iKV1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3Rd
OworICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICAvLyBU
aGlzIHdpbGwgdGltZW91dCBpZiB3YWl0aW5nIGZvciBJUEMgZnJvbSBhIGNhY2hlZCBwcm9jZXNz
LgorICAgIHN0YXRpYyBib29sIGRvbmVGbGFnID0gZmFsc2U7CisgICAgW2RhdGFTdG9yZSBfZ2V0
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFTdW1tYXJ5Ol52b2lkKE5TQXJyYXk8X1dLUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1RoaXJkUGFydHkgKj4gKnRoaXJkUGFydHlEYXRhKQorICAgIHsKKyAg
ICAgICAgZG9uZUZsYWcgPSB0cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lRmxhZyk7CisgICAgCisgICAgW1dLV2Vic2l0ZURhdGFTdG9yZSBfc2V0Q2Fj
aGVkUHJvY2Vzc1N1c3BlbnNpb25EZWxheUZvclRlc3Rpbmc6MzBdOworfQorI2VuZGlmCisKIFRF
U1QoUmVzb3VyY2VMb2FkU3RhdGlzdGljcywgQmFja0ZvcndhcmRQZXJQYWdlRGF0YSkKIHsKICAg
ICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>