<?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>223775</bug_id>
          
          <creation_ts>2021-03-25 16:49:09 -0700</creation_ts>
          <short_desc>Propagate user gestures through `requestAnimationFrame` just like `setTimeout`</short_desc>
          <delta_ts>2021-07-05 08:51:47 -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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>hi</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kkruglov</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1743992</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-25 16:49:09 -0700</bug_when>
    <thetext>`setTimeout` and `requestAnimationFrame` are used somewhat interchangeably on the web. There should be similar features/&quot;affordances&quot; for both so that if a developer decides to use a display-linked animation &quot;loop&quot; instead of a strictly time-based one they&apos;re able to do similar things in the callback/handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743993</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-25 16:49:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/75860868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743996</commentid>
    <comment_count>2</comment_count>
      <attachid>424298</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-25 16:51:17 -0700</bug_when>
    <thetext>Created attachment 424298
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744037</commentid>
    <comment_count>3</comment_count>
      <attachid>424311</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-25 19:04:05 -0700</bug_when>
    <thetext>Created attachment 424311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744904</commentid>
    <comment_count>4</comment_count>
      <attachid>424311</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-03-29 14:01:07 -0700</bug_when>
    <thetext>Comment on attachment 424311
Patch

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

r=me

&gt; Source/WebCore/ChangeLog:10
&gt; +        There should be similar features/&quot;affordances&quot; for both so that if a developer decides

No need to scare-quote affordances -- this is an affordance.

&gt; Source/WebCore/dom/ScriptedAnimationController.cpp:170
&gt; +        if (userGestureTokenToForward &amp;&amp; userGestureTokenToForward-&gt;hasExpired(UserGestureToken::maximumIntervalForUserGestureForwarding))
&gt; +            userGestureTokenToForward = nullptr;
&gt; +        UserGestureIndicator gestureIndicator(userGestureTokenToForward);

Not new in this patch, but it would be nice (perhaps in a follow-up patch) if the UserGestureIndicator constructor checked the token for expiration, and automatically set the null user gesture state in that case. That could eliminate some boilerplate code and, more importantly, make it impossible to construct an invalid user gesture state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744943</commentid>
    <comment_count>5</comment_count>
      <attachid>424311</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-29 15:06:30 -0700</bug_when>
    <thetext>Comment on attachment 424311
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        There should be similar features/&quot;affordances&quot; for both so that if a developer decides
&gt; 
&gt; No need to scare-quote affordances -- this is an affordance.

heh very true :P

will remove :)

&gt;&gt; Source/WebCore/dom/ScriptedAnimationController.cpp:170
&gt;&gt; +        UserGestureIndicator gestureIndicator(userGestureTokenToForward);
&gt; 
&gt; Not new in this patch, but it would be nice (perhaps in a follow-up patch) if the UserGestureIndicator constructor checked the token for expiration, and automatically set the null user gesture state in that case. That could eliminate some boilerplate code and, more importantly, make it impossible to construct an invalid user gesture state.

ooo good idea!  I&apos;ll create a followup :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744945</commentid>
    <comment_count>6</comment_count>
      <attachid>424588</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-29 15:07:09 -0700</bug_when>
    <thetext>Created attachment 424588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744948</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-29 15:08:03 -0700</bug_when>
    <thetext>ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744950</commentid>
    <comment_count>8</comment_count>
      <attachid>424591</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-03-29 15:09:09 -0700</bug_when>
    <thetext>Created attachment 424591
Patch

oops forgot about the LayoutTests changelog 😅</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744972</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-29 15:55:55 -0700</bug_when>
    <thetext>Committed r275187: &lt;https://commits.webkit.org/r275187&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424591.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774818</commentid>
    <comment_count>10</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-07-05 08:51:47 -0700</bug_when>
    <thetext>*** Bug 227671 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424298</attachid>
            <date>2021-03-25 16:51:17 -0700</date>
            <delta_ts>2021-03-25 19:04:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>223775.diff</filename>
            <type>text/plain</type>
            <size>9924</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMWQzZjhjNzNlNTIuLjlhYjU4Yjk5YzU5MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI3IEBACisyMDIxLTAzLTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBQcm9wYWdhdGUgdXNlciBnZXN0dXJlcyB0aHJvdWdoIGByZXF1ZXN0QW5p
