<?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>216005</bug_id>
          
          <creation_ts>2020-08-31 08:31:18 -0700</creation_ts>
          <short_desc>[macOS] Add disabled and readonly behaviors to date inputs</short_desc>
          <delta_ts>2020-09-03 07:41:18 -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>Forms</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Mac</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>
          <dependson>215938</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aditya Keerthi">akeerthi</reporter>
          <assigned_to name="Aditya Keerthi">akeerthi</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>m.kurz+webkitbugs</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>1684134</commentid>
    <comment_count>0</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-08-31 08:31:18 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684498</commentid>
    <comment_count>1</comment_count>
      <attachid>407686</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-09-01 09:34:30 -0700</bug_when>
    <thetext>Created attachment 407686
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684548</commentid>
    <comment_count>2</comment_count>
      <attachid>407686</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-01 11:07:06 -0700</bug_when>
    <thetext>Comment on attachment 407686
Patch

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

&gt; Source/WebCore/html/shadow/DateTimeFieldElement.cpp:64
&gt; +        if (!isFieldOwnerDisabled() &amp;&amp; !isFieldOwnerReadOnly()) {

`readonly` inputs are still able to receive events.  They basically are the same as regular inputs except that typing doesn&apos;t update the `value`.  Is that still possible with this?  Am I reading this code wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1684558</commentid>
    <comment_count>3</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-09-01 11:28:24 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #2)
&gt; Comment on attachment 407686 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=407686&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/DateTimeFieldElement.cpp:64
&gt; &gt; +        if (!isFieldOwnerDisabled() &amp;&amp; !isFieldOwnerReadOnly()) {
&gt; 
&gt; `readonly` inputs are still able to receive events.  They basically are the
&gt; same as regular inputs except that typing doesn&apos;t update the `value`.  Is
&gt; that still possible with this?  Am I reading this code wrong?

Keyboard events are still dispatched on the element. This code just prevents editability – `handleKeyboardEvent` is a virtual method that the editable fields use to respond to keyboard events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685001</commentid>
    <comment_count>4</comment_count>
      <attachid>407686</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-09-02 14:27:03 -0700</bug_when>
    <thetext>Comment on attachment 407686
Patch

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

r=me, nice works!

&gt; Source/WebCore/css/html.css:520
&gt; +input[disabled]::-webkit-datetime-edit-year-field,

NIT: should these be `input[type=&quot;date&quot;]`?

&gt; Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp:318
&gt; +    return element()-&gt;isDisabledFormControl();

NIT: should this have `ASSERT(element())` too?

&gt; Source/WebCore/html/shadow/DateTimeFieldElement.cpp:119
&gt; +bool DateTimeFieldElement::isFocusable() const

(for my own knowledge) is this what&apos;s used to determine whether or not the `&lt;input type=&quot;date&quot;&gt;` is mouse-interactable?  I ask because `disabled` should prevent all interaction but `readonly` should still allow mouse interaction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685006</commentid>
    <comment_count>5</comment_count>
      <attachid>407818</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-09-02 14:43:26 -0700</bug_when>
    <thetext>Created attachment 407818
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685008</commentid>
    <comment_count>6</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2020-09-02 14:49:39 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #4)
&gt; Comment on attachment 407686 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=407686&amp;action=review
&gt; 
&gt; r=me, nice works!

Thanks for the review!
 
&gt; &gt; Source/WebCore/css/html.css:520
&gt; &gt; +input[disabled]::-webkit-datetime-edit-year-field,
&gt; 
&gt; NIT: should these be `input[type=&quot;date&quot;]`?

They probably should. I&apos;ve added a FIXME to address this in a follow-up, since there are existing instances that should also be updated.
 
&gt; &gt; Source/WebCore/html/BaseChooserOnlyDateAndTimeInputType.cpp:318
&gt; &gt; +    return element()-&gt;isDisabledFormControl();
&gt; 
&gt; NIT: should this have `ASSERT(element())` too?

Added an assertion.
 
&gt; &gt; Source/WebCore/html/shadow/DateTimeFieldElement.cpp:119
&gt; &gt; +bool DateTimeFieldElement::isFocusable() const
&gt; 
&gt; (for my own knowledge) is this what&apos;s used to determine whether or not the
&gt; `&lt;input type=&quot;date&quot;&gt;` is mouse-interactable?  I ask because `disabled`
&gt; should prevent all interaction but `readonly` should still allow mouse
&gt; interaction.

Partially.

If by mouse-interaction, you mean the ability to select the individual components of the control using a mouse, the answer is yes.

If by mouse-interaction, you mean the dispatching of mouse events, that is handled in existing code in Node::handleLocalEvents, which does not dispatch events if Element::isDisabledFormControl is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685251</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-03 07:40:11 -0700</bug_when>
    <thetext>Committed r266514: &lt;https://trac.webkit.org/changeset/266514&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 407818.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685252</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-03 07:41:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/68278191&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407686</attachid>
            <date>2020-09-01 09:34:30 -0700</date>
            <delta_ts>2020-09-02 14:27:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216005-20200901123429.patch</filename>
            <type>text/plain</type>
            <size>20163</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA3OTZiNjMyNDg4MGEz
OTg0MzI2MDAyMDFmMjg5NDM0NGVlMGMyYi4uMmRiNTlmZmE2ZGRhZWU4MzNhODQ0ZGE5MjNlZmFk
MTBlMmFjMzcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIwLTA5LTAxICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIEFkZCBk
aXNhYmxlZCBhbmQgcmVhZG9ubHkgYmVoYXZpb3JzIHRvIGRhdGUgaW5wdXRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYwMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBtZXRob2RzIHRvIEVk
aXRDb250cm9sT3duZXIgYW5kIEZpZWxkT3duZXIgc28gdGhhdAorICAgICAgICBEYXRlVGltZUVk
aXRFbGVtZW50IGFuZCBEYXRlVGltZUZpZWxkRWxlbWVudCBhcmUgYXdhcmUgb2YgdGhlIHJlYWRv
bmx5CisgICAgICAgIGFuZCBkaXNhYmxlZCBzdGF0ZXMgb2YgdGhlaXIgY29udGFpbmluZyBlbGVt
ZW50LgorCisgICAgICAgIERpc2FibGVkIGlucHV0cyBzaG91bGQgbm90IGJlIGZvY3VzYWJsZSBh
bmQgc2hvdWxkIG5vdCByZXNwb25kIHRvIGFueQorICAgICAgICBrZXlib2FyZCBldmVudHMuIE9u
IHRoZSBvdGhlciBoYW5kLCByZWFkb25seSBpbnB1dHMgc2hvdWxkIHJlc3BvbmQgdG8KKyAgICAg
ICAgc29tZSBrZXlib2FyZCBldmVudHMgKHN1Y2ggYXMgbGVmdCBhcnJvdywgcmlnaHQgYXJyb3cs
IGFuZCB0aGUgdGFiCisgICAgICAgIGtleSksIGJ1dCBzaG91bGQgbm90IGJlIGVkaXRhYmxlLgor
CisgICAgICAgICogY3NzL2h0bWwuY3NzOiBVcGRhdGVkIHRvIGFkZCBHcmF5VGV4dCBjb2xvciBm
b3IgZGlzYWJsZWQgZmllbGRzLgorICAgICAgICAoaW5wdXRbZGlzYWJsZWRdOjotd2Via2l0LWRh
dGV0aW1lLWVkaXQteWVhci1maWVsZCwpOgorICAgICAgICAqIGh0bWwvQmFzZUNob29zZXJPbmx5
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZUNob29zZXJP
bmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzRWRpdENvbnRyb2xPd25lckRpc2FibGVkIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBl
Ojppc0VkaXRDb250cm9sT3duZXJSZWFkT25seSBjb25zdCk6CisgICAgICAgICogaHRtbC9CYXNl
Q2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAgICAqIGh0bWwvc2hhZG93
L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0
RWxlbWVudDo6aXNGaWVsZE93bmVyRGlzYWJsZWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZVRpbWVFZGl0RWxlbWVudDo6aXNGaWVsZE93bmVyUmVhZE9ubHkgY29uc3QpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL3No
YWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGlt
ZUZpZWxkRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisKKyAgICAgICAgSWYgdGhlIG93
bmluZyBlbGVtZW50IGlzIGRpc2FibGVkIG9yIHJlYWRvbmx5LCBlbGlkZSBhIGNhbGwgdG8KKyAg
ICAgICAgaGFuZGxlS2V5Ym9hcmRFdmVudCwgd2hpY2ggaXMgaW1wbGVtZW50ZWQgYnkgc3ViY2xh
c3NlcyB0byBhY2hpZXZlCisgICAgICAgIGVkaXRhYmlsaXR5LgorCisgICAgICAgIChXZWJDb3Jl
OjpEYXRlVGltZUZpZWxkRWxlbWVudDo6ZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKTogRGlz
YWJsZWQgaW5wdXRzIHNob3VsZCBub3QgcmVzcG9uZCB0byBhbnkgZXZlbnRzLgorICAgICAgICAo
V2ViQ29yZTo6RGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmlzRmllbGRPd25lckRpc2FibGVkIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRmllbGRFbGVtZW50Ojppc0ZpZWxkT3duZXJS
ZWFkT25seSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUZpZWxkRWxlbWVudDo6
aXNGb2N1c2FibGUgY29uc3QpOiBEaXNhYmxlZCBpbnB1dHMgc2hvdWxkIG5vdCBiZSBmb2N1c2Fi
bGUuCisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaDoKKwogMjAy
MC0wOC0yOCAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAg
W21hY09TXSBIYW5kbGUgZXZlbnRzIGZvciBkYXRlIGlucHV0cyB3aXRoIGVkaXRhYmxlIGNvbXBv
bmVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9odG1sLmNzcwppbmRleCBlZDY4ZWQ5ODY1MjU4YjJlNzMwMzA3ODM1ZGQzNGFl
ZDFmZjllYWZhLi5lYjk1ODg1MTE5NTE3MjdjYWU3NGQwMTIxYzliZTYxNThjM2Y2YmMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL2h0bWwuY3NzCkBAIC01MTcsNiArNTE3LDEzIEBAIGlucHV0Ojotd2Via2l0LWRhdGV0aW1l
LWVkaXQtZGF5LWZpZWxkOmZvY3VzIHsKICAgICBvdXRsaW5lOiBub25lOwogfQogCitpbnB1dFtk
aXNhYmxlZF06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkLAoraW5wdXRbZGlzYWJs
ZWRdOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsCitpbnB1dFtkaXNhYmxlZF06
Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQsCitpbnB1dFtkaXNhYmxlZF06Oi13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC10ZXh0IHsKKyAgICBjb2xvcjogR3JheVRleHQ7Cit9CisKIGlucHV0
Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtdGV4dCB7CiAgICAgZGlzcGxheTogaW5saW5lOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGlt
ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCAxOTUzN2I5ODY2NGVlMGQ0NTE2MmJjOGI3MjFlM2Vh
NjgyZDAyOGFkLi40M2NkM2E4ZGU0NzZlNjBhZThjZWViOGFkNTAwODBlYTY5YTAyOTY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25seURhdGVB
bmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMzEzLDYgKzMxMywxNiBAQCB2b2lkIEJhc2VDaG9vc2Vy
T25seURhdGVBbmRUaW1lSW5wdXRUeXBlOjpkaWRDaGFuZ2VWYWx1ZUZyb21Db250cm9sKCkKICAg
ICBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnNldFZhbHVlKHZhbHVlLCB2YWx1ZSAhPSBlbGVt
ZW50KCktPnZhbHVlKCksIERpc3BhdGNoSW5wdXRBbmRDaGFuZ2VFdmVudCk7CiB9CiAKK2Jvb2wg
QmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzRWRpdENvbnRyb2xPd25lckRp
c2FibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZWxlbWVudCgpLT5pc0Rpc2FibGVkRm9ybUNv
bnRyb2woKTsKK30KKworYm9vbCBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZTo6
aXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHkoKSBjb25zdAoreworICAgIHJldHVybiBlbGVtZW50
KCktPmlzUmVhZE9ubHkoKTsKK30KKwogQXRvbVN0cmluZyBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5k
VGltZUlucHV0VHlwZTo6bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGVs
ZW1lbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25s
eURhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2Vy
T25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggOWZkNDRiZjgzYjAxOGFjZmU4ZTk3ODM1
YTg5NGM0NmUxMThlNWIxZS4uYzJiZDA4MDk1OTFiNTRjOTU1MzAyM2U3Njc4NjVjMjM5OTMzNjcy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlEYXRlQW5k
VGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5
RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAtNjUsNiArNjUsOCBAQCBwcml2YXRlOgogICAgIC8v
IERhdGVUaW1lRWRpdEVsZW1lbnQ6OkVkaXRDb250cm9sT3duZXIgZnVuY3Rpb25zOgogICAgIHZv
aWQgZGlkQmx1ckZyb21Db250cm9sKCkgZmluYWw7CiAgICAgdm9pZCBkaWRDaGFuZ2VWYWx1ZUZy
b21Db250cm9sKCkgZmluYWw7CisgICAgYm9vbCBpc0VkaXRDb250cm9sT3duZXJEaXNhYmxlZCgp
IGNvbnN0IGZpbmFsOworICAgIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHkoKSBjb25z
dCBmaW5hbDsKICAgICBBdG9tU3RyaW5nIGxvY2FsZUlkZW50aWZpZXIoKSBjb25zdCBmaW5hbDsK
IAogICAgIC8vIElucHV0VHlwZSBmdW5jdGlvbnM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmluZGV4IGNiNTE0NDZhOTY1ZjNmNmE0
MmZiZmNiOTUwODg2NzViY2E4NDYwMTEuLmZiZGM5MzQ2YTRlMDdlMjQ4NmYzZDFkYWQ5OTcyYTMz
MTFiNTZlYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwCkBAIC0yNTYsNiArMjU2LDE2IEBAIGJvb2wgRGF0ZVRpbWVFZGl0RWxl
bWVudDo6Zm9jdXNPblByZXZpb3VzRmllbGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmIGZp
ZWxkCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIERhdGVUaW1lRWRpdEVsZW1lbnQ6Omlz
RmllbGRPd25lckRpc2FibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9lZGl0Q29udHJvbE93
bmVyICYmIG1fZWRpdENvbnRyb2xPd25lci0+aXNFZGl0Q29udHJvbE93bmVyRGlzYWJsZWQoKTsK
K30KKworYm9vbCBEYXRlVGltZUVkaXRFbGVtZW50Ojppc0ZpZWxkT3duZXJSZWFkT25seSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fZWRpdENvbnRyb2xPd25lciAmJiBtX2VkaXRDb250cm9sT3du
ZXItPmlzRWRpdENvbnRyb2xPd25lclJlYWRPbmx5KCk7Cit9CisKIEF0b21TdHJpbmcgRGF0ZVRp
bWVFZGl0RWxlbWVudDo6bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1f
ZWRpdENvbnRyb2xPd25lciA/IG1fZWRpdENvbnRyb2xPd25lci0+bG9jYWxlSWRlbnRpZmllcigp
IDogbnVsbEF0b20oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRWRpdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuaAppbmRleCA0MjAzODZjNTJmODIxMGZhODVlNDI3OTE3ZWNjNTJiY2Q1ZDIw
NGE2Li4zZTMxODU3YzgzMDQyYTA4MmUyNjU2YTdmOWZkMTM2OGIwYTAxM2RlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCkBAIC00Niw2
ICs0Niw4IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEJsdXJGcm9tQ29udHJv
bCgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVZhbHVlRnJvbUNvbnRyb2wo
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRzU3RhdGUo
Y29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBi
b29sIGlzRWRpdENvbnRyb2xPd25lckRpc2FibGVkKCkgY29uc3QgPSAwOworICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHkoKSBjb25zdCA9IDA7CiAgICAgICAg
IHZpcnR1YWwgQXRvbVN0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgPSAwOwogICAgIH07
CiAKQEAgLTk2LDYgKzk4LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpZWxkVmFsdWVDaGFuZ2Vk
KCkgZmluYWw7CiAgICAgYm9vbCBmb2N1c09uTmV4dEZpZWxkKGNvbnN0IERhdGVUaW1lRmllbGRF
bGVtZW50JikgZmluYWw7CiAgICAgYm9vbCBmb2N1c09uUHJldmlvdXNGaWVsZChjb25zdCBEYXRl
VGltZUZpZWxkRWxlbWVudCYpIGZpbmFsOworICAgIGJvb2wgaXNGaWVsZE93bmVyRGlzYWJsZWQo
KSBjb25zdCBmaW5hbDsKKyAgICBib29sIGlzRmllbGRPd25lclJlYWRPbmx5KCkgY29uc3QgZmlu
YWw7CiAgICAgQXRvbVN0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgZmluYWw7CiAKICAg
ICBWZWN0b3I8UmVmPERhdGVUaW1lRmllbGRFbGVtZW50PiwgbWF4aW11bU51bWJlck9mRmllbGRz
PiBtX2ZpZWxkczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50LmNwcAppbmRleCBmMWRiMWNlYjFiZjgyYTBmYTgyZjY0ODIyYjY5Mzg4Nzhk
MjFhYmViLi5kM2RiZTI5YmQ3Yjc0MDRjZWIyMmZjMzk5ZjFlNzdkZDI3YzlhMjcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3Bw
CkBAIC02MSw5ICs2MSwxMiBAQCB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoaXM8S2V5Ym9hcmRFdmVudD4oZXZl
bnQpKSB7CiAgICAgICAgIGF1dG8mIGtleWJvYXJkRXZlbnQgPSBkb3duY2FzdDxLZXlib2FyZEV2
ZW50PihldmVudCk7Ci0gICAgICAgIGhhbmRsZUtleWJvYXJkRXZlbnQoa2V5Ym9hcmRFdmVudCk7
Ci0gICAgICAgIGlmIChrZXlib2FyZEV2ZW50LmRlZmF1bHRIYW5kbGVkKCkpCi0gICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIGlmICghaXNGaWVsZE93bmVyRGlzYWJsZWQoKSAmJiAhaXNGaWVs
ZE93bmVyUmVhZE9ubHkoKSkgeworICAgICAgICAgICAgaGFuZGxlS2V5Ym9hcmRFdmVudChrZXli
b2FyZEV2ZW50KTsKKyAgICAgICAgICAgIGlmIChrZXlib2FyZEV2ZW50LmRlZmF1bHRIYW5kbGVk
KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgZGVmYXVs
dEtleWJvYXJkRXZlbnRIYW5kbGVyKGtleWJvYXJkRXZlbnQpOwogICAgICAgICBpZiAoa2V5Ym9h
cmRFdmVudC5kZWZhdWx0SGFuZGxlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAtNzQsNiAr
NzcsOSBAQCB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50JiBldmVudCkKIAogdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6ZGVmYXVsdEtleWJvYXJk
RXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGtleWJvYXJkRXZlbnQpCiB7CisgICAgaWYgKGlz
RmllbGRPd25lckRpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChrZXlib2Fy
ZEV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50KQogICAgICAgICByZXR1
cm47CiAKQEAgLTg5LDYgKzk1LDkgQEAgdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6ZGVmYXVs
dEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGtleWJvYXJkRXYKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAorICAgIGlmIChpc0ZpZWxkT3duZXJSZWFkT25seSgpKQorICAgICAg
ICByZXR1cm47CisKICAgICAvLyBDbGVhciB2YWx1ZSB3aGVuIHByZXNzaW5nIGJhY2tzcGFjZSBv
ciBkZWxldGUuCiAgICAgaWYgKGtleSA9PSAiVSswMDA4IiB8fCBrZXkgPT0gIlUrMDA3RiIpIHsK
ICAgICAgICAga2V5Ym9hcmRFdmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwpAQCAtOTcsNiArMTA2
LDIzIEBAIHZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1bHRLZXlib2FyZEV2ZW50SGFu
ZGxlcihLZXlib2FyZEV2ZW50JiBrZXlib2FyZEV2CiAgICAgfQogfQogCitib29sIERhdGVUaW1l
RmllbGRFbGVtZW50Ojppc0ZpZWxkT3duZXJEaXNhYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fZmllbGRPd25lciAmJiBtX2ZpZWxkT3duZXItPmlzRmllbGRPd25lckRpc2FibGVkKCk7Cit9
CisKK2Jvb2wgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmlzRmllbGRPd25lclJlYWRPbmx5KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9maWVsZE93bmVyICYmIG1fZmllbGRPd25lci0+aXNGaWVsZE93
bmVyUmVhZE9ubHkoKTsKK30KKworYm9vbCBEYXRlVGltZUZpZWxkRWxlbWVudDo6aXNGb2N1c2Fi
bGUoKSBjb25zdAoreworICAgIGlmIChpc0ZpZWxkT3duZXJEaXNhYmxlZCgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEhUTUxFbGVtZW50Ojppc0ZvY3VzYWJsZSgpOworfQor
CiB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudChSZWZQdHI8RWxl
bWVudD4mJiBuZXdGb2N1c2VkRWxlbWVudCkKIHsKICAgICBpZiAobV9maWVsZE93bmVyKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50LmgKaW5k
ZXggZmYzYjY2M2FjMzZlZDU2NmM5N2RlZDQ2MjFmODkzYzM4ZDYxOWExMS4uNGEyYTI4ZGI1NGY4
MGYwMzQ3NjZiZmUyNGVlZWQxMmM1ZWIxMzZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oCkBAIC00OSwxMSArNDksMTQgQEAgcHVi
bGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZmllbGRWYWx1ZUNoYW5nZWQoKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBmb2N1c09uTmV4dEZpZWxkKGNvbnN0IERhdGVUaW1lRmllbGRFbGVt
ZW50JikgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZm9jdXNPblByZXZpb3VzRmllbGQoY29u
c3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSA9IDA7CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Zp
ZWxkT3duZXJEaXNhYmxlZCgpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzRmll
bGRPd25lclJlYWRPbmx5KCkgY29uc3QgPSAwOwogICAgICAgICB2aXJ0dWFsIEF0b21TdHJpbmcg
bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0ID0gMDsKICAgICB9OwogCiAgICAgdm9pZCBkZWZhdWx0
RXZlbnRIYW5kbGVyKEV2ZW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNwYXRjaEJsdXJFdmVu
dChSZWZQdHI8RWxlbWVudD4mJiBuZXdGb2N1c2VkRWxlbWVudCkgb3ZlcnJpZGU7CisgICAgYm9v
bCBpc0ZvY3VzYWJsZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgdmlydHVhbCBib29sIGhhc1ZhbHVl
KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3Rh
dGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpID0gMDsKQEAgLTc4LDYgKzgxLDggQEAgcHJpdmF0ZToK
ICAgICBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgZGVm
YXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmKTsKKyAgICBib29sIGlzRmll
bGRPd25lckRpc2FibGVkKCkgY29uc3Q7CisgICAgYm9vbCBpc0ZpZWxkT3duZXJSZWFkT25seSgp
IGNvbnN0OwogCiAgICAgV2Vha1B0cjxGaWVsZE93bmVyPiBtX2ZpZWxkT3duZXI7CiB9OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGMxZDliOGE5OWU0MzY2ZTQyZTNiNDI3MTI1YmZiOGMzOTk3OTQ0NjIuLmYxOWY2NTQ4ZDIw
YmJiMGVkZmNhMDgzODhhYmYzYjRlYTkwYmM2ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAy
MC0wOS0wMSAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CisKKyAgICAgICAg
W21hY09TXSBBZGQgZGlzYWJsZWQgYW5kIHJlYWRvbmx5IGJlaGF2aW9ycyB0byBkYXRlIGlucHV0
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MDA1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
dGVzdHMgZm9yIGRpc2FibGVkIGFuZCByZWFkb25seSBkYXRlIGlucHV0cyBpbiBleGlzdGluZyB0
ZXN0IGZpbGVzLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29t
cG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtZm9jdXMtYW5kLWJsdXItZXZlbnRzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21w
b25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1mb2N1cy1hbmQtYmx1ci1ldmVudHMuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2Rh
dGUtZWRpdGFibGUtY29tcG9uZW50cy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGZhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0
YWJsZS1jb21wb25lbnRzLWtleWJvYXJkLWV2ZW50cy5odG1sOgorICAgICAgICAqIGZhc3QvZm9y
bXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRz
LW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2UtZXZl
bnRzLmh0bWw6CisKIDIwMjAtMDgtMjggIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFttYWNPU10gSGFuZGxlIGV2ZW50cyBmb3IgZGF0ZSBpbnB1dHMgd2l0
aCBlZGl0YWJsZSBjb21wb25lbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1m
b2N1cy1hbmQtYmx1ci1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMt
Zm9jdXMtYW5kLWJsdXItZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA0ZGU2ODFmN2M4MWU5Nzc2
NTM4NzVjODRhMTc1YTI1NGMxMjE3MzYwLi5lZGFkNWMzNmY4OThhZmM0MzA1NTM2MTk4YTgzMjMw
M2IxODYxOTJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1l
ZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1mb2N1cy1hbmQtYmx1
ci1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9k
YXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWZvY3VzLWFu
ZC1ibHVyLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTM0LDYgKzM0LDI3IEBAIFBBU1MgZm9jdXNF
dmVudHNGaXJlZCBpcyAyCiBQQVNTIGJsdXJFdmVudHNGaXJlZCBpcyAxCiBQQVNTIGZvY3VzRXZl
bnRzRmlyZWQgaXMgMgogUEFTUyBibHVyRXZlbnRzRmlyZWQgaXMgMgorCitGb2N1cy9ibHVyIG9u
IGRpc2FibGVkIGlucHV0CisKK1BBU1MgZm9jdXNFdmVudHNGaXJlZCBpcyAwCitQQVNTIGJsdXJF
dmVudHNGaXJlZCBpcyAwCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImFmdGVy
IgorUEFTUyBmb2N1c0V2ZW50c0ZpcmVkIGlzIDAKK1BBU1MgYmx1ckV2ZW50c0ZpcmVkIGlzIDAK
K1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYmVmb3JlIgorUEFTUyBmb2N1c0V2
ZW50c0ZpcmVkIGlzIDAKK1BBU1MgYmx1ckV2ZW50c0ZpcmVkIGlzIDAKKworRm9jdXMvYmx1ciBv
biByZWFkb25seSBpbnB1dAorCitQQVNTIGZvY3VzRXZlbnRzRmlyZWQgaXMgMQorUEFTUyBibHVy
RXZlbnRzRmlyZWQgaXMgMAorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJhZnRl
ciIKK1BBU1MgZm9jdXNFdmVudHNGaXJlZCBpcyAxCitQQVNTIGJsdXJFdmVudHNGaXJlZCBpcyAx
CitQQVNTIGZvY3VzRXZlbnRzRmlyZWQgaXMgMQorUEFTUyBibHVyRXZlbnRzRmlyZWQgaXMgMQog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRz
L2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1mb2N1cy1hbmQtYmx1ci1ldmVudHMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1l
ZGl0YWJsZS1jb21wb25lbnRzLWZvY3VzLWFuZC1ibHVyLWV2ZW50cy5odG1sCmluZGV4IDE1YjA0
YjRhMzFjMGQwNDEyZWYzMGQ3NDRkMmViYzllNThhNDBkNDYuLmE1MGRmMTM5NmQ0NDVkOGE5YTUy
ZmFjMDA1MmI1NzQyODUxMTgzZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWZv
Y3VzLWFuZC1ibHVyLWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWZvY3Vz
LWFuZC1ibHVyLWV2ZW50cy5odG1sCkBAIC0xMTQsNiArMTE0LDUyIEBAIGFzc2VydEZvY3VzQW5k
Qmx1ckNvdW50KDIsIDEpOwogLy8gRm9jdXMgb3V0LgogVUlIZWxwZXIua2V5RG93bigiXHQiLCBb
InNoaWZ0S2V5Il0pOwogYXNzZXJ0Rm9jdXNBbmRCbHVyQ291bnQoMiwgMik7CityZXNldEZvY3Vz
QW5kQmx1ckNvdW50KCk7CisKK2RlYnVnKCJcbkZvY3VzL2JsdXIgb24gZGlzYWJsZWQgaW5wdXRc
biIpCisKK2lucHV0LmRpc2FibGVkID0gdHJ1ZTsKKworVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KGJlZm9yZSk7CisvLyBUYWIgdG8gZm9jdXMgc2hvdWxkIHNraXAgZGlzYWJsZWQgaW5wdXQuCitV
SUhlbHBlci5rZXlEb3duKCJcdCIpOworYXNzZXJ0Rm9jdXNBbmRCbHVyQ291bnQoMCwgMCk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAiYWZ0ZXIi
KTsKKy8vIFNoaWZ0K1RhYiBzaG91bGQgc2tpcCBkaXNhYmxlZCBpbnB1dC4KK1VJSGVscGVyLmtl
eURvd24oIlx0IiwgWyJzaGlmdEtleSJdKTsKK2Fzc2VydEZvY3VzQW5kQmx1ckNvdW50KDAsIDAp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgImJl
Zm9yZSIpOworLy8gQ2xpY2tpbmcgb24gYW55IHBhcnQgb2YgdGhlIGNvbnRyb2wgc2hvdWxkIG5v
dCBmb2N1cy9ibHVyIGV2ZW50cy4KK21vdXNlQ2xpY2tPbigyMCwgY2VudGVyKTsKK21vdXNlQ2xp
Y2tPbig2MCwgY2VudGVyKTsKK21vdXNlQ2xpY2tPbigxMjAsIGNlbnRlcik7Cittb3VzZUNsaWNr
T24oMjUwLCBjZW50ZXIpOworbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoICsgNSwgaW5w
dXQub2Zmc2V0SGVpZ2h0ICsgNSk7Cithc3NlcnRGb2N1c0FuZEJsdXJDb3VudCgwLCAwKTsKK3Jl
c2V0Rm9jdXNBbmRCbHVyQ291bnQoKTsKKworZGVidWcoIlxuRm9jdXMvYmx1ciBvbiByZWFkb25s
eSBpbnB1dFxuIikKKworaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKK2lucHV0LnJlYWRPbmx5ID0g
dHJ1ZTsKKworVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGJlZm9yZSk7CisvLyBUYWIgdG8gZm9j
dXMgc2hvdWxkIG5vdCBza2lwIHJlYWRvbmx5IGlucHV0LgorVUlIZWxwZXIua2V5RG93bigiXHQi
KTsKK2Fzc2VydEZvY3VzQW5kQmx1ckNvdW50KDEsIDApOworVUlIZWxwZXIua2V5RG93bigiXHQi
KTsKK1VJSGVscGVyLmtleURvd24oIlx0Iik7CitVSUhlbHBlci5rZXlEb3duKCJcdCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgImFmdGVyIik7
Cithc3NlcnRGb2N1c0FuZEJsdXJDb3VudCgxLCAxKTsKKy8vIENsaWNraW5nIG9uIGFueSBwYXJ0
IG9mIHRoZSBjb250cm9sIHNob3VsZCBmaXJlIHRoZSBhcHByb3ByaWF0ZSBldmVudHMuCittb3Vz
ZUNsaWNrT24oMjAsIGNlbnRlcik7Cittb3VzZUNsaWNrT24oNjAsIGNlbnRlcik7Cittb3VzZUNs
aWNrT24oMTIwLCBjZW50ZXIpOworbW91c2VDbGlja09uKDI1MCwgY2VudGVyKTsKK21vdXNlQ2xp
Y2tPbihpbnB1dC5vZmZzZXRXaWR0aCArIDUsIGlucHV0Lm9mZnNldEhlaWdodCArIDUpOworYXNz
ZXJ0Rm9jdXNBbmRCbHVyQ291bnQoMSwgMSk7CityZXNldEZvY3VzQW5kQmx1ckNvdW50KCk7CiAK
IDwvc2NyaXB0PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0
ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1rZXlib2FyZC1l
dmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRp
dGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMta2V5Ym9hcmQtZXZlbnRz
LWV4cGVjdGVkLnR4dAppbmRleCBkYzU4NzZiNzM1ODQ2NDlmODM5NWIwMWM3ZWUzYjJmZWE4OTk5
ZTQ2Li40YzIwNGZkN2YxODUxM2FmNjIwYmZiZjk5MTAzYzIyYWI1MjkxOTAxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2Rh
dGUtZWRpdGFibGUtY29tcG9uZW50cy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0
ZS1lZGl0YWJsZS1jb21wb25lbnRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTUz
LDYgKzUzLDE0IEBAIERlbGV0ZSBrZXkKIFBBU1MgaW5wdXQudmFsdWUgaXMgIiIKIFBBU1MgY2hh
bmdlRXZlbnRzRmlyZWQgaXMgMQogUEFTUyBpbnB1dEV2ZW50c0ZpcmVkIGlzIDEKKworRGlzYWJs
ZWQvcmVhZG9ubHkKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMjAtMDktMDEiCitQQVNTIGlucHV0
LnZhbHVlIGlzICIyMDIwLTAxLTAxIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAyMC0wMS0wMSIK
K1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMjAtMDEtMDIiCitQQVNTIGNoYW5nZUV2ZW50c0ZpcmVk
IGlzIDIKK1BBU1MgaW5wdXRFdmVudHNGaXJlZCBpcyAyCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25l
bnRzLWtleWJvYXJkLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMta2V5Ym9hcmQt
ZXZlbnRzLmh0bWwKaW5kZXggNTJjYTY2ODY4Zjc0ZDYwNjk0ZThlZDA4Zjc1YmQ4M2MxMzkzOTA5
ZS4uNjJmYzBkMTg0YWFjMjQzODFmZTJmOGIxOWE4ZTMwMzkwNjY1YTYwOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRl
LWVkaXRhYmxlLWNvbXBvbmVudHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxl
LWNvbXBvbmVudHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKQEAgLTE2NCw2ICsxNjQsMjQgQEAgYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKICAgICBzaG91bGRCZSgiY2hhbmdl
RXZlbnRzRmlyZWQiLCAiMSIpOwogICAgIHNob3VsZEJlKCJpbnB1dEV2ZW50c0ZpcmVkIiwgIjEi
KTsKIAorICAgIGJlZ2luVGVzdCgiRGlzYWJsZWQvcmVhZG9ubHkiLCAiMjAyMC0wOS0wMSIpOwor
ICAgIGlucHV0LmRpc2FibGVkID0gdHJ1ZTsKKyAgICBVSUhlbHBlci5rZXlEb3duKCIxIik7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJpbnB1dC52YWx1ZSIsICIyMDIwLTA5LTAxIik7Cisg
ICAgaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKKyAgICBpbnB1dC5mb2N1cygpOworICAgIFVJSGVs
cGVyLmtleURvd24oIjEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlucHV0LnZhbHVl
IiwgIjIwMjAtMDEtMDEiKTsKKyAgICBpbnB1dC5yZWFkT25seSA9IHRydWU7CisgICAgVUlIZWxw
ZXIua2V5RG93bigicmlnaHRBcnJvdyIpOworICAgIFVJSGVscGVyLmtleURvd24oIjIiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlucHV0LnZhbHVlIiwgIjIwMjAtMDEtMDEiKTsKKyAg
ICBpbnB1dC5yZWFkT25seSA9IGZhbHNlOworICAgIFVJSGVscGVyLmtleURvd24oIjIiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlucHV0LnZhbHVlIiwgIjIwMjAtMDEtMDIiKTsKKyAg
ICBzaG91bGRCZSgiY2hhbmdlRXZlbnRzRmlyZWQiLCAiMiIpOworICAgIHNob3VsZEJlKCJpbnB1
dEV2ZW50c0ZpcmVkIiwgIjIiKTsKKwogICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVu
dHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUt
ZWRpdGFibGUtY29tcG9uZW50cy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IDQ3MGNh
MDdlNzc1YzIxNGE3NDg0NWNiYTVmZWIwOGJlMDNlZTY3OTUuLjc0ZjIzYTcyODYzZGQ1NmFjZmY1
ZDE0NTY4MDIyNWM5NjNjN2ZiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLW1v
dXNlLWV2ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRl
L2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2Ut
ZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMywxMSArMywyMSBAQCBUZXN0IGZvciBtb3VzZSBldmVu
dHMgZm9yIDxpbnB1dCB0eXBlPWRhdGU+CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAor
RW5hYmxlZCBJbnB1dAorCiBQQVNTIGlucHV0LnZhbHVlIGlzICIyMDIwLTA5LTI2IgogUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMjAyMC0wOS0xMiIKIFBBU1MgaW5wdXQudmFsdWUgaXMgIjMwMzAtMDkt
MTIiCiBQQVNTIGlucHV0LnZhbHVlIGlzICIzMDMwLTA1LTEyIgogUEFTUyBpbnB1dC52YWx1ZSBp
cyAiMzAzMC0wNS0xMiIKK1BBU1MgY2xpY2tFdmVudHNGaXJlZCBpcyA0CisKK0Rpc2FibGVkIElu
cHV0CisKK1BBU1MgY2xpY2tFdmVudHNGaXJlZCBpcyAwCisKK1JlYWRvbmx5IElucHV0CisKIFBB
U1MgY2xpY2tFdmVudHNGaXJlZCBpcyA0CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxl
LWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLW1vdXNlLWV2ZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRl
LWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2UtZXZlbnRzLmh0bWwKaW5kZXggNTVkMTk2ZDU0ZjJj
YzBhMTRlYWRkNjVjNDUxYjM2NjY4OGQ0NDQxYS4uZWM1NTY4Yzg2ZTIzZTk5YjVhYWU2ZmNmNzY1
YjI2OTRjNDk0YWNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2UtZXZl
bnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUt
Y29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2UtZXZlbnRzLmh0bWwKQEAg
LTQ5LDYgKzQ5LDggQEAgZnVuY3Rpb24gbW91c2VDbGlja09uKHgsIHkpIHsKIGlucHV0LmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgb25DbGlja0V2ZW50KTsKIGNvbnN0IGNlbnRlciA9IGlucHV0
Lm9mZnNldEhlaWdodCAvIDI7CiAKK2RlYnVnKCJFbmFibGVkIElucHV0XG4iKTsKKwogLy8gQ2xp
Y2sgb24gbW9udGggZmllbGQuCiBtb3VzZUNsaWNrT24oMjAsIGNlbnRlcik7CiBVSUhlbHBlci5r
ZXlEb3duKCI5Iik7CkBAIC04MCw2ICs4Miw0MiBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlu
cHV0LnZhbHVlIiwgIjMwMzAtMDUtMTIiKTsKIAogc2hvdWxkQmUoImNsaWNrRXZlbnRzRmlyZWQi
LCAiNCIpOwogCitkZWJ1ZygiXG5EaXNhYmxlZCBJbnB1dFxuIik7CitjbGlja0V2ZW50c0ZpcmVk
ID0gMDsKK2lucHV0LmRpc2FibGVkID0gdHJ1ZTsKK2lucHV0LnJlYWRPbmx5ID0gZmFsc2U7CisK
Ky8vIENsaWNrIG9uIG1vbnRoIGZpZWxkLgorbW91c2VDbGlja09uKDIwLCBjZW50ZXIpOworLy8g
Q2xpY2sgb24gZGF5IGZpZWxkLgorbW91c2VDbGlja09uKDYwLCBjZW50ZXIpOworLy8gQ2xpY2sg
b24geWVhciBmaWVsZC4KK21vdXNlQ2xpY2tPbigxMjAsIGNlbnRlcik7CisvLyBDbGljayBvbiBj
b250cm9sLCBidXQgbm90IGEgc3BlY2lmaWMgZmllbGQsIGRlZmF1bHRzIHRvIGZpcnN0IGZpZWxk
LgorbW91c2VDbGlja09uKDI1MCwgY2VudGVyKTsKKy8vIENsaWNrIG91dHNpZGUgY29udHJvbC4K
K21vdXNlQ2xpY2tPbihpbnB1dC5vZmZzZXRXaWR0aCArIDUsIGlucHV0Lm9mZnNldEhlaWdodCAr
IDUpOworCitzaG91bGRCZSgiY2xpY2tFdmVudHNGaXJlZCIsICIwIik7CisKK2RlYnVnKCJcblJl
YWRvbmx5IElucHV0XG4iKTsKK2NsaWNrRXZlbnRzRmlyZWQgPSAwOworaW5wdXQuZGlzYWJsZWQg
PSBmYWxzZTsKK2lucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKKworLy8gQ2xpY2sgb24gbW9udGggZmll
bGQuCittb3VzZUNsaWNrT24oMjAsIGNlbnRlcik7CisvLyBDbGljayBvbiBkYXkgZmllbGQuCitt
b3VzZUNsaWNrT24oNjAsIGNlbnRlcik7CisvLyBDbGljayBvbiB5ZWFyIGZpZWxkLgorbW91c2VD
bGlja09uKDEyMCwgY2VudGVyKTsKKy8vIENsaWNrIG9uIGNvbnRyb2wsIGJ1dCBub3QgYSBzcGVj
aWZpYyBmaWVsZCwgZGVmYXVsdHMgdG8gZmlyc3QgZmllbGQuCittb3VzZUNsaWNrT24oMjUwLCBj
ZW50ZXIpOworLy8gQ2xpY2sgb3V0c2lkZSBjb250cm9sLgorbW91c2VDbGlja09uKGlucHV0Lm9m
ZnNldFdpZHRoICsgNSwgaW5wdXQub2Zmc2V0SGVpZ2h0ICsgNSk7CisKK3Nob3VsZEJlKCJjbGlj
a0V2ZW50c0ZpcmVkIiwgIjQiKTsKKwogPC9zY3JpcHQ+CiAKIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>
<flag name="review"
          id="423045"
          type_id="1"
          status="+"
          setter="hi"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>407818</attachid>
            <date>2020-09-02 14:43:26 -0700</date>
            <delta_ts>2020-09-03 07:40:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-216005-20200902174324.patch</filename>
            <type>text/plain</type>
            <size>20382</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NDY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI5YmQ5YTg1NjM4OTMx
ZjgwZjQ4MTcyZTYyOTY5NjMyNDI5OTdhZC4uMGIxOGZiZmVjMjUzOGU5Njg2NTllZGI0OTAxMTJm
NDZkMzdjOWQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIwLTA5LTAxICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIEFkZCBk
aXNhYmxlZCBhbmQgcmVhZG9ubHkgYmVoYXZpb3JzIHRvIGRhdGUgaW5wdXRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTYwMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgQWRkZWQgbWV0aG9kcyB0byBFZGl0
Q29udHJvbE93bmVyIGFuZCBGaWVsZE93bmVyIHNvIHRoYXQKKyAgICAgICAgRGF0ZVRpbWVFZGl0
RWxlbWVudCBhbmQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQgYXJlIGF3YXJlIG9mIHRoZSByZWFkb25s
eQorICAgICAgICBhbmQgZGlzYWJsZWQgc3RhdGVzIG9mIHRoZWlyIGNvbnRhaW5pbmcgZWxlbWVu
dC4KKworICAgICAgICBEaXNhYmxlZCBpbnB1dHMgc2hvdWxkIG5vdCBiZSBmb2N1c2FibGUgYW5k
IHNob3VsZCBub3QgcmVzcG9uZCB0byBhbnkKKyAgICAgICAga2V5Ym9hcmQgZXZlbnRzLiBPbiB0
aGUgb3RoZXIgaGFuZCwgcmVhZG9ubHkgaW5wdXRzIHNob3VsZCByZXNwb25kIHRvCisgICAgICAg
IHNvbWUga2V5Ym9hcmQgZXZlbnRzIChzdWNoIGFzIGxlZnQgYXJyb3csIHJpZ2h0IGFycm93LCBh
bmQgdGhlIHRhYgorICAgICAgICBrZXkpLCBidXQgc2hvdWxkIG5vdCBiZSBlZGl0YWJsZS4KKwor
ICAgICAgICAqIGNzcy9odG1sLmNzczogVXBkYXRlZCB0byBhZGQgR3JheVRleHQgY29sb3IgZm9y
IGRpc2FibGVkIGZpZWxkcy4KKyAgICAgICAgKGlucHV0W2Rpc2FibGVkXTo6LXdlYmtpdC1kYXRl
dGltZS1lZGl0LXllYXItZmllbGQsKToKKyAgICAgICAgKiBodG1sL0Jhc2VDaG9vc2VyT25seURh
dGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhc2VDaG9vc2VyT25s
eURhdGVBbmRUaW1lSW5wdXRUeXBlOjppc0VkaXRDb250cm9sT3duZXJEaXNhYmxlZCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZTo6
aXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHkgY29uc3QpOgorICAgICAgICAqIGh0bWwvQmFzZUNo
b29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9E
YXRlVGltZUVkaXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRWRpdEVs
ZW1lbnQ6OmlzRmllbGRPd25lckRpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lRWRpdEVsZW1lbnQ6OmlzRmllbGRPd25lclJlYWRPbmx5IGNvbnN0KToKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9zaGFk
b3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVG
aWVsZEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorCisgICAgICAgIElmIHRoZSBvd25p
bmcgZWxlbWVudCBpcyBkaXNhYmxlZCBvciByZWFkb25seSwgZWxpZGUgYSBjYWxsIHRvCisgICAg
ICAgIGhhbmRsZUtleWJvYXJkRXZlbnQsIHdoaWNoIGlzIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNz
ZXMgdG8gYWNoaWV2ZQorICAgICAgICBlZGl0YWJpbGl0eS4KKworICAgICAgICAoV2ViQ29yZTo6
RGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1bHRLZXlib2FyZEV2ZW50SGFuZGxlcik6IERpc2Fi
bGVkIGlucHV0cyBzaG91bGQgbm90IHJlc3BvbmQgdG8gYW55IGV2ZW50cy4KKyAgICAgICAgKFdl
YkNvcmU6OkRhdGVUaW1lRmllbGRFbGVtZW50Ojppc0ZpZWxkT3duZXJEaXNhYmxlZCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUZpZWxkRWxlbWVudDo6aXNGaWVsZE93bmVyUmVh
ZE9ubHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVGaWVsZEVsZW1lbnQ6Omlz
Rm9jdXNhYmxlIGNvbnN0KTogRGlzYWJsZWQgaW5wdXRzIHNob3VsZCBub3QgYmUgZm9jdXNhYmxl
LgorICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50Lmg6CisKIDIwMjAt
MDktMDIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBBbGxvdyBkaXJlY3QgY3JlYXRpb24gb2YgcmVwbGFjZW1lbnQgY29kZWMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1s
LmNzcwppbmRleCBlZDY4ZWQ5ODY1MjU4YjJlNzMwMzA3ODM1ZGQzNGFlZDFmZjllYWZhLi5jNTgw
YWQyNzhjZmEzNWIxNzk4NzI1ZTdmM2FhMzZmZDBkZGU2MTFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCkBA
IC00ODgsNiArNDg4LDggQEAgaW5wdXQ6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7CiAj
ZW5kaWYKIH0KIAorLyogRklYTUU6IFN0eWxpbmcgaW5uZXIgZWxlbWVudHMgb2YgdGhlIGRhdGUg
Y29udHJvbCBzaG91bGQgYmUgc3BlY2lmaWMgdG8gaW5wdXRbdHlwZT0iZGF0ZSJdLiAqLworCiBp
bnB1dDo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHsKICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKQEAgLTUxNyw2ICs1MTksMTMgQEAgaW5wdXQ6Oi13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC1kYXktZmllbGQ6Zm9jdXMgewogICAgIG91dGxpbmU6IG5vbmU7CiB9
CiAKK2lucHV0W2Rpc2FibGVkXTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXllYXItZmllbGQsCitp
bnB1dFtkaXNhYmxlZF06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCwKK2lucHV0
W2Rpc2FibGVkXTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCwKK2lucHV0W2Rpc2Fi
bGVkXTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXRleHQgeworICAgIGNvbG9yOiBHcmF5VGV4dDsK
K30KKwogaW5wdXQ6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC10ZXh0IHsKICAgICBkaXNwbGF5OiBp
bmxpbmU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9vc2VyT25s
eURhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29z
ZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCmluZGV4IGQ2ZWJjYTBlZjBiMzAzYmZkYmUy
MjNjMGIzNzEyYzIxOGE0ZGZiY2UuLjhkODc4M2Y5ODg0ZjE4MWYyZGE3YTgyMDhlN2FjOGI4MGMz
MDIxM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29zZXJPbmx5RGF0
ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29z
ZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwCkBAIC0zMjAsNiArMzIwLDE4IEBAIHZvaWQg
QmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmRpZENoYW5nZVZhbHVlRnJvbUNv
bnRyb2woKQogICAgICAgICBtX2RhdGVUaW1lQ2hvb3Nlci0+c2hvd0Nob29zZXIocGFyYW1ldGVy
cyk7CiB9CiAKK2Jvb2wgQmFzZUNob29zZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmlzRWRp
dENvbnRyb2xPd25lckRpc2FibGVkKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoZWxlbWVudCgpKTsK
KyAgICByZXR1cm4gZWxlbWVudCgpLT5pc0Rpc2FibGVkRm9ybUNvbnRyb2woKTsKK30KKworYm9v
bCBCYXNlQ2hvb3Nlck9ubHlEYXRlQW5kVGltZUlucHV0VHlwZTo6aXNFZGl0Q29udHJvbE93bmVy
UmVhZE9ubHkoKSBjb25zdAoreworICAgIEFTU0VSVChlbGVtZW50KCkpOworICAgIHJldHVybiBl
bGVtZW50KCktPmlzUmVhZE9ubHkoKTsKK30KKwogQXRvbVN0cmluZyBCYXNlQ2hvb3Nlck9ubHlE
YXRlQW5kVGltZUlucHV0VHlwZTo6bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKGVsZW1lbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VDaG9v
c2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VD
aG9vc2VyT25seURhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5kZXggOWZkNDRiZjgzYjAxOGFjZmU4
ZTk3ODM1YTg5NGM0NmUxMThlNWIxZS4uYzJiZDA4MDk1OTFiNTRjOTU1MzAyM2U3Njc4NjVjMjM5
OTMzNjcyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlQ2hvb3Nlck9ubHlE
YXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZUNob29z
ZXJPbmx5RGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApAQCAtNjUsNiArNjUsOCBAQCBwcml2YXRlOgog
ICAgIC8vIERhdGVUaW1lRWRpdEVsZW1lbnQ6OkVkaXRDb250cm9sT3duZXIgZnVuY3Rpb25zOgog
ICAgIHZvaWQgZGlkQmx1ckZyb21Db250cm9sKCkgZmluYWw7CiAgICAgdm9pZCBkaWRDaGFuZ2VW
YWx1ZUZyb21Db250cm9sKCkgZmluYWw7CisgICAgYm9vbCBpc0VkaXRDb250cm9sT3duZXJEaXNh
YmxlZCgpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHko
KSBjb25zdCBmaW5hbDsKICAgICBBdG9tU3RyaW5nIGxvY2FsZUlkZW50aWZpZXIoKSBjb25zdCBm
aW5hbDsKIAogICAgIC8vIElucHV0VHlwZSBmdW5jdGlvbnM6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmluZGV4IGNiNTE0NDZhOTY1
ZjNmNmE0MmZiZmNiOTUwODg2NzViY2E4NDYwMTEuLmZiZGM5MzQ2YTRlMDdlMjQ4NmYzZDFkYWQ5
OTcyYTMzMTFiNTZlYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRWRpdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRWRpdEVsZW1lbnQuY3BwCkBAIC0yNTYsNiArMjU2LDE2IEBAIGJvb2wgRGF0ZVRpbWVF
ZGl0RWxlbWVudDo6Zm9jdXNPblByZXZpb3VzRmllbGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1l
bnQmIGZpZWxkCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIERhdGVUaW1lRWRpdEVsZW1l
bnQ6OmlzRmllbGRPd25lckRpc2FibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9lZGl0Q29u
dHJvbE93bmVyICYmIG1fZWRpdENvbnRyb2xPd25lci0+aXNFZGl0Q29udHJvbE93bmVyRGlzYWJs
ZWQoKTsKK30KKworYm9vbCBEYXRlVGltZUVkaXRFbGVtZW50Ojppc0ZpZWxkT3duZXJSZWFkT25s
eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZWRpdENvbnRyb2xPd25lciAmJiBtX2VkaXRDb250
cm9sT3duZXItPmlzRWRpdENvbnRyb2xPd25lclJlYWRPbmx5KCk7Cit9CisKIEF0b21TdHJpbmcg
RGF0ZVRpbWVFZGl0RWxlbWVudDo6bG9jYWxlSWRlbnRpZmllcigpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fZWRpdENvbnRyb2xPd25lciA/IG1fZWRpdENvbnRyb2xPd25lci0+bG9jYWxlSWRlbnRp
ZmllcigpIDogbnVsbEF0b20oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRWRpdEVsZW1lbnQuaAppbmRleCA0MjAzODZjNTJmODIxMGZhODVlNDI3OTE3ZWNjNTJi
Y2Q1ZDIwNGE2Li4zZTMxODU3YzgzMDQyYTA4MmUyNjU2YTdmOWZkMTM2OGIwYTAxM2RlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCkBA
IC00Niw2ICs0Niw4IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZEJsdXJGcm9t
Q29udHJvbCgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVZhbHVlRnJvbUNv
bnRyb2woKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lRmllbGRz
U3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIGNvbnN0ID0gMDsKKyAgICAgICAgdmly
dHVhbCBib29sIGlzRWRpdENvbnRyb2xPd25lckRpc2FibGVkKCkgY29uc3QgPSAwOworICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNFZGl0Q29udHJvbE93bmVyUmVhZE9ubHkoKSBjb25zdCA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgQXRvbVN0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgPSAwOwog
ICAgIH07CiAKQEAgLTk2LDYgKzk4LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGZpZWxkVmFsdWVD
aGFuZ2VkKCkgZmluYWw7CiAgICAgYm9vbCBmb2N1c09uTmV4dEZpZWxkKGNvbnN0IERhdGVUaW1l
RmllbGRFbGVtZW50JikgZmluYWw7CiAgICAgYm9vbCBmb2N1c09uUHJldmlvdXNGaWVsZChjb25z
dCBEYXRlVGltZUZpZWxkRWxlbWVudCYpIGZpbmFsOworICAgIGJvb2wgaXNGaWVsZE93bmVyRGlz
YWJsZWQoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGlzRmllbGRPd25lclJlYWRPbmx5KCkgY29u
c3QgZmluYWw7CiAgICAgQXRvbVN0cmluZyBsb2NhbGVJZGVudGlmaWVyKCkgY29uc3QgZmluYWw7
CiAKICAgICBWZWN0b3I8UmVmPERhdGVUaW1lRmllbGRFbGVtZW50PiwgbWF4aW11bU51bWJlck9m
RmllbGRzPiBtX2ZpZWxkczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0RhdGVUaW1lRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRmllbGRFbGVtZW50LmNwcAppbmRleCBmMWRiMWNlYjFiZjgyYTBmYTgyZjY0ODIyYjY5
Mzg4NzhkMjFhYmViLi5kM2RiZTI5YmQ3Yjc0MDRjZWIyMmZjMzk5ZjFlNzdkZDI3YzlhMjcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1l
bnQuY3BwCkBAIC02MSw5ICs2MSwxMiBAQCB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkZWZh
dWx0RXZlbnRIYW5kbGVyKEV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoaXM8S2V5Ym9hcmRFdmVu
dD4oZXZlbnQpKSB7CiAgICAgICAgIGF1dG8mIGtleWJvYXJkRXZlbnQgPSBkb3duY2FzdDxLZXli
b2FyZEV2ZW50PihldmVudCk7Ci0gICAgICAgIGhhbmRsZUtleWJvYXJkRXZlbnQoa2V5Ym9hcmRF
dmVudCk7Ci0gICAgICAgIGlmIChrZXlib2FyZEV2ZW50LmRlZmF1bHRIYW5kbGVkKCkpCi0gICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghaXNGaWVsZE93bmVyRGlzYWJsZWQoKSAmJiAh
aXNGaWVsZE93bmVyUmVhZE9ubHkoKSkgeworICAgICAgICAgICAgaGFuZGxlS2V5Ym9hcmRFdmVu
dChrZXlib2FyZEV2ZW50KTsKKyAgICAgICAgICAgIGlmIChrZXlib2FyZEV2ZW50LmRlZmF1bHRI
YW5kbGVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAg
ZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKGtleWJvYXJkRXZlbnQpOwogICAgICAgICBpZiAo
a2V5Ym9hcmRFdmVudC5kZWZhdWx0SGFuZGxlZCgpKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAt
NzQsNiArNzcsOSBAQCB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5k
bGVyKEV2ZW50JiBldmVudCkKIAogdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6ZGVmYXVsdEtl
eWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGtleWJvYXJkRXZlbnQpCiB7CisgICAg
aWYgKGlzRmllbGRPd25lckRpc2FibGVkKCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChr
ZXlib2FyZEV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50KQogICAgICAg
ICByZXR1cm47CiAKQEAgLTg5LDYgKzk1LDkgQEAgdm9pZCBEYXRlVGltZUZpZWxkRWxlbWVudDo6
ZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmIGtleWJvYXJkRXYKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChpc0ZpZWxkT3duZXJSZWFkT25seSgpKQor
ICAgICAgICByZXR1cm47CisKICAgICAvLyBDbGVhciB2YWx1ZSB3aGVuIHByZXNzaW5nIGJhY2tz
cGFjZSBvciBkZWxldGUuCiAgICAgaWYgKGtleSA9PSAiVSswMDA4IiB8fCBrZXkgPT0gIlUrMDA3
RiIpIHsKICAgICAgICAga2V5Ym9hcmRFdmVudC5zZXREZWZhdWx0SGFuZGxlZCgpOwpAQCAtOTcs
NiArMTA2LDIzIEBAIHZvaWQgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmRlZmF1bHRLZXlib2FyZEV2
ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50JiBrZXlib2FyZEV2CiAgICAgfQogfQogCitib29sIERh
dGVUaW1lRmllbGRFbGVtZW50Ojppc0ZpZWxkT3duZXJEaXNhYmxlZCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fZmllbGRPd25lciAmJiBtX2ZpZWxkT3duZXItPmlzRmllbGRPd25lckRpc2FibGVk
KCk7Cit9CisKK2Jvb2wgRGF0ZVRpbWVGaWVsZEVsZW1lbnQ6OmlzRmllbGRPd25lclJlYWRPbmx5
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9maWVsZE93bmVyICYmIG1fZmllbGRPd25lci0+aXNG
aWVsZE93bmVyUmVhZE9ubHkoKTsKK30KKworYm9vbCBEYXRlVGltZUZpZWxkRWxlbWVudDo6aXNG
b2N1c2FibGUoKSBjb25zdAoreworICAgIGlmIChpc0ZpZWxkT3duZXJEaXNhYmxlZCgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIEhUTUxFbGVtZW50Ojppc0ZvY3VzYWJsZSgp
OworfQorCiB2b2lkIERhdGVUaW1lRmllbGRFbGVtZW50OjpkaXNwYXRjaEJsdXJFdmVudChSZWZQ
dHI8RWxlbWVudD4mJiBuZXdGb2N1c2VkRWxlbWVudCkKIHsKICAgICBpZiAobV9maWVsZE93bmVy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50
LmgKaW5kZXggZmYzYjY2M2FjMzZlZDU2NmM5N2RlZDQ2MjFmODkzYzM4ZDYxOWExMS4uNGEyYTI4
ZGI1NGY4MGYwMzQ3NjZiZmUyNGVlZWQxMmM1ZWIxMzZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudC5oCkBAIC00OSwxMSArNDksMTQg
QEAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZmllbGRWYWx1ZUNoYW5nZWQoKSA9IDA7
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBmb2N1c09uTmV4dEZpZWxkKGNvbnN0IERhdGVUaW1lRmll
bGRFbGVtZW50JikgPSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZm9jdXNPblByZXZpb3VzRmll
bGQoY29uc3QgRGF0ZVRpbWVGaWVsZEVsZW1lbnQmKSA9IDA7CisgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0ZpZWxkT3duZXJEaXNhYmxlZCgpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBib29s
IGlzRmllbGRPd25lclJlYWRPbmx5KCkgY29uc3QgPSAwOwogICAgICAgICB2aXJ0dWFsIEF0b21T
dHJpbmcgbG9jYWxlSWRlbnRpZmllcigpIGNvbnN0ID0gMDsKICAgICB9OwogCiAgICAgdm9pZCBk
ZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaXNwYXRjaEJs
dXJFdmVudChSZWZQdHI8RWxlbWVudD4mJiBuZXdGb2N1c2VkRWxlbWVudCkgb3ZlcnJpZGU7Cisg
ICAgYm9vbCBpc0ZvY3VzYWJsZSgpIGNvbnN0IGZpbmFsOwogCiAgICAgdmlydHVhbCBib29sIGhh
c1ZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVUaW1lRmll
bGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpID0gMDsKQEAgLTc4LDYgKzgxLDggQEAgcHJp
dmF0ZToKICAgICBib29sIHN1cHBvcnRzRm9jdXMoKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZv
aWQgZGVmYXVsdEtleWJvYXJkRXZlbnRIYW5kbGVyKEtleWJvYXJkRXZlbnQmKTsKKyAgICBib29s
IGlzRmllbGRPd25lckRpc2FibGVkKCkgY29uc3Q7CisgICAgYm9vbCBpc0ZpZWxkT3duZXJSZWFk
T25seSgpIGNvbnN0OwogCiAgICAgV2Vha1B0cjxGaWVsZE93bmVyPiBtX2ZpZWxkT3duZXI7CiB9
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDhjMGExYzY0NWI3ZWQ5OTEzZTEzNDU4ZjY5YjljZDQyOWRiYTliNmMuLjdiMjUy
NjEwY2YxYTc0OGIyOGVhNjJkOWFiOWEzOTllNTBlOWE3YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAyMC0wOS0wMSAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY09TXSBBZGQgZGlzYWJsZWQgYW5kIHJlYWRvbmx5IGJlaGF2aW9ycyB0byBkYXRl
IGlucHV0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE2MDA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgIEFk
ZGVkIHRlc3RzIGZvciBkaXNhYmxlZCBhbmQgcmVhZG9ubHkgZGF0ZSBpbnB1dHMgaW4gZXhpc3Rp
bmcgdGVzdCBmaWxlcy4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxl
LWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWZvY3VzLWFuZC1ibHVyLWV2ZW50
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUt
Y29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtZm9jdXMtYW5kLWJsdXItZXZlbnRz
Lmh0bWw6CisgICAgICAgICogZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50
cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUt
ZWRpdGFibGUtY29tcG9uZW50cy1rZXlib2FyZC1ldmVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9u
ZW50cy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvZGF0
ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLW1vdXNl
LWV2ZW50cy5odG1sOgorCiAyMDIwLTA5LTAyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgZGlyZWN0IGNyZWF0aW9uIG9mIHJlcGxh
Y2VtZW50IGNvZGVjCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0
ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1mb2N1cy1hbmQt
Ymx1ci1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtZm9jdXMtYW5k
LWJsdXItZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA0ZGU2ODFmN2M4MWU5Nzc2NTM4NzVjODRh
MTc1YTI1NGMxMjE3MzYwLi5lZGFkNWMzNmY4OThhZmM0MzA1NTM2MTk4YTgzMjMwM2IxODYxOTJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1j
b21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1mb2N1cy1hbmQtYmx1ci1ldmVudHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRh
YmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWZvY3VzLWFuZC1ibHVyLWV2
ZW50cy1leHBlY3RlZC50eHQKQEAgLTM0LDYgKzM0LDI3IEBAIFBBU1MgZm9jdXNFdmVudHNGaXJl
ZCBpcyAyCiBQQVNTIGJsdXJFdmVudHNGaXJlZCBpcyAxCiBQQVNTIGZvY3VzRXZlbnRzRmlyZWQg
aXMgMgogUEFTUyBibHVyRXZlbnRzRmlyZWQgaXMgMgorCitGb2N1cy9ibHVyIG9uIGRpc2FibGVk
IGlucHV0CisKK1BBU1MgZm9jdXNFdmVudHNGaXJlZCBpcyAwCitQQVNTIGJsdXJFdmVudHNGaXJl
ZCBpcyAwCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgImFmdGVyIgorUEFTUyBm
b2N1c0V2ZW50c0ZpcmVkIGlzIDAKK1BBU1MgYmx1ckV2ZW50c0ZpcmVkIGlzIDAKK1BBU1MgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYmVmb3JlIgorUEFTUyBmb2N1c0V2ZW50c0ZpcmVk
IGlzIDAKK1BBU1MgYmx1ckV2ZW50c0ZpcmVkIGlzIDAKKworRm9jdXMvYmx1ciBvbiByZWFkb25s
eSBpbnB1dAorCitQQVNTIGZvY3VzRXZlbnRzRmlyZWQgaXMgMQorUEFTUyBibHVyRXZlbnRzRmly
ZWQgaXMgMAorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJhZnRlciIKK1BBU1Mg
Zm9jdXNFdmVudHNGaXJlZCBpcyAxCitQQVNTIGJsdXJFdmVudHNGaXJlZCBpcyAxCitQQVNTIGZv
Y3VzRXZlbnRzRmlyZWQgaXMgMQorUEFTUyBibHVyRXZlbnRzRmlyZWQgaXMgMQogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRp
dGFibGUtY29tcG9uZW50cy1mb2N1cy1hbmQtYmx1ci1ldmVudHMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1j
b21wb25lbnRzLWZvY3VzLWFuZC1ibHVyLWV2ZW50cy5odG1sCmluZGV4IDE1YjA0YjRhMzFjMGQw
NDEyZWYzMGQ3NDRkMmViYzllNThhNDBkNDYuLmE1MGRmMTM5NmQ0NDVkOGE5YTUyZmFjMDA1MmI1
NzQyODUxMTgzZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRl
LWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWZvY3VzLWFuZC1i
bHVyLWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVk
aXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWZvY3VzLWFuZC1ibHVy
LWV2ZW50cy5odG1sCkBAIC0xMTQsNiArMTE0LDUyIEBAIGFzc2VydEZvY3VzQW5kQmx1ckNvdW50
KDIsIDEpOwogLy8gRm9jdXMgb3V0LgogVUlIZWxwZXIua2V5RG93bigiXHQiLCBbInNoaWZ0S2V5
Il0pOwogYXNzZXJ0Rm9jdXNBbmRCbHVyQ291bnQoMiwgMik7CityZXNldEZvY3VzQW5kQmx1ckNv
dW50KCk7CisKK2RlYnVnKCJcbkZvY3VzL2JsdXIgb24gZGlzYWJsZWQgaW5wdXRcbiIpCisKK2lu
cHV0LmRpc2FibGVkID0gdHJ1ZTsKKworVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGJlZm9yZSk7
CisvLyBUYWIgdG8gZm9jdXMgc2hvdWxkIHNraXAgZGlzYWJsZWQgaW5wdXQuCitVSUhlbHBlci5r
ZXlEb3duKCJcdCIpOworYXNzZXJ0Rm9jdXNBbmRCbHVyQ291bnQoMCwgMCk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAiYWZ0ZXIiKTsKKy8vIFNo
aWZ0K1RhYiBzaG91bGQgc2tpcCBkaXNhYmxlZCBpbnB1dC4KK1VJSGVscGVyLmtleURvd24oIlx0
IiwgWyJzaGlmdEtleSJdKTsKK2Fzc2VydEZvY3VzQW5kQmx1ckNvdW50KDAsIDApOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgImJlZm9yZSIpOwor
Ly8gQ2xpY2tpbmcgb24gYW55IHBhcnQgb2YgdGhlIGNvbnRyb2wgc2hvdWxkIG5vdCBmb2N1cy9i
bHVyIGV2ZW50cy4KK21vdXNlQ2xpY2tPbigyMCwgY2VudGVyKTsKK21vdXNlQ2xpY2tPbig2MCwg
Y2VudGVyKTsKK21vdXNlQ2xpY2tPbigxMjAsIGNlbnRlcik7Cittb3VzZUNsaWNrT24oMjUwLCBj
ZW50ZXIpOworbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRoICsgNSwgaW5wdXQub2Zmc2V0
SGVpZ2h0ICsgNSk7Cithc3NlcnRGb2N1c0FuZEJsdXJDb3VudCgwLCAwKTsKK3Jlc2V0Rm9jdXNB
bmRCbHVyQ291bnQoKTsKKworZGVidWcoIlxuRm9jdXMvYmx1ciBvbiByZWFkb25seSBpbnB1dFxu
IikKKworaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsKK2lucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKKwor
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGJlZm9yZSk7CisvLyBUYWIgdG8gZm9jdXMgc2hvdWxk
IG5vdCBza2lwIHJlYWRvbmx5IGlucHV0LgorVUlIZWxwZXIua2V5RG93bigiXHQiKTsKK2Fzc2Vy
dEZvY3VzQW5kQmx1ckNvdW50KDEsIDApOworVUlIZWxwZXIua2V5RG93bigiXHQiKTsKK1VJSGVs
cGVyLmtleURvd24oIlx0Iik7CitVSUhlbHBlci5rZXlEb3duKCJcdCIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgImFmdGVyIik7Cithc3NlcnRG
b2N1c0FuZEJsdXJDb3VudCgxLCAxKTsKKy8vIENsaWNraW5nIG9uIGFueSBwYXJ0IG9mIHRoZSBj
b250cm9sIHNob3VsZCBmaXJlIHRoZSBhcHByb3ByaWF0ZSBldmVudHMuCittb3VzZUNsaWNrT24o
MjAsIGNlbnRlcik7Cittb3VzZUNsaWNrT24oNjAsIGNlbnRlcik7Cittb3VzZUNsaWNrT24oMTIw
LCBjZW50ZXIpOworbW91c2VDbGlja09uKDI1MCwgY2VudGVyKTsKK21vdXNlQ2xpY2tPbihpbnB1
dC5vZmZzZXRXaWR0aCArIDUsIGlucHV0Lm9mZnNldEhlaWdodCArIDUpOworYXNzZXJ0Rm9jdXNB
bmRCbHVyQ291bnQoMSwgMSk7CityZXNldEZvY3VzQW5kQmx1ckNvdW50KCk7CiAKIDwvc2NyaXB0
PgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJs
ZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy1rZXlib2FyZC1ldmVudHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29t
cG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVk
LnR4dAppbmRleCBkYzU4NzZiNzM1ODQ2NDlmODM5NWIwMWM3ZWUzYjJmZWE4OTk5ZTQ2Li40YzIw
NGZkN2YxODUxM2FmNjIwYmZiZjk5MTAzYzIyYWI1MjkxOTAxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFi
bGUtY29tcG9uZW50cy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJs
ZS1jb21wb25lbnRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTUzLDYgKzUzLDE0
IEBAIERlbGV0ZSBrZXkKIFBBU1MgaW5wdXQudmFsdWUgaXMgIiIKIFBBU1MgY2hhbmdlRXZlbnRz
RmlyZWQgaXMgMQogUEFTUyBpbnB1dEV2ZW50c0ZpcmVkIGlzIDEKKworRGlzYWJsZWQvcmVhZG9u
bHkKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMjAtMDktMDEiCitQQVNTIGlucHV0LnZhbHVlIGlz
ICIyMDIwLTAxLTAxIgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAyMC0wMS0wMSIKK1BBU1MgaW5w
dXQudmFsdWUgaXMgIjIwMjAtMDEtMDIiCitQQVNTIGNoYW5nZUV2ZW50c0ZpcmVkIGlzIDIKK1BB
U1MgaW5wdXRFdmVudHNGaXJlZCBpcyAyCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0
ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLWtleWJv
YXJkLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFi
bGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMta2V5Ym9hcmQtZXZlbnRzLmh0
bWwKaW5kZXggNTJjYTY2ODY4Zjc0ZDYwNjk0ZThlZDA4Zjc1YmQ4M2MxMzkzOTA5ZS4uNjJmYzBk
MTg0YWFjMjQzODFmZTJmOGIxOWE4ZTMwMzkwNjY1YTYwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxl
LWNvbXBvbmVudHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVu
dHMta2V5Ym9hcmQtZXZlbnRzLmh0bWwKQEAgLTE2NCw2ICsxNjQsMjQgQEAgYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKICAgICBzaG91bGRCZSgiY2hhbmdlRXZlbnRzRmly
ZWQiLCAiMSIpOwogICAgIHNob3VsZEJlKCJpbnB1dEV2ZW50c0ZpcmVkIiwgIjEiKTsKIAorICAg
IGJlZ2luVGVzdCgiRGlzYWJsZWQvcmVhZG9ubHkiLCAiMjAyMC0wOS0wMSIpOworICAgIGlucHV0
LmRpc2FibGVkID0gdHJ1ZTsKKyAgICBVSUhlbHBlci5rZXlEb3duKCIxIik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJpbnB1dC52YWx1ZSIsICIyMDIwLTA5LTAxIik7CisgICAgaW5wdXQu
ZGlzYWJsZWQgPSBmYWxzZTsKKyAgICBpbnB1dC5mb2N1cygpOworICAgIFVJSGVscGVyLmtleURv
d24oIjEiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlucHV0LnZhbHVlIiwgIjIwMjAt
MDEtMDEiKTsKKyAgICBpbnB1dC5yZWFkT25seSA9IHRydWU7CisgICAgVUlIZWxwZXIua2V5RG93
bigicmlnaHRBcnJvdyIpOworICAgIFVJSGVscGVyLmtleURvd24oIjIiKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImlucHV0LnZhbHVlIiwgIjIwMjAtMDEtMDEiKTsKKyAgICBpbnB1dC5y
ZWFkT25seSA9IGZhbHNlOworICAgIFVJSGVscGVyLmtleURvd24oIjIiKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImlucHV0LnZhbHVlIiwgIjIwMjAtMDEtMDIiKTsKKyAgICBzaG91bGRC
ZSgiY2hhbmdlRXZlbnRzRmlyZWQiLCAiMiIpOworICAgIHNob3VsZEJlKCJpbnB1dEV2ZW50c0Zp
cmVkIiwgIjIiKTsKKwogICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1l
ZGl0YWJsZS1jb21wb25lbnRzLW1vdXNlLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzL2RhdGUtZWRpdGFibGUt
Y29tcG9uZW50cy1tb3VzZS1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IDQ3MGNhMDdlNzc1YzIx
NGE3NDg0NWNiYTVmZWIwOGJlMDNlZTY3OTUuLjc0ZjIzYTcyODYzZGQ1NmFjZmY1ZDE0NTY4MDIy
NWM5NjNjN2ZiNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRl
LWVkaXRhYmxlLWNvbXBvbmVudHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLW1vdXNlLWV2ZW50
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRp
dGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2UtZXZlbnRzLWV4
cGVjdGVkLnR4dApAQCAtMywxMSArMywyMSBAQCBUZXN0IGZvciBtb3VzZSBldmVudHMgZm9yIDxp
bnB1dCB0eXBlPWRhdGU+CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAorRW5hYmxlZCBJ
bnB1dAorCiBQQVNTIGlucHV0LnZhbHVlIGlzICIyMDIwLTA5LTI2IgogUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMjAyMC0wOS0xMiIKIFBBU1MgaW5wdXQudmFsdWUgaXMgIjMwMzAtMDktMTIiCiBQQVNT
IGlucHV0LnZhbHVlIGlzICIzMDMwLTA1LTEyIgogUEFTUyBpbnB1dC52YWx1ZSBpcyAiMzAzMC0w
NS0xMiIKK1BBU1MgY2xpY2tFdmVudHNGaXJlZCBpcyA0CisKK0Rpc2FibGVkIElucHV0CisKK1BB
U1MgY2xpY2tFdmVudHNGaXJlZCBpcyAwCisKK1JlYWRvbmx5IElucHV0CisKIFBBU1MgY2xpY2tF
dmVudHNGaXJlZCBpcyA0CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLWVkaXRhYmxlLWNvbXBvbmVu
dHMvZGF0ZS1lZGl0YWJsZS1jb21wb25lbnRzLW1vdXNlLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxl
LWNvbXBvbmVudHMtbW91c2UtZXZlbnRzLmh0bWwKaW5kZXggNTVkMTk2ZDU0ZjJjYzBhMTRlYWRk
NjVjNDUxYjM2NjY4OGQ0NDQxYS4uZWM1NTY4Yzg2ZTIzZTk5YjVhYWU2ZmNmNzY1YjI2OTRjNDk0
YWNmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFi
bGUtY29tcG9uZW50cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2UtZXZlbnRzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9kYXRlL2RhdGUtZWRpdGFibGUtY29tcG9uZW50
cy9kYXRlLWVkaXRhYmxlLWNvbXBvbmVudHMtbW91c2UtZXZlbnRzLmh0bWwKQEAgLTQ5LDYgKzQ5
LDggQEAgZnVuY3Rpb24gbW91c2VDbGlja09uKHgsIHkpIHsKIGlucHV0LmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgb25DbGlja0V2ZW50KTsKIGNvbnN0IGNlbnRlciA9IGlucHV0Lm9mZnNldEhl
aWdodCAvIDI7CiAKK2RlYnVnKCJFbmFibGVkIElucHV0XG4iKTsKKwogLy8gQ2xpY2sgb24gbW9u
dGggZmllbGQuCiBtb3VzZUNsaWNrT24oMjAsIGNlbnRlcik7CiBVSUhlbHBlci5rZXlEb3duKCI5
Iik7CkBAIC04MCw2ICs4Miw0MiBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImlucHV0LnZhbHVl
IiwgIjMwMzAtMDUtMTIiKTsKIAogc2hvdWxkQmUoImNsaWNrRXZlbnRzRmlyZWQiLCAiNCIpOwog
CitkZWJ1ZygiXG5EaXNhYmxlZCBJbnB1dFxuIik7CitjbGlja0V2ZW50c0ZpcmVkID0gMDsKK2lu
cHV0LmRpc2FibGVkID0gdHJ1ZTsKK2lucHV0LnJlYWRPbmx5ID0gZmFsc2U7CisKKy8vIENsaWNr
IG9uIG1vbnRoIGZpZWxkLgorbW91c2VDbGlja09uKDIwLCBjZW50ZXIpOworLy8gQ2xpY2sgb24g
ZGF5IGZpZWxkLgorbW91c2VDbGlja09uKDYwLCBjZW50ZXIpOworLy8gQ2xpY2sgb24geWVhciBm
aWVsZC4KK21vdXNlQ2xpY2tPbigxMjAsIGNlbnRlcik7CisvLyBDbGljayBvbiBjb250cm9sLCBi
dXQgbm90IGEgc3BlY2lmaWMgZmllbGQsIGRlZmF1bHRzIHRvIGZpcnN0IGZpZWxkLgorbW91c2VD
bGlja09uKDI1MCwgY2VudGVyKTsKKy8vIENsaWNrIG91dHNpZGUgY29udHJvbC4KK21vdXNlQ2xp
Y2tPbihpbnB1dC5vZmZzZXRXaWR0aCArIDUsIGlucHV0Lm9mZnNldEhlaWdodCArIDUpOworCitz
aG91bGRCZSgiY2xpY2tFdmVudHNGaXJlZCIsICIwIik7CisKK2RlYnVnKCJcblJlYWRvbmx5IElu
cHV0XG4iKTsKK2NsaWNrRXZlbnRzRmlyZWQgPSAwOworaW5wdXQuZGlzYWJsZWQgPSBmYWxzZTsK
K2lucHV0LnJlYWRPbmx5ID0gdHJ1ZTsKKworLy8gQ2xpY2sgb24gbW9udGggZmllbGQuCittb3Vz
ZUNsaWNrT24oMjAsIGNlbnRlcik7CisvLyBDbGljayBvbiBkYXkgZmllbGQuCittb3VzZUNsaWNr
T24oNjAsIGNlbnRlcik7CisvLyBDbGljayBvbiB5ZWFyIGZpZWxkLgorbW91c2VDbGlja09uKDEy
MCwgY2VudGVyKTsKKy8vIENsaWNrIG9uIGNvbnRyb2wsIGJ1dCBub3QgYSBzcGVjaWZpYyBmaWVs
ZCwgZGVmYXVsdHMgdG8gZmlyc3QgZmllbGQuCittb3VzZUNsaWNrT24oMjUwLCBjZW50ZXIpOwor
Ly8gQ2xpY2sgb3V0c2lkZSBjb250cm9sLgorbW91c2VDbGlja09uKGlucHV0Lm9mZnNldFdpZHRo
ICsgNSwgaW5wdXQub2Zmc2V0SGVpZ2h0ICsgNSk7CisKK3Nob3VsZEJlKCJjbGlja0V2ZW50c0Zp
cmVkIiwgIjQiKTsKKwogPC9zY3JpcHQ+CiAKIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>