bWF0aW9uRnJhbWVgIGp1c3QgbGlrZSBgc2V0VGltZW91dGAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzc3NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzU4NjA4Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgYHNldFRpbWVvdXRgIGFuZCBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCBhcmUgdXNlZCBz
b21ld2hhdCBpbnRlcmNoYW5nZWFibHkgb24gdGhlIHdlYi4KKyAgICAgICAgVGhlcmUgc2hvdWxk
IGJlIHNpbWlsYXIgZmVhdHVyZXMvImFmZm9yZGFuY2VzIiBmb3IgYm90aCBzbyB0aGF0IGlmIGEg
ZGV2ZWxvcGVyIGRlY2lkZXMKKyAgICAgICAgdG8gdXNlIGEgZGlzcGxheS1saW5rZWQgYW5pbWF0
aW9uICJsb29wIiBpbnN0ZWFkIG9mIGEgc3RyaWN0bHkgdGltZS1iYXNlZCBkZWxheSAob3IgZXZl
bgorICAgICAgICBhICJsb29wIikgdGhleSdyZSBhYmxlIHRvIGRvIHNpbWlsYXIgdGhpbmdzIGlu
IHRoZSBjYWxsYmFjay9oYW5kbGVyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvYW5pbWF0aW9uL3Jl
cXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1cmUuaHRtbAorCisgICAg
ICAgICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIGRvbS9T
Y3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZWdpc3RlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y2FuY2VsQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzZXJ2aWNlUmVxdWVzdEFu
aW1hdGlvbkZyYW1lQ2FsbGJhY2tzKToKKyAgICAgICAgQ3JlYXRlIGEgcHJpdmF0ZSBzdHJ1Y3Qg
Zm9yIGhvbGRpbmcgbW9yZSBkYXRhIGluIHRoZSBsaXN0IG9mIGNhbGxiYWNrcyB0aGFuIGp1c3Qg
dGhlCisgICAgICAgIGNhbGxiYWNrIGl0c2VsZi4gRm9yIG5vdywgdGhlIG9ubHkgb3RoZXIgZGF0
YSBzYXZlZCBpcyBhIGBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj5gLgorCiAyMDIxLTAzLTI1ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkcmVzcyBzb21lIGFs
aWdubWVudCBpc3N1ZXMgZm91bmQgYnkgVUJTYW4gaW4gY29udGVudGV4dGVuc2lvbnMgY29kZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cAppbmRleCBhNTQ5YjJlY2UxZDQuLjJiNmU1YzI0NGJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTMyLDYgKzMyLDcg
QEAKICNpbmNsdWRlICJRdWlya3MuaCIKICNpbmNsdWRlICJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
YWxsYmFjay5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiVXNlckdlc3R1cmVJ
bmRpY2F0b3IuaCIKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1N5c3RlbVRy
YWNpbmcuaD4KIApAQCAtNjEsNyArNjIsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6cmVzdW1lKCkKICAgICBpZiAobV9zdXNwZW5kQ291bnQgPiAwKQogICAgICAgICAtLW1f
c3VzcGVuZENvdW50OwogCi0gICAgaWYgKCFtX3N1c3BlbmRDb3VudCAmJiBtX2NhbGxiYWNrcy5z
aXplKCkpCisgICAgaWYgKCFtX3N1c3BlbmRDb3VudCAmJiBtX2NhbGxiYWNrRGF0YUxpc3Quc2l6
ZSgpKQogICAgICAgICBzY2hlZHVsZUFuaW1hdGlvbigpOwogfQogCkBAIC0xMTEsNyArMTEyLDcg
QEAgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpDYWxsYmFja0lkIFNjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlcjo6cmVnaXN0ZXJDYWwKICAgICBDYWxsYmFja0lkIGNhbGxiYWNrSWQgPSAr
K21fbmV4dENhbGxiYWNrSWQ7CiAgICAgY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZCA9IGZh
bHNlOwogICAgIGNhbGxiYWNrLT5tX2lkID0gY2FsbGJhY2tJZDsKLSAgICBtX2NhbGxiYWNrcy5h
cHBlbmQoV1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fY2FsbGJhY2tEYXRhTGlzdC5hcHBlbmQo
eyBXVEZNb3ZlKGNhbGxiYWNrKSwgVXNlckdlc3R1cmVJbmRpY2F0b3I6OmN1cnJlbnRVc2VyR2Vz
dHVyZSgpIH0pOwogCiAgICAgaWYgKG1fZG9jdW1lbnQpCiAgICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkUmVxdWVzdEFuaW1hdGlvbkZyYW1lKCptX2RvY3VtZW50LCBjYWxsYmFj
a0lkKTsKQEAgLTEyMywxMCArMTI0LDEwIEBAIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6
Q2FsbGJhY2tJZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyQ2FsCiAKIHZv
aWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpjYW5jZWxDYWxsYmFjayhDYWxsYmFja0lk
IGNhbGxiYWNrSWQpCiB7Ci0gICAgYm9vbCBjYW5jZWxsZWQgPSBtX2NhbGxiYWNrcy5yZW1vdmVG
aXJzdE1hdGNoaW5nKFtjYWxsYmFja0lkXShhdXRvJiBjYWxsYmFjaykgewotICAgICAgICBpZiAo
Y2FsbGJhY2stPm1faWQgIT0gY2FsbGJhY2tJZCkKKyAgICBib29sIGNhbmNlbGxlZCA9IG1fY2Fs
bGJhY2tEYXRhTGlzdC5yZW1vdmVGaXJzdE1hdGNoaW5nKFtjYWxsYmFja0lkXShhdXRvJiBkYXRh
KSB7CisgICAgICAgIGlmIChkYXRhLmNhbGxiYWNrLT5tX2lkICE9IGNhbGxiYWNrSWQpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5jZWxs
ZWQgPSB0cnVlOworICAgICAgICBkYXRhLmNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5jZWxsZWQgPSB0
cnVlOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9KTsKIApAQCAtMTM2LDcgKzEzNyw3IEBA
IHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpjYW5jZWxDYWxsYmFjayhDYWxsYmFj
a0lkIGNhbGxiYWNrSWQpCiAKIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzZXJ2
aWNlUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSZXNvbHV0aW9uU2Vjb25k
cyB0aW1lc3RhbXApCiB7Ci0gICAgaWYgKCFtX2NhbGxiYWNrcy5zaXplKCkgfHwgbV9zdXNwZW5k
Q291bnQgfHwgIXJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQoKSkKKyAgICBpZiAoIW1fY2Fs
bGJhY2tEYXRhTGlzdC5zaXplKCkgfHwgbV9zdXNwZW5kQ291bnQgfHwgIXJlcXVlc3RBbmltYXRp
b25GcmFtZUVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHNob3VsZFJlc2No
ZWR1bGVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGltZXN0YW1wKSkgewpAQCAtMTUyLDMxICsxNTMs
MzUgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDYWxsYmFja3MoUmVkdWNlZFIKIAogICAgIC8vIEZpcnN0LCBnZW5lcmF0ZSBh
IGxpc3Qgb2YgY2FsbGJhY2tzIHRvIGNvbnNpZGVyLiAgQ2FsbGJhY2tzIHJlZ2lzdGVyZWQgZnJv
bSB0aGlzIHBvaW50CiAgICAgLy8gb24gYXJlIGNvbnNpZGVyZWQgb25seSBmb3IgdGhlICJuZXh0
IiBmcmFtZSwgbm90IHRoaXMgb25lLgotICAgIENhbGxiYWNrTGlzdCBjYWxsYmFja3MobV9jYWxs
YmFja3MpOworICAgIFZlY3RvcjxDYWxsYmFja0RhdGE+IGNhbGxiYWNrRGF0YUxpc3QobV9jYWxs
YmFja0RhdGFMaXN0KTsKIAogICAgIC8vIEludm9raW5nIGNhbGxiYWNrcyBtYXkgZGV0YWNoIGVs
ZW1lbnRzIGZyb20gb3VyIGRvY3VtZW50LCB3aGljaCBjbGVhcnMgdGhlIGRvY3VtZW50J3MKICAg
ICAvLyByZWZlcmVuY2UgdG8gdXMsIHNvIHRha2UgYSBkZWZlbnNpdmUgcmVmZXJlbmNlLgogICAg
IFJlZjxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwog
ICAgIFJlZjxEb2N1bWVudD4gcHJvdGVjdGVkRG9jdW1lbnQoKm1fZG9jdW1lbnQpOwogCi0gICAg
Zm9yIChhdXRvJiBjYWxsYmFjayA6IGNhbGxiYWNrcykgeworICAgIGZvciAoYXV0byYgW2NhbGxi
YWNrLCB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkXSA6IGNhbGxiYWNrRGF0YUxpc3QpIHsKICAg
ICAgICAgaWYgKGNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5jZWxsZWQpCiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZCA9IHRydWU7CiAKKyAg
ICAgICAgaWYgKHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQgJiYgdXNlckdlc3R1cmVUb2tlblRv
Rm9yd2FyZC0+aGFzRXhwaXJlZChVc2VyR2VzdHVyZVRva2VuOjptYXhpbXVtSW50ZXJ2YWxGb3JV
c2VyR2VzdHVyZUZvcndhcmRpbmcpKQorICAgICAgICAgICAgdXNlckdlc3R1cmVUb2tlblRvRm9y
d2FyZCA9IG51bGxwdHI7CisgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRp
Y2F0b3IodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZCk7CisKICAgICAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKHByb3RlY3RlZERvY3VtZW50LCBj
YWxsYmFjay0+bV9pZCk7CiAgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudChoaWdoUmVzTm93
TXMpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpcmVBbmltYXRpb25G
cmFtZShwcm90ZWN0ZWREb2N1bWVudCk7CiAgICAgfQogCiAgICAgLy8gUmVtb3ZlIGFueSBjYWxs
YmFja3Mgd2UgZmlyZWQgZnJvbSB0aGUgbGlzdCBvZiBwZW5kaW5nIGNhbGxiYWNrcy4KLSAgICBt
X2NhbGxiYWNrcy5yZW1vdmVBbGxNYXRjaGluZyhbXShhdXRvJiBjYWxsYmFjaykgewotICAgICAg
ICByZXR1cm4gY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZDsKKyAgICBtX2NhbGxiYWNrRGF0
YUxpc3QucmVtb3ZlQWxsTWF0Y2hpbmcoW10oYXV0byYgZGF0YSkgeworICAgICAgICByZXR1cm4g
ZGF0YS5jYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkOwogICAgIH0pOwogCiAgICAgbV9sYXN0
QW5pbWF0aW9uRnJhbWVUaW1lc3RhbXAgPSB0aW1lc3RhbXA7CiAKLSAgICBpZiAobV9jYWxsYmFj
a3Muc2l6ZSgpKQorICAgIGlmIChtX2NhbGxiYWNrRGF0YUxpc3Quc2l6ZSgpKQogICAgICAgICBz
Y2hlZHVsZUFuaW1hdGlvbigpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
ZWRBbmltYXRpb25Db250cm9sbGVyLmgKaW5kZXggMDQwZGMxYzZjN2JlLi4wZDQ1YThlNTJkZWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVy
LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7
CiBjbGFzcyBQYWdlOwogY2xhc3MgUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s7CitjbGFz
cyBVc2VyR2VzdHVyZVRva2VuOwogCiBjbGFzcyBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+CiB7CkBAIC03
NCw4ICs3NSwxMSBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkUmVzY2hlZHVsZVJlcXVlc3RB
bmltYXRpb25GcmFtZShSZWR1Y2VkUmVzb2x1dGlvblNlY29uZHMpIGNvbnN0OwogICAgIHZvaWQg
c2NoZWR1bGVBbmltYXRpb24oKTsKIAotICAgIHVzaW5nIENhbGxiYWNrTGlzdCA9IFZlY3RvcjxS
ZWZQdHI8UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+PjsKLSAgICBDYWxsYmFja0xpc3Qg
bV9jYWxsYmFja3M7CisgICAgc3RydWN0IENhbGxiYWNrRGF0YSB7CisgICAgICAgIFJlZjxSZXF1
ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4gY2FsbGJhY2s7CisgICAgICAgIFJlZlB0cjxVc2Vy
R2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkOworICAgIH07CisgICAgVmVj
dG9yPENhbGxiYWNrRGF0YT4gbV9jYWxsYmFja0RhdGFMaXN0OwogCiAgICAgV2Vha1B0cjxEb2N1
bWVudD4gbV9kb2N1bWVudDsKICAgICBDYWxsYmFja0lkIG1fbmV4dENhbGxiYWNrSWQgeyAwIH07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMTQ2ZTg0ZmRhMTJlLi44Zjc2OGEyODdmYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMS0wMy0yNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAg
ICAgUHJvcGFnYXRlIHVzZXIgZ2VzdHVyZXMgdGhyb3VnaCBgcmVxdWVzdEFuaW1hdGlvbkZyYW1l
YCBqdXN0IGxpa2UgYHNldFRpbWVvdXRgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjM3NzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1ODYwODY4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVy
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlv
bi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIw
MjEtMDMtMjUgIFJvYmVydCBKZW5uZXIgIDxqZW5uZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFsg
RGVidWcgd2syIF0gQVNTRVJUSU9OIEZBSUxFRDogd2lsbEJlQ29tcG9zaXRlZCA9PSBuZWVkc1Rv
QmVDb21wb3NpdGVkKGxheWVyLCBxdWVyeURhdGEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0
dXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5p
bWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWRkMTE4YTk1ZGFjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJh
bWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAor
VGVzdHMgdGhhdCB1c2VyIGdlc3R1cmVzIGFyZSBwcm9wYWdhdGVkIHRocm91Z2ggcmVxdWVzdEFu
aW1hdGlvbkZyYW1lCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGludGVy
bmFscy5pc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIGlzIGZhbHNlCisKK0NhbGxpbmcgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lIHdpdGhvdXQgYSB1c2VyIGdlc3R1cmUuLi4KK1BBU1MgaW50ZXJuYWxz
LmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgaXMgZmFsc2UKKworVHJpZ2dlcmluZyBhIHVzZXIg
Z2VzdHVyZS4uLgorQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgd2l0aCBhIHVzZXIgZ2Vz
dHVyZS4uLgorUEFTUyBpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoKSBpcyB0cnVl
CisKK0NhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGluc2lkZSB0aGUgY2FsbGJhY2sgb2Yg
YSBwcmlvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuLi4KK1BBU1MgaW50ZXJuYWxzLmlzUHJvY2Vz
c2luZ1VzZXJHZXN0dXJlKCkgaXMgdHJ1ZQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hbmlt
YXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJv
cGFnYXRlLXVzZXItZ2VzdHVyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uNmE3NDhhNTdmZWFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVy
ZS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB1c2VyIGdlc3R1
cmVzIGFyZSBwcm9wYWdhdGVkIHRocm91Z2ggcmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7Citqc1Rl
c3RJc0FzeW5jID0gdHJ1ZTsKKworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKCkiKTsKKworZGVidWcoIiIpOworCitkZWJ1ZygiQ2FsbGluZyByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgd2l0aG91dCBhIHVzZXIgZ2VzdHVyZS4uLiIpOworcmVxdWVzdEFuaW1h
dGlvbkZyYW1lKCgpID0+IHsKKyAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcm9jZXNz
aW5nVXNlckdlc3R1cmUoKSIpOworCisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRyaWdn
ZXJpbmcgYSB1c2VyIGdlc3R1cmUuLi4iKTsKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJl
KCgpID0+IHsKKyAgICAgICAgZGVidWcoIkNhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHdp
dGggYSB1c2VyIGdlc3R1cmUuLi4iKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlKCkiKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworCisgICAgICAgICAgICBk
ZWJ1ZygiQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW5zaWRlIHRoZSBjYWxsYmFjayBv
ZiBhIHByaW9yIHJlcXVlc3RBbmltYXRpb25GcmFtZS4uLiIpOworICAgICAgICAgICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVRydWUoImlu
dGVybmFscy5pc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIik7CisKKyAgICAgICAgICAgICAgICBk
ZWJ1ZygiIik7CisKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30pOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4K
</data>
<flag name="commit-queue"
          id="443947"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424311</attachid>
            <date>2021-03-25 19:04:05 -0700</date>
            <delta_ts>2021-03-29 15:07:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223775-20210325200404.patch</filename>
            <type>text/plain</type>
            <size>13646</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMWQzZjhjNzNlNTJhM2VjODEzZmIzZTdiYWI0MzBiZGJiNDQ4N2RlLi4z
YjE0ZDM5Y2ExZDI1NzgxYzBmN2I2MTMwZWM2ZWU3YTM3NzZlNDhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjEtMDMtMjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFByb3BhZ2F0ZSB1c2VyIGdlc3R1cmVzIHRocm91Z2ggYHJlcXVlc3RBbmlt
YXRpb25GcmFtZWAganVzdCBsaWtlIGBzZXRUaW1lb3V0YAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNzc1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83NTg2MDg2OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBgc2V0VGltZW91dGAgYW5kIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGFyZSB1c2VkIHNv
bWV3aGF0IGludGVyY2hhbmdlYWJseSBvbiB0aGUgd2ViLgorICAgICAgICBUaGVyZSBzaG91bGQg
YmUgc2ltaWxhciBmZWF0dXJlcy8iYWZmb3JkYW5jZXMiIGZvciBib3RoIHNvIHRoYXQgaWYgYSBk
ZXZlbG9wZXIgZGVjaWRlcworICAgICAgICB0byB1c2UgYSBkaXNwbGF5LWxpbmtlZCBhbmltYXRp
b24gImxvb3AiIGluc3RlYWQgb2YgYSBzdHJpY3RseSB0aW1lLWJhc2VkIGRlbGF5IChvciBldmVu
CisgICAgICAgIGEgImxvb3AiKSB0aGV5J3JlIGFibGUgdG8gZG8gc2ltaWxhciB0aGluZ3MgaW4g
dGhlIGNhbGxiYWNrL2hhbmRsZXIuCisKKyAgICAgICAgVGVzdDogZmFzdC9hbmltYXRpb24vcmVx
dWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS5odG1sCisKKyAgICAg
ICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmg6CisgICAgICAgICogZG9tL1Nj
cmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpjYW5jZWxDYWxsYmFjayk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VSZXF1ZXN0QW5p
bWF0aW9uRnJhbWVDYWxsYmFja3MpOgorICAgICAgICBDcmVhdGUgYSBwcml2YXRlIHN0cnVjdCBm
b3IgaG9sZGluZyBtb3JlIGRhdGEgaW4gdGhlIGxpc3Qgb2YgY2FsbGJhY2tzIHRoYW4ganVzdCB0
aGUKKyAgICAgICAgY2FsbGJhY2sgaXRzZWxmLiBGb3Igbm93LCB0aGUgb25seSBvdGhlciBkYXRh
IHNhdmVkIGlzIGEgYFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPmAuCisKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6
OndpdGhvdXRVc2VyR2VzdHVyZSk6IEFkZGVkLgorICAgICAgICBBZGQgYSB3YXkgZm9yIHRlc3Rz
IHRvIGd1YXJhbnRlZWQgcnVuIGFyYml0cmFyeSBjb2RlIHdpdGhvdXQgYSB1c2VyIGdlc3R1cmUu
CisKIDIwMjEtMDMtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZGRyZXNzIHNvbWUgYWxpZ25tZW50IGlzc3VlcyBmb3VuZCBieSBVQlNhbiBpbiBjb250ZW50
ZXh0ZW5zaW9ucyBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGE1NDliMmVjZTFkNGIzZTdmZmRmM2EyMWIwNWJkNWJh
MjljOTA4YTUuLjJiNmU1YzI0NGJkYTNkZTMzMGVmMDM1MzFlMDk5NWY0YWY2ZjIwNjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3Bw
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiUmVxdWVz
dEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1
ZGUgIlVzZXJHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1
ZGUgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CiAKQEAgLTYxLDcgKzYyLDcgQEAgdm9pZCBTY3JpcHRl
ZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSgpCiAgICAgaWYgKG1fc3VzcGVuZENvdW50ID4g
MCkKICAgICAgICAgLS1tX3N1c3BlbmRDb3VudDsKIAotICAgIGlmICghbV9zdXNwZW5kQ291bnQg
JiYgbV9jYWxsYmFja3Muc2l6ZSgpKQorICAgIGlmICghbV9zdXNwZW5kQ291bnQgJiYgbV9jYWxs
YmFja0RhdGFMaXN0LnNpemUoKSkKICAgICAgICAgc2NoZWR1bGVBbmltYXRpb24oKTsKIH0KIApA
QCAtMTExLDcgKzExMiw3IEBAIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Q2FsbGJhY2tJ
ZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyQ2FsCiAgICAgQ2FsbGJhY2tJ
ZCBjYWxsYmFja0lkID0gKyttX25leHRDYWxsYmFja0lkOwogICAgIGNhbGxiYWNrLT5tX2ZpcmVk
T3JDYW5jZWxsZWQgPSBmYWxzZTsKICAgICBjYWxsYmFjay0+bV9pZCA9IGNhbGxiYWNrSWQ7Ci0g
ICAgbV9jYWxsYmFja3MuYXBwZW5kKFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBtX2NhbGxiYWNr
RGF0YUxpc3QuYXBwZW5kKHsgV1RGTW92ZShjYWxsYmFjayksIFVzZXJHZXN0dXJlSW5kaWNhdG9y
OjpjdXJyZW50VXNlckdlc3R1cmUoKSB9KTsKIAogICAgIGlmIChtX2RvY3VtZW50KQogICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlcXVlc3RBbmltYXRpb25GcmFtZSgqbV9k
b2N1bWVudCwgY2FsbGJhY2tJZCk7CkBAIC0xMjMsMTAgKzEyNCwxMCBAQCBTY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXI6OkNhbGxiYWNrSWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpy
ZWdpc3RlckNhbAogCiB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y2FuY2VsQ2Fs
bGJhY2soQ2FsbGJhY2tJZCBjYWxsYmFja0lkKQogewotICAgIGJvb2wgY2FuY2VsbGVkID0gbV9j
YWxsYmFja3MucmVtb3ZlRmlyc3RNYXRjaGluZyhbY2FsbGJhY2tJZF0oYXV0byYgY2FsbGJhY2sp
IHsKLSAgICAgICAgaWYgKGNhbGxiYWNrLT5tX2lkICE9IGNhbGxiYWNrSWQpCisgICAgYm9vbCBj
YW5jZWxsZWQgPSBtX2NhbGxiYWNrRGF0YUxpc3QucmVtb3ZlRmlyc3RNYXRjaGluZyhbY2FsbGJh
Y2tJZF0oYXV0byYgZGF0YSkgeworICAgICAgICBpZiAoZGF0YS5jYWxsYmFjay0+bV9pZCAhPSBj
YWxsYmFja0lkKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjYWxsYmFjay0+
bV9maXJlZE9yQ2FuY2VsbGVkID0gdHJ1ZTsKKyAgICAgICAgZGF0YS5jYWxsYmFjay0+bV9maXJl
ZE9yQ2FuY2VsbGVkID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSk7CiAKQEAg
LTEzNiw3ICsxMzcsNyBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y2FuY2Vs
Q2FsbGJhY2soQ2FsbGJhY2tJZCBjYWxsYmFja0lkKQogCiB2b2lkIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlcjo6c2VydmljZVJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrcyhSZWR1Y2Vk
UmVzb2x1dGlvblNlY29uZHMgdGltZXN0YW1wKQogewotICAgIGlmICghbV9jYWxsYmFja3Muc2l6
ZSgpIHx8IG1fc3VzcGVuZENvdW50IHx8ICFyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkp
CisgICAgaWYgKCFtX2NhbGxiYWNrRGF0YUxpc3Quc2l6ZSgpIHx8IG1fc3VzcGVuZENvdW50IHx8
ICFyZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IGlmIChzaG91bGRSZXNjaGVkdWxlUmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRpbWVzdGFtcCkpIHsK
QEAgLTE1MiwzMSArMTUzLDM1IEBAIHZvaWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpz
ZXJ2aWNlUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tzKFJlZHVjZWRSCiAKICAgICAvLyBG
aXJzdCwgZ2VuZXJhdGUgYSBsaXN0IG9mIGNhbGxiYWNrcyB0byBjb25zaWRlci4gIENhbGxiYWNr
cyByZWdpc3RlcmVkIGZyb20gdGhpcyBwb2ludAogICAgIC8vIG9uIGFyZSBjb25zaWRlcmVkIG9u
bHkgZm9yIHRoZSAibmV4dCIgZnJhbWUsIG5vdCB0aGlzIG9uZS4KLSAgICBDYWxsYmFja0xpc3Qg
Y2FsbGJhY2tzKG1fY2FsbGJhY2tzKTsKKyAgICBWZWN0b3I8Q2FsbGJhY2tEYXRhPiBjYWxsYmFj
a0RhdGFMaXN0KG1fY2FsbGJhY2tEYXRhTGlzdCk7CiAKICAgICAvLyBJbnZva2luZyBjYWxsYmFj
a3MgbWF5IGRldGFjaCBlbGVtZW50cyBmcm9tIG91ciBkb2N1bWVudCwgd2hpY2ggY2xlYXJzIHRo
ZSBkb2N1bWVudCdzCiAgICAgLy8gcmVmZXJlbmNlIHRvIHVzLCBzbyB0YWtlIGEgZGVmZW5zaXZl
IHJlZmVyZW5jZS4KICAgICBSZWY8U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyPiBwcm90ZWN0
ZWRUaGlzKCp0aGlzKTsKICAgICBSZWY8RG9jdW1lbnQ+IHByb3RlY3RlZERvY3VtZW50KCptX2Rv
Y3VtZW50KTsKIAotICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBjYWxsYmFja3MpIHsKKyAgICBm
b3IgKGF1dG8mIFtjYWxsYmFjaywgdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZF0gOiBjYWxsYmFj
a0RhdGFMaXN0KSB7CiAgICAgICAgIGlmIChjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkKQog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5jZWxs
ZWQgPSB0cnVlOwogCisgICAgICAgIGlmICh1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkICYmIHVz
ZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQtPmhhc0V4cGlyZWQoVXNlckdlc3R1cmVUb2tlbjo6bWF4
aW11bUludGVydmFsRm9yVXNlckdlc3R1cmVGb3J3YXJkaW5nKSkKKyAgICAgICAgICAgIHVzZXJH
ZXN0dXJlVG9rZW5Ub0ZvcndhcmQgPSBudWxscHRyOworICAgICAgICBVc2VyR2VzdHVyZUluZGlj
YXRvciBnZXN0dXJlSW5kaWNhdG9yKHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmQpOworCiAgICAg
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVBbmltYXRpb25GcmFtZShwcm90
ZWN0ZWREb2N1bWVudCwgY2FsbGJhY2stPm1faWQpOwogICAgICAgICBjYWxsYmFjay0+aGFuZGxl
RXZlbnQoaGlnaFJlc05vd01zKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRGaXJlQW5pbWF0aW9uRnJhbWUocHJvdGVjdGVkRG9jdW1lbnQpOwogICAgIH0KIAogICAgIC8v
IFJlbW92ZSBhbnkgY2FsbGJhY2tzIHdlIGZpcmVkIGZyb20gdGhlIGxpc3Qgb2YgcGVuZGluZyBj
YWxsYmFja3MuCi0gICAgbV9jYWxsYmFja3MucmVtb3ZlQWxsTWF0Y2hpbmcoW10oYXV0byYgY2Fs
bGJhY2spIHsKLSAgICAgICAgcmV0dXJuIGNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5jZWxsZWQ7Cisg
ICAgbV9jYWxsYmFja0RhdGFMaXN0LnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGRhdGEpIHsK
KyAgICAgICAgcmV0dXJuIGRhdGEuY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZDsKICAgICB9
KTsKIAogICAgIG1fbGFzdEFuaW1hdGlvbkZyYW1lVGltZXN0YW1wID0gdGltZXN0YW1wOwogCi0g
ICAgaWYgKG1fY2FsbGJhY2tzLnNpemUoKSkKKyAgICBpZiAobV9jYWxsYmFja0RhdGFMaXN0LnNp
emUoKSkKICAgICAgICAgc2NoZWR1bGVBbmltYXRpb24oKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oCmluZGV4IDA0MGRjMWM2Yzdi
ZWFiNjJlMmY2MWIzNjA0ZGJlZWVjYmFiOGE3NWEuLjBkNDVhOGU1MmRlYmY4NTJlOTA1YTU3ZmFi
MGRlZjllNmQ2YTM3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUmVxdWVzdEFuaW1hdGlvbkZyYW1l
Q2FsbGJhY2s7CitjbGFzcyBVc2VyR2VzdHVyZVRva2VuOwogCiBjbGFzcyBTY3JpcHRlZEFuaW1h
dGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxTY3JpcHRlZEFuaW1hdGlvbkNvbnRy
b2xsZXI+CiB7CkBAIC03NCw4ICs3NSwxMSBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkUmVz
Y2hlZHVsZVJlcXVlc3RBbmltYXRpb25GcmFtZShSZWR1Y2VkUmVzb2x1dGlvblNlY29uZHMpIGNv
bnN0OwogICAgIHZvaWQgc2NoZWR1bGVBbmltYXRpb24oKTsKIAotICAgIHVzaW5nIENhbGxiYWNr
TGlzdCA9IFZlY3RvcjxSZWZQdHI8UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+PjsKLSAg
ICBDYWxsYmFja0xpc3QgbV9jYWxsYmFja3M7CisgICAgc3RydWN0IENhbGxiYWNrRGF0YSB7Cisg
ICAgICAgIFJlZjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4gY2FsbGJhY2s7CisgICAg
ICAgIFJlZlB0cjxVc2VyR2VzdHVyZVRva2VuPiB1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkOwor
ICAgIH07CisgICAgVmVjdG9yPENhbGxiYWNrRGF0YT4gbV9jYWxsYmFja0RhdGFMaXN0OwogCiAg
ICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKICAgICBDYWxsYmFja0lkIG1fbmV4dENh
bGxiYWNrSWQgeyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNzQy
ZWU3ZGY3YjI5MDcwMGUwNzhkNGZjMDQ2OWJhM2UxOGExMTc4ZS4uMzhmMWJlZDI3Y2JjODZkMjk0
M2JhYTNjZWYyYTlhMjNmZDg1MzhhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cApAQCAtNDg1Myw2ICs0ODUzLDEyIEBAIHZvaWQgSW50ZXJuYWxzOjp3aXRoVXNlckdlc3R1cmUo
UmVmUHRyPFZvaWRDYWxsYmFjaz4mJiBjYWxsYmFjaykKICAgICBjYWxsYmFjay0+aGFuZGxlRXZl
bnQoKTsKIH0KIAordm9pZCBJbnRlcm5hbHM6OndpdGhvdXRVc2VyR2VzdHVyZShSZWZQdHI8Vm9p
ZENhbGxiYWNrPiYmIGNhbGxiYWNrKQoreworICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1
cmVJbmRpY2F0b3IoTm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlLCBjb250ZXh0RG9jdW1lbnQoKSk7
CisgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50KCk7Cit9CisKIGJvb2wgSW50ZXJuYWxzOjp1c2Vy
SXNJbnRlcmFjdGluZygpCiB7CiAgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gY29udGV4dERvY3Vt
ZW50KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDIxM2Q4N2NlZjY0YWQ1
YWRlNmJhMDI1ODA3NDgxZTU5ODkwOTc4OTYuLjlmYWNiZjNkNTc3NWQ2NDMwMGMzYWFlYmI5ZGVk
MWJmMjk3ZTE5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtNzQ3LDYgKzc0
Nyw3IEBAIHB1YmxpYzoKICAgICBkb3VibGUgbGFzdEhhbmRsZWRVc2VyR2VzdHVyZVRpbWVzdGFt
cCgpOwogCiAgICAgdm9pZCB3aXRoVXNlckdlc3R1cmUoUmVmUHRyPFZvaWRDYWxsYmFjaz4mJik7
CisgICAgdm9pZCB3aXRob3V0VXNlckdlc3R1cmUoUmVmUHRyPFZvaWRDYWxsYmFjaz4mJik7CiAK
ICAgICBib29sIHVzZXJJc0ludGVyYWN0aW5nKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbAppbmRleCAyYzk0OGIyMmI3NzE0YzE5NzNmMmMzNGY4MWRlZTcwOGMyMzZjYjExLi4z
M2UxZTllMmFhY2QzOGQ4MzhjN2I4NTVjZWVkYjg0N2Q4OTFiYWNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCkBAIC03ODIsNiArNzgyLDcgQEAgZW51bSBUcmVlVHlwZSB7CiAg
ICAgZG91YmxlIGxhc3RIYW5kbGVkVXNlckdlc3R1cmVUaW1lc3RhbXAoKTsKIAogICAgIHVuZGVm
aW5lZCB3aXRoVXNlckdlc3R1cmUoVm9pZENhbGxiYWNrIGNhbGxiYWNrKTsKKyAgICB1bmRlZmlu
ZWQgd2l0aG91dFVzZXJHZXN0dXJlKFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CiAKICAgICBib29s
ZWFuIHVzZXJJc0ludGVyYWN0aW5nKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNDZlODRmZGExMmUzMGE2NzNkNDJm
NGNlZjhjY2U2YzlmZmMzYzY4Li5mZmUxNDY5N2Y1MDAxYWQ3YjQyMDFmNWJhYmRkNWRhM2QzZGM5
OGVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMjUgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFByb3BhZ2F0ZSB1c2VyIGdlc3R1cmVzIHRocm91
Z2ggYHJlcXVlc3RBbmltYXRpb25GcmFtZWAganVzdCBsaWtlIGBzZXRUaW1lb3V0YAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNzc1CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NTg2MDg2OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvcGFzdGVib2FyZC9kb20tcGFzdGUvZG9tLXBh
c3RlLXJlcXVpcmVzLXVzZXItZ2VzdHVyZS5odG1sOgorICAgICAgICAqIGZhc3QvYW5pbWF0aW9u
L3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1cmUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJv
cGFnYXRlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTAzLTI1ICBS
b2JlcnQgSmVubmVyICA8amVubmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBbIERlYnVnIHdrMiBd
IEFTU0VSVElPTiBGQUlMRUQ6IHdpbGxCZUNvbXBvc2l0ZWQgPT0gbmVlZHNUb0JlQ29tcG9zaXRl
ZChsYXllciwgcXVlcnlEYXRhKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL2RvbS1wYXN0ZS9kb20tcGFzdGUtcmVxdWlyZXMtdXNlci1nZXN0dXJlLmh0bWwgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZG9tLXBhc3RlL2RvbS1wYXN0ZS1yZXF1aXJl
cy11c2VyLWdlc3R1cmUuaHRtbAppbmRleCBlZDFmZWVmMjUxYTg3ZWYyNDJhMTAxNmE2YjMwYWMx
MWNkNjE5YTI5Li4wZDY5MDcxNWE0NGI3ZWQyNmMyODkzYzM4MzkxOGVhOWNmZDVkOWYzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZG9tLXBhc3RlL2RvbS1wYXN0
ZS1yZXF1aXJlcy11c2VyLWdlc3R1cmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Bh
c3RlYm9hcmQvZG9tLXBhc3RlL2RvbS1wYXN0ZS1yZXF1aXJlcy11c2VyLWdlc3R1cmUuaHRtbApA
QCAtNTQsNyArNTQsNyBAQCBmdW5jdGlvbiBjaGVja0RvbmUoKSB7CiBlZGl0b3IuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCBldmVudCA9PiB7CiAgICAgZWRpdG9yLmZvY3VzKCk7CiAgICAgc2hv
dWxkQmUoImRvY3VtZW50LmV4ZWNDb21tYW5kKCdQYXN0ZScpIiwgInRydWUiKTsKLSAgICByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgIGludGVybmFscy53aXRob3V0VXNlckdlc3R1
cmUoKCkgPT4gewogICAgICAgICBzaG91bGRCZSgiZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1Bhc3Rl
JykiLCAiZmFsc2UiKQogICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVkaXRvci50ZXh0
Q29udGVudCIsICJDbGljayBoZXJlIHRvIGNvcHkiKTsKICAgICAgICAgY2hlY2tEb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1m
cmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1
cmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZGQ1YjZiNzk3ZDA5YzZhOTMzNzYwZjc0YTll
NTQ5ZjJlMTM4OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2FuaW1hdGlv
bi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI1IEBACitUZXN0cyB0aGF0IHVzZXIgZ2VzdHVyZXMgYXJlIHByb3Bh
Z2F0ZWQgdGhyb3VnaCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgaXMg
ZmFsc2UKKworQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgd2l0aG91dCBhIHVzZXIgZ2Vz
dHVyZS4uLgorUEFTUyBpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoKSBpcyBmYWxz
ZQorCitUcmlnZ2VyaW5nIGEgdXNlciBnZXN0dXJlLi4uCitDYWxsaW5nIHJlcXVlc3RBbmltYXRp
b25GcmFtZSB3aXRoIGEgdXNlciBnZXN0dXJlLi4uCitQQVNTIGludGVybmFscy5pc1Byb2Nlc3Np
bmdVc2VyR2VzdHVyZSgpIGlzIHRydWUKKworQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUg
aW5zaWRlIHRoZSBjYWxsYmFjayBvZiBhIHByaW9yIHJlcXVlc3RBbmltYXRpb25GcmFtZS4uLgor
UEFTUyBpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoKSBpcyB0cnVlCisKK092ZXJy
aWRpbmcgdGhlIHVzZXIgZ2VzdHVyZS4uLgorQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUg
d2l0aG91dCBhIHVzZXIgZ2VzdHVyZS4uLgorUEFTUyBpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNl
ckdlc3R1cmUoKSBpcyBmYWxzZQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24v
cmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRl
LXVzZXItZ2VzdHVyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmYzg5YWI4YzFmODlmY2I1YWM2NDg5MTQ5
MzlmYmNjN2Q1MmI2NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2FuaW1h
dGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJlLmh0bWwK
QEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHVzZXIgZ2VzdHVyZXMgYXJl
IHByb3BhZ2F0ZWQgdGhyb3VnaCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUiKTsKK2pzVGVzdElzQXN5
bmMgPSB0cnVlOworCitzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdl
c3R1cmUoKSIpOworCitkZWJ1ZygiIik7CisKK2RlYnVnKCJDYWxsaW5nIHJlcXVlc3RBbmltYXRp
b25GcmFtZSB3aXRob3V0IGEgdXNlciBnZXN0dXJlLi4uIik7CityZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKCkgPT4geworICAgIHNob3VsZEJlRmFsc2UoImludGVybmFscy5pc1Byb2Nlc3NpbmdVc2Vy
R2VzdHVyZSgpIik7CisKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiVHJpZ2dlcmluZyBh
IHVzZXIgZ2VzdHVyZS4uLiIpOworICAgIGludGVybmFscy53aXRoVXNlckdlc3R1cmUoKCkgPT4g
eworICAgICAgICBkZWJ1ZygiQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgd2l0aCBhIHVz
ZXIgZ2VzdHVyZS4uLiIpOworICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewor
ICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdlc3R1
cmUoKSIpOworCisgICAgICAgICAgICBkZWJ1ZygiIik7CisKKyAgICAgICAgICAgIGRlYnVnKCJD
YWxsaW5nIHJlcXVlc3RBbmltYXRpb25GcmFtZSBpbnNpZGUgdGhlIGNhbGxiYWNrIG9mIGEgcHJp
b3IgcmVxdWVzdEFuaW1hdGlvbkZyYW1lLi4uIik7CisgICAgICAgICAgICByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKCkgPT4geworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxz
LmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkiKTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCIi
KTsKKworICAgICAgICAgICAgICAgIGRlYnVnKCJPdmVycmlkaW5nIHRoZSB1c2VyIGdlc3R1cmUu
Li4iKTsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMud2l0aG91dFVzZXJHZXN0dXJlKCgpID0+
IHsKKyAgICAgICAgICAgICAgICAgICAgZGVidWcoIkNhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lIHdpdGhvdXQgYSB1c2VyIGdlc3R1cmUuLi4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRmFsc2UoImludGVybmFscy5pc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIik7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKworICAgICAgICAgICAgICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOworfSk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="443945"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424588</attachid>
            <date>2021-03-29 15:07:09 -0700</date>
            <delta_ts>2021-03-29 15:09:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>223775.diff</filename>
            <type>text/plain</type>
            <size>13644</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMWQzZjhjNzNlNTJhM2VjODEzZmIzZTdiYWI0MzBiZGJiNDQ4N2RlLi4z
YjE0ZDM5Y2ExZDI1NzgxYzBmN2I2MTMwZWM2ZWU3YTM3NzZlNDhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjEtMDMtMjkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFByb3BhZ2F0ZSB1c2VyIGdlc3R1cmVzIHRocm91Z2ggYHJlcXVlc3RBbmlt
YXRpb25GcmFtZWAganVzdCBsaWtlIGBzZXRUaW1lb3V0YAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNzc1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83NTg2MDg2OD4KKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAg
ICAgICBgc2V0VGltZW91dGAgYW5kIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGFyZSB1c2VkIHNv
bWV3aGF0IGludGVyY2hhbmdlYWJseSBvbiB0aGUgd2ViLgorICAgICAgICBUaGVyZSBzaG91bGQg
YmUgc2ltaWxhciBmZWF0dXJlcy9hZmZvcmRhbmNlcyBmb3IgYm90aCBzbyB0aGF0IGlmIGEgZGV2
ZWxvcGVyIGRlY2lkZXMgdG8gdXNlCisgICAgICAgIGEgZGlzcGxheS1saW5rZWQgYW5pbWF0aW9u
ICJsb29wIiBpbnN0ZWFkIG9mIGEgc3RyaWN0bHkgdGltZS1iYXNlZCBkZWxheSAob3IgZXZlbiBh
ICJsb29wIikKKyAgICAgICAgdGhleSdyZSBhYmxlIHRvIGRvIHNpbWlsYXIgdGhpbmdzIGluIHRo
ZSBjYWxsYmFjay9oYW5kbGVyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvYW5pbWF0aW9uL3JlcXVl
c3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1cmUuaHRtbAorCisgICAgICAg
ICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIGRvbS9TY3Jp
cHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyOjpyZWdpc3RlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y2FuY2VsQ2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzZXJ2aWNlUmVxdWVzdEFuaW1h
dGlvbkZyYW1lQ2FsbGJhY2tzKToKKyAgICAgICAgQ3JlYXRlIGEgcHJpdmF0ZSBzdHJ1Y3QgZm9y
IGhvbGRpbmcgbW9yZSBkYXRhIGluIHRoZSBsaXN0IG9mIGNhbGxiYWNrcyB0aGFuIGp1c3QgdGhl
CisgICAgICAgIGNhbGxiYWNrIGl0c2VsZi4gRm9yIG5vdywgdGhlIG9ubHkgb3RoZXIgZGF0YSBz
YXZlZCBpcyBhIGBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj5gLgorCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjp3
aXRob3V0VXNlckdlc3R1cmUpOiBBZGRlZC4KKyAgICAgICAgQWRkIGEgd2F5IGZvciB0ZXN0cyB0
byBndWFyYW50ZWVkIHJ1biBhcmJpdHJhcnkgY29kZSB3aXRob3V0IGEgdXNlciBnZXN0dXJlLgor
CiAyMDIxLTAzLTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkcmVzcyBzb21lIGFsaWdubWVudCBpc3N1ZXMgZm91bmQgYnkgVUJTYW4gaW4gY29udGVudGV4
dGVuc2lvbnMgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLmNwcAppbmRleCBhNTQ5YjJlY2UxZDRiM2U3ZmZkZjNhMjFiMDViZDViYTI5
YzkwOGE1Li4yYjZlNWMyNDRiZGEzZGUzMzBlZjAzNTMxZTA5OTVmNGFmNmYyMDYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUgIlJlcXVlc3RB
bmltYXRpb25GcmFtZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRl
ICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRl
IDx3dGYvU3lzdGVtVHJhY2luZy5oPgogCkBAIC02MSw3ICs2Miw3IEBAIHZvaWQgU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyOjpyZXN1bWUoKQogICAgIGlmIChtX3N1c3BlbmRDb3VudCA+IDAp
CiAgICAgICAgIC0tbV9zdXNwZW5kQ291bnQ7CiAKLSAgICBpZiAoIW1fc3VzcGVuZENvdW50ICYm
IG1fY2FsbGJhY2tzLnNpemUoKSkKKyAgICBpZiAoIW1fc3VzcGVuZENvdW50ICYmIG1fY2FsbGJh
Y2tEYXRhTGlzdC5zaXplKCkpCiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiB9CiAKQEAg
LTExMSw3ICsxMTIsNyBAQCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OkNhbGxiYWNrSWQg
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZWdpc3RlckNhbAogICAgIENhbGxiYWNrSWQg
Y2FsbGJhY2tJZCA9ICsrbV9uZXh0Q2FsbGJhY2tJZDsKICAgICBjYWxsYmFjay0+bV9maXJlZE9y
Q2FuY2VsbGVkID0gZmFsc2U7CiAgICAgY2FsbGJhY2stPm1faWQgPSBjYWxsYmFja0lkOwotICAg
IG1fY2FsbGJhY2tzLmFwcGVuZChXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9jYWxsYmFja0Rh
dGFMaXN0LmFwcGVuZCh7IFdURk1vdmUoY2FsbGJhY2spLCBVc2VyR2VzdHVyZUluZGljYXRvcjo6
Y3VycmVudFVzZXJHZXN0dXJlKCkgfSk7CiAKICAgICBpZiAobV9kb2N1bWVudCkKICAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKm1fZG9j
dW1lbnQsIGNhbGxiYWNrSWQpOwpAQCAtMTIzLDEwICsxMjQsMTAgQEAgU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyOjpDYWxsYmFja0lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6cmVn
aXN0ZXJDYWwKIAogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNhbmNlbENhbGxi
YWNrKENhbGxiYWNrSWQgY2FsbGJhY2tJZCkKIHsKLSAgICBib29sIGNhbmNlbGxlZCA9IG1fY2Fs
bGJhY2tzLnJlbW92ZUZpcnN0TWF0Y2hpbmcoW2NhbGxiYWNrSWRdKGF1dG8mIGNhbGxiYWNrKSB7
Ci0gICAgICAgIGlmIChjYWxsYmFjay0+bV9pZCAhPSBjYWxsYmFja0lkKQorICAgIGJvb2wgY2Fu
Y2VsbGVkID0gbV9jYWxsYmFja0RhdGFMaXN0LnJlbW92ZUZpcnN0TWF0Y2hpbmcoW2NhbGxiYWNr
SWRdKGF1dG8mIGRhdGEpIHsKKyAgICAgICAgaWYgKGRhdGEuY2FsbGJhY2stPm1faWQgIT0gY2Fs
bGJhY2tJZCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY2FsbGJhY2stPm1f
ZmlyZWRPckNhbmNlbGxlZCA9IHRydWU7CisgICAgICAgIGRhdGEuY2FsbGJhY2stPm1fZmlyZWRP
ckNhbmNlbGxlZCA9IHRydWU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0pOwogCkBAIC0x
MzYsNyArMTM3LDcgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNhbmNlbENh
bGxiYWNrKENhbGxiYWNrSWQgY2FsbGJhY2tJZCkKIAogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXI6OnNlcnZpY2VSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja3MoUmVkdWNlZFJl
c29sdXRpb25TZWNvbmRzIHRpbWVzdGFtcCkKIHsKLSAgICBpZiAoIW1fY2FsbGJhY2tzLnNpemUo
KSB8fCBtX3N1c3BlbmRDb3VudCB8fCAhcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQor
ICAgIGlmICghbV9jYWxsYmFja0RhdGFMaXN0LnNpemUoKSB8fCBtX3N1c3BlbmRDb3VudCB8fCAh
cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoc2hvdWxkUmVzY2hlZHVsZVJlcXVlc3RBbmltYXRpb25GcmFtZSh0aW1lc3RhbXApKSB7CkBA
IC0xNTIsMzEgKzE1MywzNSBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2Vy
dmljZVJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUgogCiAgICAgLy8gRmly
c3QsIGdlbmVyYXRlIGEgbGlzdCBvZiBjYWxsYmFja3MgdG8gY29uc2lkZXIuICBDYWxsYmFja3Mg
cmVnaXN0ZXJlZCBmcm9tIHRoaXMgcG9pbnQKICAgICAvLyBvbiBhcmUgY29uc2lkZXJlZCBvbmx5
IGZvciB0aGUgIm5leHQiIGZyYW1lLCBub3QgdGhpcyBvbmUuCi0gICAgQ2FsbGJhY2tMaXN0IGNh
bGxiYWNrcyhtX2NhbGxiYWNrcyk7CisgICAgVmVjdG9yPENhbGxiYWNrRGF0YT4gY2FsbGJhY2tE
YXRhTGlzdChtX2NhbGxiYWNrRGF0YUxpc3QpOwogCiAgICAgLy8gSW52b2tpbmcgY2FsbGJhY2tz
IG1heSBkZXRhY2ggZWxlbWVudHMgZnJvbSBvdXIgZG9jdW1lbnQsIHdoaWNoIGNsZWFycyB0aGUg
ZG9jdW1lbnQncwogICAgIC8vIHJlZmVyZW5jZSB0byB1cywgc28gdGFrZSBhIGRlZmVuc2l2ZSBy
ZWZlcmVuY2UuCiAgICAgUmVmPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4gcHJvdGVjdGVk
VGhpcygqdGhpcyk7CiAgICAgUmVmPERvY3VtZW50PiBwcm90ZWN0ZWREb2N1bWVudCgqbV9kb2N1
bWVudCk7CiAKLSAgICBmb3IgKGF1dG8mIGNhbGxiYWNrIDogY2FsbGJhY2tzKSB7CisgICAgZm9y
IChhdXRvJiBbY2FsbGJhY2ssIHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmRdIDogY2FsbGJhY2tE
YXRhTGlzdCkgewogICAgICAgICBpZiAoY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZCkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVk
ID0gdHJ1ZTsKIAorICAgICAgICBpZiAodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZCAmJiB1c2Vy
R2VzdHVyZVRva2VuVG9Gb3J3YXJkLT5oYXNFeHBpcmVkKFVzZXJHZXN0dXJlVG9rZW46Om1heGlt
dW1JbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZykpCisgICAgICAgICAgICB1c2VyR2Vz
dHVyZVRva2VuVG9Gb3J3YXJkID0gbnVsbHB0cjsKKyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0
b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKTsKKwogICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlQW5pbWF0aW9uRnJhbWUocHJvdGVj
dGVkRG9jdW1lbnQsIGNhbGxiYWNrLT5tX2lkKTsKICAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2
ZW50KGhpZ2hSZXNOb3dNcyk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmlyZUFuaW1hdGlvbkZyYW1lKHByb3RlY3RlZERvY3VtZW50KTsKICAgICB9CiAKICAgICAvLyBS
ZW1vdmUgYW55IGNhbGxiYWNrcyB3ZSBmaXJlZCBmcm9tIHRoZSBsaXN0IG9mIHBlbmRpbmcgY2Fs
bGJhY2tzLgotICAgIG1fY2FsbGJhY2tzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNhbGxi
YWNrKSB7Ci0gICAgICAgIHJldHVybiBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkOworICAg
IG1fY2FsbGJhY2tEYXRhTGlzdC5yZW1vdmVBbGxNYXRjaGluZyhbXShhdXRvJiBkYXRhKSB7Cisg
ICAgICAgIHJldHVybiBkYXRhLmNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5jZWxsZWQ7CiAgICAgfSk7
CiAKICAgICBtX2xhc3RBbmltYXRpb25GcmFtZVRpbWVzdGFtcCA9IHRpbWVzdGFtcDsKIAotICAg
IGlmIChtX2NhbGxiYWNrcy5zaXplKCkpCisgICAgaWYgKG1fY2FsbGJhY2tEYXRhTGlzdC5zaXpl
KCkpCiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCAwNDBkYzFjNmM3YmVh
YjYyZTJmNjFiMzYwNGRiZWVlY2JhYjhhNzVhLi4wZDQ1YThlNTJkZWJmODUyZTkwNWE1N2ZhYjBk
ZWY5ZTZkNmEzNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlci5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgUGFnZTsKIGNsYXNzIFJlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrOworY2xhc3MgVXNlckdlc3R1cmVUb2tlbjsKIAogY2xhc3MgU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyIDogcHVibGljIFJlZkNvdW50ZWQ8U2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyPgogewpAQCAtNzQsOCArNzUsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3VsZFJlc2No
ZWR1bGVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUmVkdWNlZFJlc29sdXRpb25TZWNvbmRzKSBjb25z
dDsKICAgICB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiAKLSAgICB1c2luZyBDYWxsYmFja0xp
c3QgPSBWZWN0b3I8UmVmUHRyPFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrPj47Ci0gICAg
Q2FsbGJhY2tMaXN0IG1fY2FsbGJhY2tzOworICAgIHN0cnVjdCBDYWxsYmFja0RhdGEgeworICAg
ICAgICBSZWY8UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrOworICAgICAg
ICBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAg
ICB9OworICAgIFZlY3RvcjxDYWxsYmFja0RhdGE+IG1fY2FsbGJhY2tEYXRhTGlzdDsKIAogICAg
IFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAgICAgQ2FsbGJhY2tJZCBtX25leHRDYWxs
YmFja0lkIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDc0MmVl
N2RmN2IyOTA3MDBlMDc4ZDRmYzA0NjliYTNlMThhMTE3OGUuLjM4ZjFiZWQyN2NiYzg2ZDI5NDNi
YWEzY2VmMmE5YTIzZmQ4NTM4YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
QEAgLTQ4NTMsNiArNDg1MywxMiBAQCB2b2lkIEludGVybmFsczo6d2l0aFVzZXJHZXN0dXJlKFJl
ZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50
KCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjp3aXRob3V0VXNlckdlc3R1cmUoUmVmUHRyPFZvaWRD
YWxsYmFjaz4mJiBjYWxsYmFjaykKK3sKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJl
SW5kaWNhdG9yKE5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgY29udGV4dERvY3VtZW50KCkpOwor
ICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworfQorCiBib29sIEludGVybmFsczo6dXNlcklz
SW50ZXJhY3RpbmcoKQogewogICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVu
dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAyMTNkODdjZWY2NGFkNWFk
ZTZiYTAyNTgwNzQ4MWU1OTg5MDk3ODk2Li45ZmFjYmYzZDU3NzVkNjQzMDBjM2FhZWJiOWRlZDFi
ZjI5N2UxOTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTc0Nyw2ICs3NDcs
NyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIGxhc3RIYW5kbGVkVXNlckdlc3R1cmVUaW1lc3RhbXAo
KTsKIAogICAgIHZvaWQgd2l0aFVzZXJHZXN0dXJlKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwor
ICAgIHZvaWQgd2l0aG91dFVzZXJHZXN0dXJlKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwogCiAg
ICAgYm9vbCB1c2VySXNJbnRlcmFjdGluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKaW5kZXggMmM5NDhiMjJiNzcxNGMxOTczZjJjMzRmODFkZWU3MDhjMjM2Y2IxMS4uMzNl
MWU5ZTJhYWNkMzhkODM4YzdiODU1Y2VlZGI4NDdkODkxYmFjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtNzgyLDYgKzc4Miw3IEBAIGVudW0gVHJlZVR5cGUgewogICAg
IGRvdWJsZSBsYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CiAKICAgICB1bmRlZmlu
ZWQgd2l0aFVzZXJHZXN0dXJlKFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVk
IHdpdGhvdXRVc2VyR2VzdHVyZShWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwogCiAgICAgYm9vbGVh
biB1c2VySXNJbnRlcmFjdGluZygpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTQ2ZTg0ZmRhMTJlMzBhNjczZDQyZjRj
ZWY4Y2NlNmM5ZmZjM2M2OC4uZmZlMTQ2OTdmNTAwMWFkN2I0MjAxZjViYWJkZDVkYTNkM2RjOThl
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAzLTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBQcm9wYWdhdGUgdXNlciBnZXN0dXJlcyB0aHJvdWdo
IGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGp1c3QgbGlrZSBgc2V0VGltZW91dGAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzc3NQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzU4NjA4Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZG9tLXBhc3RlL2RvbS1wYXN0
ZS1yZXF1aXJlcy11c2VyLWdlc3R1cmUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2FuaW1hdGlvbi9y
ZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3Bh
Z2F0ZS11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0wMy0yNSAgUm9i
ZXJ0IEplbm5lciAgPGplbm5lckBhcHBsZS5jb20+CiAKICAgICAgICAgWyBEZWJ1ZyB3azIgXSBB
U1NFUlRJT04gRkFJTEVEOiB3aWxsQmVDb21wb3NpdGVkID09IG5lZWRzVG9CZUNvbXBvc2l0ZWQo
bGF5ZXIsIHF1ZXJ5RGF0YSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9kb20tcGFzdGUvZG9tLXBhc3RlLXJlcXVpcmVzLXVzZXItZ2VzdHVyZS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RvbS1wYXN0ZS9kb20tcGFzdGUtcmVxdWlyZXMt
dXNlci1nZXN0dXJlLmh0bWwKaW5kZXggZWQxZmVlZjI1MWE4N2VmMjQyYTEwMTZhNmIzMGFjMTFj
ZDYxOWEyOS4uMGQ2OTA3MTVhNDRiN2VkMjZjMjg5M2MzODM5MThlYTljZmQ1ZDlmMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RvbS1wYXN0ZS9kb20tcGFzdGUt
cmVxdWlyZXMtdXNlci1nZXN0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL2RvbS1wYXN0ZS9kb20tcGFzdGUtcmVxdWlyZXMtdXNlci1nZXN0dXJlLmh0bWwKQEAg
LTU0LDcgKzU0LDcgQEAgZnVuY3Rpb24gY2hlY2tEb25lKCkgewogZWRpdG9yLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgZXZlbnQgPT4gewogICAgIGVkaXRvci5mb2N1cygpOwogICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5leGVjQ29tbWFuZCgnUGFzdGUnKSIsICJ0cnVlIik7Ci0gICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBpbnRlcm5hbHMud2l0aG91dFVzZXJHZXN0dXJl
KCgpID0+IHsKICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmV4ZWNDb21tYW5kKCdQYXN0ZScp
IiwgImZhbHNlIikKICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlZGl0b3IudGV4dENv
bnRlbnQiLCAiQ2xpY2sgaGVyZSB0byBjb3B5Iik7CiAgICAgICAgIGNoZWNrRG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJh
bWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmRkNWI2Yjc5N2QwOWM2YTkzMzc2MGY3NGE5ZTU0
OWYyZTEzODhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24v
cmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyNSBAQAorVGVzdHMgdGhhdCB1c2VyIGdlc3R1cmVzIGFyZSBwcm9wYWdh
dGVkIHRocm91Z2ggcmVxdWVzdEFuaW1hdGlvbkZyYW1lCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIGludGVybmFscy5pc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIGlzIGZh
bHNlCisKK0NhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHdpdGhvdXQgYSB1c2VyIGdlc3R1
cmUuLi4KK1BBU1MgaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgaXMgZmFsc2UK
KworVHJpZ2dlcmluZyBhIHVzZXIgZ2VzdHVyZS4uLgorQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgd2l0aCBhIHVzZXIgZ2VzdHVyZS4uLgorUEFTUyBpbnRlcm5hbHMuaXNQcm9jZXNzaW5n
VXNlckdlc3R1cmUoKSBpcyB0cnVlCisKK0NhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlu
c2lkZSB0aGUgY2FsbGJhY2sgb2YgYSBwcmlvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuLi4KK1BB
U1MgaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgaXMgdHJ1ZQorCitPdmVycmlk
aW5nIHRoZSB1c2VyIGdlc3R1cmUuLi4KK0NhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHdp
dGhvdXQgYSB1c2VyIGdlc3R1cmUuLi4KK1BBU1MgaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlKCkgaXMgZmFsc2UKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3Jl
cXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1cmUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11
c2VyLWdlc3R1cmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZmM4OWFiOGMxZjg5ZmNiNWFjNjQ4OTE0OTM5
ZmJjYzdkNTJiNjY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRp
b24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS5odG1sCkBA
IC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB1c2VyIGdlc3R1cmVzIGFyZSBw
cm9wYWdhdGVkIHRocm91Z2ggcmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7Citqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkiKTsKKworZGVidWcoIiIpOworCitkZWJ1ZygiQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgd2l0aG91dCBhIHVzZXIgZ2VzdHVyZS4uLiIpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCgpID0+IHsKKyAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdl
c3R1cmUoKSIpOworCisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRyaWdnZXJpbmcgYSB1
c2VyIGdlc3R1cmUuLi4iKTsKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsK
KyAgICAgICAgZGVidWcoIkNhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHdpdGggYSB1c2Vy
IGdlc3R1cmUuLi4iKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAg
ICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KCkiKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworCisgICAgICAgICAgICBkZWJ1ZygiQ2Fs
bGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW5zaWRlIHRoZSBjYWxsYmFjayBvZiBhIHByaW9y
IHJlcXVlc3RBbmltYXRpb25GcmFtZS4uLiIpOworICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5p
c1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7
CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiT3ZlcnJpZGluZyB0aGUgdXNlciBnZXN0dXJlLi4u
Iik7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLndpdGhvdXRVc2VyR2VzdHVyZSgoKSA9PiB7
CisgICAgICAgICAgICAgICAgICAgIGRlYnVnKCJDYWxsaW5nIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSB3aXRob3V0IGEgdXNlciBnZXN0dXJlLi4uIik7CisgICAgICAgICAgICAgICAgICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUZhbHNlKCJpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoKSIpOworCisgICAgICAg
ICAgICAgICAgICAgICAgICBkZWJ1ZygiIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30pOworCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="444293"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424591</attachid>
            <date>2021-03-29 15:09:09 -0700</date>
            <delta_ts>2021-03-29 15:55:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>223775.diff</filename>
            <type>text/plain</type>
            <size>13644</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlMWQzZjhjNzNlNTJhM2VjODEzZmIzZTdiYWI0MzBiZGJiNDQ4N2RlLi4z
YjE0ZDM5Y2ExZDI1NzgxYzBmN2I2MTMwZWM2ZWU3YTM3NzZlNDhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzMgQEAKKzIwMjEtMDMtMjkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFByb3BhZ2F0ZSB1c2VyIGdlc3R1cmVzIHRocm91Z2ggYHJlcXVlc3RBbmlt
YXRpb25GcmFtZWAganVzdCBsaWtlIGBzZXRUaW1lb3V0YAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNzc1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83NTg2MDg2OD4KKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAg
ICAgICBgc2V0VGltZW91dGAgYW5kIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGFyZSB1c2VkIHNv
bWV3aGF0IGludGVyY2hhbmdlYWJseSBvbiB0aGUgd2ViLgorICAgICAgICBUaGVyZSBzaG91bGQg
YmUgc2ltaWxhciBmZWF0dXJlcy9hZmZvcmRhbmNlcyBmb3IgYm90aCBzbyB0aGF0IGlmIGEgZGV2
ZWxvcGVyIGRlY2lkZXMgdG8gdXNlCisgICAgICAgIGEgZGlzcGxheS1saW5rZWQgYW5pbWF0aW9u
ICJsb29wIiBpbnN0ZWFkIG9mIGEgc3RyaWN0bHkgdGltZS1iYXNlZCBkZWxheSAob3IgZXZlbiBh
ICJsb29wIikKKyAgICAgICAgdGhleSdyZSBhYmxlIHRvIGRvIHNpbWlsYXIgdGhpbmdzIGluIHRo
ZSBjYWxsYmFjay9oYW5kbGVyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvYW5pbWF0aW9uL3JlcXVl
c3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1cmUuaHRtbAorCisgICAgICAg
ICogZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIGRvbS9TY3Jp
cHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyOjpyZXN1bWUpOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyOjpyZWdpc3RlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Y2FuY2VsQ2FsbGJhY2spOgorICAgICAgICAo
V2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpzZXJ2aWNlUmVxdWVzdEFuaW1h
dGlvbkZyYW1lQ2FsbGJhY2tzKToKKyAgICAgICAgQ3JlYXRlIGEgcHJpdmF0ZSBzdHJ1Y3QgZm9y
IGhvbGRpbmcgbW9yZSBkYXRhIGluIHRoZSBsaXN0IG9mIGNhbGxiYWNrcyB0aGFuIGp1c3QgdGhl
CisgICAgICAgIGNhbGxiYWNrIGl0c2VsZi4gRm9yIG5vdywgdGhlIG9ubHkgb3RoZXIgZGF0YSBz
YXZlZCBpcyBhIGBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj5gLgorCisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjp3
aXRob3V0VXNlckdlc3R1cmUpOiBBZGRlZC4KKyAgICAgICAgQWRkIGEgd2F5IGZvciB0ZXN0cyB0
byBndWFyYW50ZWVkIHJ1biBhcmJpdHJhcnkgY29kZSB3aXRob3V0IGEgdXNlciBnZXN0dXJlLgor
CiAyMDIxLTAzLTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
QWRkcmVzcyBzb21lIGFsaWdubWVudCBpc3N1ZXMgZm91bmQgYnkgVUJTYW4gaW4gY29udGVudGV4
dGVuc2lvbnMgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLmNwcAppbmRleCBhNTQ5YjJlY2UxZDRiM2U3ZmZkZjNhMjFiMDViZDViYTI5
YzkwOGE1Li4yYjZlNWMyNDRiZGEzZGUzMzBlZjAzNTMxZTA5OTVmNGFmNmYyMDYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIlF1aXJrcy5oIgogI2luY2x1ZGUgIlJlcXVlc3RB
bmltYXRpb25GcmFtZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNpbmNsdWRl
ICJVc2VyR2VzdHVyZUluZGljYXRvci5oIgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRl
IDx3dGYvU3lzdGVtVHJhY2luZy5oPgogCkBAIC02MSw3ICs2Miw3IEBAIHZvaWQgU2NyaXB0ZWRB
bmltYXRpb25Db250cm9sbGVyOjpyZXN1bWUoKQogICAgIGlmIChtX3N1c3BlbmRDb3VudCA+IDAp
CiAgICAgICAgIC0tbV9zdXNwZW5kQ291bnQ7CiAKLSAgICBpZiAoIW1fc3VzcGVuZENvdW50ICYm
IG1fY2FsbGJhY2tzLnNpemUoKSkKKyAgICBpZiAoIW1fc3VzcGVuZENvdW50ICYmIG1fY2FsbGJh
Y2tEYXRhTGlzdC5zaXplKCkpCiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiB9CiAKQEAg
LTExMSw3ICsxMTIsNyBAQCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OkNhbGxiYWNrSWQg
U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZWdpc3RlckNhbAogICAgIENhbGxiYWNrSWQg
Y2FsbGJhY2tJZCA9ICsrbV9uZXh0Q2FsbGJhY2tJZDsKICAgICBjYWxsYmFjay0+bV9maXJlZE9y
Q2FuY2VsbGVkID0gZmFsc2U7CiAgICAgY2FsbGJhY2stPm1faWQgPSBjYWxsYmFja0lkOwotICAg
IG1fY2FsbGJhY2tzLmFwcGVuZChXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9jYWxsYmFja0Rh
dGFMaXN0LmFwcGVuZCh7IFdURk1vdmUoY2FsbGJhY2spLCBVc2VyR2VzdHVyZUluZGljYXRvcjo6
Y3VycmVudFVzZXJHZXN0dXJlKCkgfSk7CiAKICAgICBpZiAobV9kb2N1bWVudCkKICAgICAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKm1fZG9j
dW1lbnQsIGNhbGxiYWNrSWQpOwpAQCAtMTIzLDEwICsxMjQsMTAgQEAgU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyOjpDYWxsYmFja0lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6cmVn
aXN0ZXJDYWwKIAogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNhbmNlbENhbGxi
YWNrKENhbGxiYWNrSWQgY2FsbGJhY2tJZCkKIHsKLSAgICBib29sIGNhbmNlbGxlZCA9IG1fY2Fs
bGJhY2tzLnJlbW92ZUZpcnN0TWF0Y2hpbmcoW2NhbGxiYWNrSWRdKGF1dG8mIGNhbGxiYWNrKSB7
Ci0gICAgICAgIGlmIChjYWxsYmFjay0+bV9pZCAhPSBjYWxsYmFja0lkKQorICAgIGJvb2wgY2Fu
Y2VsbGVkID0gbV9jYWxsYmFja0RhdGFMaXN0LnJlbW92ZUZpcnN0TWF0Y2hpbmcoW2NhbGxiYWNr
SWRdKGF1dG8mIGRhdGEpIHsKKyAgICAgICAgaWYgKGRhdGEuY2FsbGJhY2stPm1faWQgIT0gY2Fs
bGJhY2tJZCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY2FsbGJhY2stPm1f
ZmlyZWRPckNhbmNlbGxlZCA9IHRydWU7CisgICAgICAgIGRhdGEuY2FsbGJhY2stPm1fZmlyZWRP
ckNhbmNlbGxlZCA9IHRydWU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0pOwogCkBAIC0x
MzYsNyArMTM3LDcgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OmNhbmNlbENh
bGxiYWNrKENhbGxiYWNrSWQgY2FsbGJhY2tJZCkKIAogdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXI6OnNlcnZpY2VSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja3MoUmVkdWNlZFJl
c29sdXRpb25TZWNvbmRzIHRpbWVzdGFtcCkKIHsKLSAgICBpZiAoIW1fY2FsbGJhY2tzLnNpemUo
KSB8fCBtX3N1c3BlbmRDb3VudCB8fCAhcmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQor
ICAgIGlmICghbV9jYWxsYmFja0RhdGFMaXN0LnNpemUoKSB8fCBtX3N1c3BlbmRDb3VudCB8fCAh
cmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoc2hvdWxkUmVzY2hlZHVsZVJlcXVlc3RBbmltYXRpb25GcmFtZSh0aW1lc3RhbXApKSB7CkBA
IC0xNTIsMzEgKzE1MywzNSBAQCB2b2lkIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6c2Vy
dmljZVJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrcyhSZWR1Y2VkUgogCiAgICAgLy8gRmly
c3QsIGdlbmVyYXRlIGEgbGlzdCBvZiBjYWxsYmFja3MgdG8gY29uc2lkZXIuICBDYWxsYmFja3Mg
cmVnaXN0ZXJlZCBmcm9tIHRoaXMgcG9pbnQKICAgICAvLyBvbiBhcmUgY29uc2lkZXJlZCBvbmx5
IGZvciB0aGUgIm5leHQiIGZyYW1lLCBub3QgdGhpcyBvbmUuCi0gICAgQ2FsbGJhY2tMaXN0IGNh
bGxiYWNrcyhtX2NhbGxiYWNrcyk7CisgICAgVmVjdG9yPENhbGxiYWNrRGF0YT4gY2FsbGJhY2tE
YXRhTGlzdChtX2NhbGxiYWNrRGF0YUxpc3QpOwogCiAgICAgLy8gSW52b2tpbmcgY2FsbGJhY2tz
IG1heSBkZXRhY2ggZWxlbWVudHMgZnJvbSBvdXIgZG9jdW1lbnQsIHdoaWNoIGNsZWFycyB0aGUg
ZG9jdW1lbnQncwogICAgIC8vIHJlZmVyZW5jZSB0byB1cywgc28gdGFrZSBhIGRlZmVuc2l2ZSBy
ZWZlcmVuY2UuCiAgICAgUmVmPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcj4gcHJvdGVjdGVk
VGhpcygqdGhpcyk7CiAgICAgUmVmPERvY3VtZW50PiBwcm90ZWN0ZWREb2N1bWVudCgqbV9kb2N1
bWVudCk7CiAKLSAgICBmb3IgKGF1dG8mIGNhbGxiYWNrIDogY2FsbGJhY2tzKSB7CisgICAgZm9y
IChhdXRvJiBbY2FsbGJhY2ssIHVzZXJHZXN0dXJlVG9rZW5Ub0ZvcndhcmRdIDogY2FsbGJhY2tE
YXRhTGlzdCkgewogICAgICAgICBpZiAoY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZCkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVk
ID0gdHJ1ZTsKIAorICAgICAgICBpZiAodXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZCAmJiB1c2Vy
R2VzdHVyZVRva2VuVG9Gb3J3YXJkLT5oYXNFeHBpcmVkKFVzZXJHZXN0dXJlVG9rZW46Om1heGlt
dW1JbnRlcnZhbEZvclVzZXJHZXN0dXJlRm9yd2FyZGluZykpCisgICAgICAgICAgICB1c2VyR2Vz
dHVyZVRva2VuVG9Gb3J3YXJkID0gbnVsbHB0cjsKKyAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0
b3IgZ2VzdHVyZUluZGljYXRvcih1c2VyR2VzdHVyZVRva2VuVG9Gb3J3YXJkKTsKKwogICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJlQW5pbWF0aW9uRnJhbWUocHJvdGVj
dGVkRG9jdW1lbnQsIGNhbGxiYWNrLT5tX2lkKTsKICAgICAgICAgY2FsbGJhY2stPmhhbmRsZUV2
ZW50KGhpZ2hSZXNOb3dNcyk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmlyZUFuaW1hdGlvbkZyYW1lKHByb3RlY3RlZERvY3VtZW50KTsKICAgICB9CiAKICAgICAvLyBS
ZW1vdmUgYW55IGNhbGxiYWNrcyB3ZSBmaXJlZCBmcm9tIHRoZSBsaXN0IG9mIHBlbmRpbmcgY2Fs
bGJhY2tzLgotICAgIG1fY2FsbGJhY2tzLnJlbW92ZUFsbE1hdGNoaW5nKFtdKGF1dG8mIGNhbGxi
YWNrKSB7Ci0gICAgICAgIHJldHVybiBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkOworICAg
IG1fY2FsbGJhY2tEYXRhTGlzdC5yZW1vdmVBbGxNYXRjaGluZyhbXShhdXRvJiBkYXRhKSB7Cisg
ICAgICAgIHJldHVybiBkYXRhLmNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5jZWxsZWQ7CiAgICAgfSk7
CiAKICAgICBtX2xhc3RBbmltYXRpb25GcmFtZVRpbWVzdGFtcCA9IHRpbWVzdGFtcDsKIAotICAg
IGlmIChtX2NhbGxiYWNrcy5zaXplKCkpCisgICAgaWYgKG1fY2FsbGJhY2tEYXRhTGlzdC5zaXpl
KCkpCiAgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCAwNDBkYzFjNmM3YmVh
YjYyZTJmNjFiMzYwNGRiZWVlY2JhYjhhNzVhLi4wZDQ1YThlNTJkZWJmODUyZTkwNWE1N2ZhYjBk
ZWY5ZTZkNmEzNzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlci5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgUGFnZTsKIGNsYXNzIFJlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrOworY2xhc3MgVXNlckdlc3R1cmVUb2tlbjsKIAogY2xhc3MgU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyIDogcHVibGljIFJlZkNvdW50ZWQ8U2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyPgogewpAQCAtNzQsOCArNzUsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3VsZFJlc2No
ZWR1bGVSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUmVkdWNlZFJlc29sdXRpb25TZWNvbmRzKSBjb25z
dDsKICAgICB2b2lkIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiAKLSAgICB1c2luZyBDYWxsYmFja0xp
c3QgPSBWZWN0b3I8UmVmUHRyPFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrPj47Ci0gICAg
Q2FsbGJhY2tMaXN0IG1fY2FsbGJhY2tzOworICAgIHN0cnVjdCBDYWxsYmFja0RhdGEgeworICAg
ICAgICBSZWY8UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrOworICAgICAg
ICBSZWZQdHI8VXNlckdlc3R1cmVUb2tlbj4gdXNlckdlc3R1cmVUb2tlblRvRm9yd2FyZDsKKyAg
ICB9OworICAgIFZlY3RvcjxDYWxsYmFja0RhdGE+IG1fY2FsbGJhY2tEYXRhTGlzdDsKIAogICAg
IFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7CiAgICAgQ2FsbGJhY2tJZCBtX25leHRDYWxs
YmFja0lkIHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDc0MmVl
N2RmN2IyOTA3MDBlMDc4ZDRmYzA0NjliYTNlMThhMTE3OGUuLjM4ZjFiZWQyN2NiYzg2ZDI5NDNi
YWEzY2VmMmE5YTIzZmQ4NTM4YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
QEAgLTQ4NTMsNiArNDg1MywxMiBAQCB2b2lkIEludGVybmFsczo6d2l0aFVzZXJHZXN0dXJlKFJl
ZlB0cjxWb2lkQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiAgICAgY2FsbGJhY2stPmhhbmRsZUV2ZW50
KCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjp3aXRob3V0VXNlckdlc3R1cmUoUmVmUHRyPFZvaWRD
YWxsYmFjaz4mJiBjYWxsYmFjaykKK3sKKyAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJl
SW5kaWNhdG9yKE5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZSwgY29udGV4dERvY3VtZW50KCkpOwor
ICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVudCgpOworfQorCiBib29sIEludGVybmFsczo6dXNlcklz
SW50ZXJhY3RpbmcoKQogewogICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVu
dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAyMTNkODdjZWY2NGFkNWFk
ZTZiYTAyNTgwNzQ4MWU1OTg5MDk3ODk2Li45ZmFjYmYzZDU3NzVkNjQzMDBjM2FhZWJiOWRlZDFi
ZjI5N2UxOTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTc0Nyw2ICs3NDcs
NyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIGxhc3RIYW5kbGVkVXNlckdlc3R1cmVUaW1lc3RhbXAo
KTsKIAogICAgIHZvaWQgd2l0aFVzZXJHZXN0dXJlKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwor
ICAgIHZvaWQgd2l0aG91dFVzZXJHZXN0dXJlKFJlZlB0cjxWb2lkQ2FsbGJhY2s+JiYpOwogCiAg
ICAgYm9vbCB1c2VySXNJbnRlcmFjdGluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKaW5kZXggMmM5NDhiMjJiNzcxNGMxOTczZjJjMzRmODFkZWU3MDhjMjM2Y2IxMS4uMzNl
MWU5ZTJhYWNkMzhkODM4YzdiODU1Y2VlZGI4NDdkODkxYmFjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtNzgyLDYgKzc4Miw3IEBAIGVudW0gVHJlZVR5cGUgewogICAg
IGRvdWJsZSBsYXN0SGFuZGxlZFVzZXJHZXN0dXJlVGltZXN0YW1wKCk7CiAKICAgICB1bmRlZmlu
ZWQgd2l0aFVzZXJHZXN0dXJlKFZvaWRDYWxsYmFjayBjYWxsYmFjayk7CisgICAgdW5kZWZpbmVk
IHdpdGhvdXRVc2VyR2VzdHVyZShWb2lkQ2FsbGJhY2sgY2FsbGJhY2spOwogCiAgICAgYm9vbGVh
biB1c2VySXNJbnRlcmFjdGluZygpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTQ2ZTg0ZmRhMTJlMzBhNjczZDQyZjRj
ZWY4Y2NlNmM5ZmZjM2M2OC4uZmZlMTQ2OTdmNTAwMWFkN2I0MjAxZjViYWJkZDVkYTNkM2RjOThl
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAzLTI5ICBEZXZpbiBSb3Vzc28gIDxkcm91
c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBQcm9wYWdhdGUgdXNlciBnZXN0dXJlcyB0aHJvdWdo
IGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGp1c3QgbGlrZSBgc2V0VGltZW91dGAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzc3NQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzU4NjA4Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkg
R2FyZW4uCisKKyAgICAgICAgKiBlZGl0aW5nL3Bhc3RlYm9hcmQvZG9tLXBhc3RlL2RvbS1wYXN0
ZS1yZXF1aXJlcy11c2VyLWdlc3R1cmUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2FuaW1hdGlvbi9y
ZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3Bh
Z2F0ZS11c2VyLWdlc3R1cmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0wMy0yNSAgUm9i
ZXJ0IEplbm5lciAgPGplbm5lckBhcHBsZS5jb20+CiAKICAgICAgICAgWyBEZWJ1ZyB3azIgXSBB
U1NFUlRJT04gRkFJTEVEOiB3aWxsQmVDb21wb3NpdGVkID09IG5lZWRzVG9CZUNvbXBvc2l0ZWQo
bGF5ZXIsIHF1ZXJ5RGF0YSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVi
b2FyZC9kb20tcGFzdGUvZG9tLXBhc3RlLXJlcXVpcmVzLXVzZXItZ2VzdHVyZS5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RvbS1wYXN0ZS9kb20tcGFzdGUtcmVxdWlyZXMt
dXNlci1nZXN0dXJlLmh0bWwKaW5kZXggZWQxZmVlZjI1MWE4N2VmMjQyYTEwMTZhNmIzMGFjMTFj
ZDYxOWEyOS4uMGQ2OTA3MTVhNDRiN2VkMjZjMjg5M2MzODM5MThlYTljZmQ1ZDlmMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL2RvbS1wYXN0ZS9kb20tcGFzdGUt
cmVxdWlyZXMtdXNlci1nZXN0dXJlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0
ZWJvYXJkL2RvbS1wYXN0ZS9kb20tcGFzdGUtcmVxdWlyZXMtdXNlci1nZXN0dXJlLmh0bWwKQEAg
LTU0LDcgKzU0LDcgQEAgZnVuY3Rpb24gY2hlY2tEb25lKCkgewogZWRpdG9yLmFkZEV2ZW50TGlz
dGVuZXIoImNsaWNrIiwgZXZlbnQgPT4gewogICAgIGVkaXRvci5mb2N1cygpOwogICAgIHNob3Vs
ZEJlKCJkb2N1bWVudC5leGVjQ29tbWFuZCgnUGFzdGUnKSIsICJ0cnVlIik7Ci0gICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICBpbnRlcm5hbHMud2l0aG91dFVzZXJHZXN0dXJl
KCgpID0+IHsKICAgICAgICAgc2hvdWxkQmUoImRvY3VtZW50LmV4ZWNDb21tYW5kKCdQYXN0ZScp
IiwgImZhbHNlIikKICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlZGl0b3IudGV4dENv
bnRlbnQiLCAiQ2xpY2sgaGVyZSB0byBjb3B5Iik7CiAgICAgICAgIGNoZWNrRG9uZSgpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJh
bWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1wcm9wYWdhdGUtdXNlci1nZXN0dXJl
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmRkNWI2Yjc5N2QwOWM2YTkzMzc2MGY3NGE5ZTU0
OWYyZTEzODhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24v
cmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyNSBAQAorVGVzdHMgdGhhdCB1c2VyIGdlc3R1cmVzIGFyZSBwcm9wYWdh
dGVkIHRocm91Z2ggcmVxdWVzdEFuaW1hdGlvbkZyYW1lCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitQQVNTIGludGVybmFscy5pc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIGlzIGZh
bHNlCisKK0NhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHdpdGhvdXQgYSB1c2VyIGdlc3R1
cmUuLi4KK1BBU1MgaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgaXMgZmFsc2UK
KworVHJpZ2dlcmluZyBhIHVzZXIgZ2VzdHVyZS4uLgorQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgd2l0aCBhIHVzZXIgZ2VzdHVyZS4uLgorUEFTUyBpbnRlcm5hbHMuaXNQcm9jZXNzaW5n
VXNlckdlc3R1cmUoKSBpcyB0cnVlCisKK0NhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGlu
c2lkZSB0aGUgY2FsbGJhY2sgb2YgYSBwcmlvciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuLi4KK1BB
U1MgaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgaXMgdHJ1ZQorCitPdmVycmlk
aW5nIHRoZSB1c2VyIGdlc3R1cmUuLi4KK0NhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHdp
dGhvdXQgYSB1c2VyIGdlc3R1cmUuLi4KK1BBU1MgaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlKCkgaXMgZmFsc2UKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3Jl
cXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11c2VyLWdlc3R1cmUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLXByb3BhZ2F0ZS11
c2VyLWdlc3R1cmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZmM4OWFiOGMxZjg5ZmNiNWFjNjQ4OTE0OTM5
ZmJjYzdkNTJiNjY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRp
b24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtcHJvcGFnYXRlLXVzZXItZ2VzdHVyZS5odG1sCkBA
IC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCB1c2VyIGdlc3R1cmVzIGFyZSBw
cm9wYWdhdGVkIHRocm91Z2ggcmVxdWVzdEFuaW1hdGlvbkZyYW1lIik7Citqc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0
dXJlKCkiKTsKKworZGVidWcoIiIpOworCitkZWJ1ZygiQ2FsbGluZyByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgd2l0aG91dCBhIHVzZXIgZ2VzdHVyZS4uLiIpOworcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KCgpID0+IHsKKyAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdl
c3R1cmUoKSIpOworCisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRyaWdnZXJpbmcgYSB1
c2VyIGdlc3R1cmUuLi4iKTsKKyAgICBpbnRlcm5hbHMud2l0aFVzZXJHZXN0dXJlKCgpID0+IHsK
KyAgICAgICAgZGVidWcoIkNhbGxpbmcgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIHdpdGggYSB1c2Vy
IGdlc3R1cmUuLi4iKTsKKyAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAg
ICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiaW50ZXJuYWxzLmlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJl
KCkiKTsKKworICAgICAgICAgICAgZGVidWcoIiIpOworCisgICAgICAgICAgICBkZWJ1ZygiQ2Fs
bGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW5zaWRlIHRoZSBjYWxsYmFjayBvZiBhIHByaW9y
IHJlcXVlc3RBbmltYXRpb25GcmFtZS4uLiIpOworICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlv
bkZyYW1lKCgpID0+IHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVRydWUoImludGVybmFscy5p
c1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIik7CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7
CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiT3ZlcnJpZGluZyB0aGUgdXNlciBnZXN0dXJlLi4u
Iik7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLndpdGhvdXRVc2VyR2VzdHVyZSgoKSA9PiB7
CisgICAgICAgICAgICAgICAgICAgIGRlYnVnKCJDYWxsaW5nIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSB3aXRob3V0IGEgdXNlciBnZXN0dXJlLi4uIik7CisgICAgICAgICAgICAgICAgICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRC
ZUZhbHNlKCJpbnRlcm5hbHMuaXNQcm9jZXNzaW5nVXNlckdlc3R1cmUoKSIpOworCisgICAgICAg
ICAgICAgICAgICAgICAgICBkZWJ1ZygiIik7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGZp
bmlzaEpTVGVzdCgpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30pOworCis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>