<?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>104985</bug_id>
          
          <creation_ts>2012-12-13 18:25:01 -0800</creation_ts>
          <short_desc>Seconds/Minutes field of date/time input UI should respect step attribute</short_desc>
          <delta_ts>2012-12-13 20:57:28 -0800</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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Kunihiko Sakamoto">ksakamoto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ojan.autocc</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>791209</commentid>
    <comment_count>0</comment_count>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-12-13 18:25:01 -0800</bug_when>
    <thetext>Continued from https://bugs.webkit.org/show_bug.cgi?id=104628.
Make seconds/minutes fields of multiple-fields UI respect step attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791238</commentid>
    <comment_count>1</comment_count>
      <attachid>179402</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-12-13 19:15:36 -0800</bug_when>
    <thetext>Created attachment 179402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791251</commentid>
    <comment_count>2</comment_count>
      <attachid>179402</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-13 19:35:29 -0800</bug_when>
    <thetext>Comment on attachment 179402
Patch

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

The logic looks good. I have one comment.

&gt; Source/WebCore/html/shadow/DateTimeEditElement.cpp:155
&gt; +        int step, stepBase;
&gt; +        getFieldStep(static_cast&lt;int&gt;(msPerMinute), static_cast&lt;int&gt;(msPerHour), step, stepBase);
&gt; +        RefPtr&lt;DateTimeNumericFieldElement&gt; field = DateTimeMinuteFieldElement::create(document, m_editElement, step, stepBase);
&gt;          m_editElement.addField(field);

I&apos;d like to recommend to introduce DateTimeNumericFieldElement::Parameters, which contains step and stepBase.  If so, getFieldStep would be &quot;DateTimeNumericFieldElement::Parameters createNumericFieldParameters(const Decimal&amp;, const Decima&amp;)&quot;, and field constructors would receive &quot;const DateTimeNumericFieldElement::Parameters&amp;&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791270</commentid>
    <comment_count>3</comment_count>
      <attachid>179406</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-12-13 20:12:06 -0800</bug_when>
    <thetext>Created attachment 179406
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791271</commentid>
    <comment_count>4</comment_count>
      <attachid>179402</attachid>
    <who name="Kunihiko Sakamoto">ksakamoto</who>
    <bug_when>2012-12-13 20:12:44 -0800</bug_when>
    <thetext>Comment on attachment 179402
Patch

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

&gt;&gt; Source/WebCore/html/shadow/DateTimeEditElement.cpp:155
&gt;&gt;          m_editElement.addField(field);
&gt; 
&gt; I&apos;d like to recommend to introduce DateTimeNumericFieldElement::Parameters, which contains step and stepBase.  If so, getFieldStep would be &quot;DateTimeNumericFieldElement::Parameters createNumericFieldParameters(const Decimal&amp;, const Decima&amp;)&quot;, and field constructors would receive &quot;const DateTimeNumericFieldElement::Parameters&amp;&quot;.

Thanks for the suggestion.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791274</commentid>
    <comment_count>5</comment_count>
      <attachid>179406</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-12-13 20:15:54 -0800</bug_when>
    <thetext>Comment on attachment 179406
Patch 2

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791296</commentid>
    <comment_count>6</comment_count>
      <attachid>179406</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 20:57:24 -0800</bug_when>
    <thetext>Comment on attachment 179406
Patch 2

Clearing flags on attachment: 179406

Committed r137712: &lt;http://trac.webkit.org/changeset/137712&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791297</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 20:57:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179402</attachid>
            <date>2012-12-13 19:15:36 -0800</date>
            <delta_ts>2012-12-13 20:12:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104985-20121214121256.patch</filename>
            <type>text/plain</type>
            <size>22652</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNhNzNlNjEyZTY2MjJh
MzJiMGM5ZmFkNGZiMGZjZGIyYzY3NzQ1Mi4uNDQwNTQ1ODJiYWFjN2RhMjk4YzA0MjI5MDZmMzIz
YmQxYjEzOTRhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEyLTEzICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU2Vjb25k
cy9NaW51dGVzIGZpZWxkIG9mIGRhdGUvdGltZSBpbnB1dCBVSSBzaG91bGQgcmVzcGVjdCBzdGVw
IGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA0OTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBtYWtlcyBzdGVwLXVwLy1kb3duIFVJIG9mIHRoZSBzZWNvbmRzIGFuZCBt
aW51dGVzIGZpZWxkcyByZXNwZWN0CisgICAgICAgIHN0ZXAgYXR0cmlidXRlIHdoZW4gcG9zc2li
bGUuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcDoKKyAgICAgICAgKERh
dGVUaW1lRWRpdEJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0QnVpbGRl
cjo6dmlzaXRGaWVsZCk6IENvbXB1dGUgc3RlcCBhbmQgc3RlcC1iYXNlIGZvciBzZWNvbmRzIGFu
ZCBtaW51dGVzIGZpZWxkcywgYW5kIHBhc3MgdGhlbSB0byB0aGUgZmllbGQgZWxlbWVudCBjb25z
dHJ1Y3RvcnMuCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZUVkaXRCdWlsZGVyOjpnZXRGaWVs
ZFN0ZXApOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVu
dHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6OkRh
dGVUaW1lTWludXRlRmllbGRFbGVtZW50KTogQWRkIHN0ZXAgYW5kIHN0ZXBCYXNlIGFyZ3VtZW50
cy4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTWludXRlRmllbGRFbGVtZW50OjpjcmVhdGUp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpE
YXRlVGltZVNlY29uZEZpZWxkRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RGF0
ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAqIGh0bWwv
c2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oOgorICAgICAgICAoRGF0ZVRpbWVNaW51dGVG
aWVsZEVsZW1lbnQpOiBEaXR0by4KKyAgICAgICAgKERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50
KTogRGl0dG8uCisKIDIwMTItMTItMTMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMTM3NDA2KTogTm9kZVRyYXZlcnNhbCBjaGFuZ2VzIGNh
dXNpbmcgbGFyZ2UgcmVuZGVyZXIgY3Jhc2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKaW5kZXggNTBmNjM0MGVjNzM1ZGJiMDE1MWZi
NjY1OTRjYjVlMWIwMGRhOTM5MC4uNWQ2ZjQ4ODA5YWJhOTY4Zjg1MTRjZTNhYzYxNGE4MTZkZmVj
MzRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0
RWxlbWVudC5jcHAKQEAgLTY1LDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICBib29sIHNob3VsZE1p
bnV0ZUZpZWxkUmVhZE9ubHkoKSBjb25zdDsKICAgICBib29sIHNob3VsZFNlY29uZEZpZWxkUmVh
ZE9ubHkoKSBjb25zdDsKICAgICBpbmxpbmUgY29uc3QgU3RlcFJhbmdlJiBzdGVwUmFuZ2UoKSBj
b25zdCB7IHJldHVybiBtX3BhcmFtZXRlcnMuc3RlcFJhbmdlOyB9CisgICAgdm9pZCBnZXRGaWVs
ZFN0ZXAoY29uc3QgRGVjaW1hbCYgbXNQZXJGaWVsZFVuaXQsIGNvbnN0IERlY2ltYWwmIG1zUGVy
RmllbGRTaXplLCBpbnQmIG91dFN0ZXAsIGludCYgb3V0U3RlcEJhc2UpIGNvbnN0OwogCiAgICAg
Ly8gRGF0ZVRpbWVGb3JtYXQ6OlRva2VuSGFuZGxlciBmdW5jdGlvbnMuCiAgICAgdmlydHVhbCB2
b2lkIHZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSwgaW50KSBPVkVSUklERSBG
SU5BTDsKQEAgLTE0OCw3ICsxNDksOSBAQCB2b2lkIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0
RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGludCBjbwogICAgIH0K
IAogICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZU1pbnV0ZTogewotICAgICAgICBS
ZWZQdHI8RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lTWludXRl
RmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1lbnQpOworICAgICAgICBp
bnQgc3RlcCwgc3RlcEJhc2U7CisgICAgICAgIGdldEZpZWxkU3RlcChzdGF0aWNfY2FzdDxpbnQ+
KG1zUGVyTWludXRlKSwgc3RhdGljX2Nhc3Q8aW50Pihtc1BlckhvdXIpLCBzdGVwLCBzdGVwQmFz
ZSk7CisgICAgICAgIFJlZlB0cjxEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ+IGZpZWxkID0g
RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVu
dCwgc3RlcCwgc3RlcEJhc2UpOwogICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxk
KTsKICAgICAgICAgaWYgKHNob3VsZE1pbnV0ZUZpZWxkUmVhZE9ubHkoKSkgewogICAgICAgICAg
ICAgZmllbGQtPnNldFZhbHVlQXNEYXRlKG1fZGF0ZVZhbHVlKTsKQEAgLTE5OCw3ICsyMDEsOSBA
QCB2b2lkIERhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZp
ZWxkVHlwZSBmaWVsZFR5cGUsIGludCBjbwogICAgIH0KIAogICAgIGNhc2UgRGF0ZVRpbWVGb3Jt
YXQ6OkZpZWxkVHlwZVNlY29uZDogewotICAgICAgICBSZWZQdHI8RGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpjcmVhdGUoZG9j
dW1lbnQsIG1fZWRpdEVsZW1lbnQpOworICAgICAgICBpbnQgc3RlcCwgc3RlcEJhc2U7CisgICAg
ICAgIGdldEZpZWxkU3RlcChzdGF0aWNfY2FzdDxpbnQ+KG1zUGVyU2Vjb25kKSwgc3RhdGljX2Nh
c3Q8aW50Pihtc1Blck1pbnV0ZSksIHN0ZXAsIHN0ZXBCYXNlKTsKKyAgICAgICAgUmVmUHRyPERh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmllbGQgPSBEYXRlVGltZVNlY29uZEZpZWxkRWxl
bWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBzdGVwLCBzdGVwQmFzZSk7CiAg
ICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwogICAgICAgICBpZiAoc2hvdWxk
U2Vjb25kRmllbGRSZWFkT25seSgpKSB7CiAgICAgICAgICAgICBmaWVsZC0+c2V0VmFsdWVBc0Rh
dGUobV9kYXRlVmFsdWUpOwpAQCAtMjEzLDE1ICsyMTgsOCBAQCB2b2lkIERhdGVUaW1lRWRpdEJ1
aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUsIGlu
dCBjbwogICAgIH0KIAogICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZUZyYWN0aW9u
YWxTZWNvbmQ6IHsKLSAgICAgICAgQVNTRVJUKCFtX3BhcmFtZXRlcnMuc3RlcFJhbmdlLnN0ZXAo
KS5pc1plcm8oKSk7Ci0gICAgICAgIGludCBzdGVwID0gMTsKLSAgICAgICAgaW50IHN0ZXBCYXNl
ID0gMDsKLSAgICAgICAgY29uc3QgRGVjaW1hbCBkZWNpbWFsTXNQZXJTZWNvbmQoc3RhdGljX2Nh
c3Q8aW50Pihtc1BlclNlY29uZCkpOwotCi0gICAgICAgIGlmIChkZWNpbWFsTXNQZXJTZWNvbmQu
cmVtYWluZGVyKG1fcGFyYW1ldGVycy5zdGVwUmFuZ2Uuc3RlcCgpKS5pc1plcm8oKSAmJiBtX3Bh
cmFtZXRlcnMuc3RlcFJhbmdlLnN0ZXAoKS5yZW1haW5kZXIoRGVjaW1hbCgxKSkuaXNaZXJvKCkp
IHsKLSAgICAgICAgICAgIHN0ZXAgPSBzdGF0aWNfY2FzdDxpbnQ+KG1fcGFyYW1ldGVycy5zdGVw
UmFuZ2Uuc3RlcCgpLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgc3RlcEJhc2UgPSBzdGF0aWNf
Y2FzdDxpbnQ+KG1fcGFyYW1ldGVycy5zdGVwUmFuZ2Uuc3RlcEJhc2UoKS5yZW1haW5kZXIoZGVj
aW1hbE1zUGVyU2Vjb25kKS50b0RvdWJsZSgpKTsKLSAgICAgICAgfQorICAgICAgICBpbnQgc3Rl
cCwgc3RlcEJhc2U7CisgICAgICAgIGdldEZpZWxkU3RlcCgxLCBzdGF0aWNfY2FzdDxpbnQ+KG1z
UGVyU2Vjb25kKSwgc3RlcCwgc3RlcEJhc2UpOwogICAgICAgICBSZWZQdHI8RGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6
OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgc3RlcCwgc3RlcEJhc2UpOwogICAgICAg
ICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKGZpZWxkKTsKICAgICAgICAgaWYgKHNob3VsZE1pbGxp
c2Vjb25kRmllbGRSZWFkT25seSgpKSB7CkBAIC0zMDcsNiArMzA1LDI1IEBAIHZvaWQgRGF0ZVRp
bWVFZGl0QnVpbGRlcjo6dmlzaXRMaXRlcmFsKGNvbnN0IFN0cmluZyYgdGV4dCkKICAgICBtX2Vk
aXRFbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnQpOwogfQogCit2b2lkIERhdGVUaW1lRWRpdEJ1
aWxkZXI6OmdldEZpZWxkU3RlcChjb25zdCBEZWNpbWFsJiBtc1BlckZpZWxkVW5pdCwgY29uc3Qg
RGVjaW1hbCYgbXNQZXJGaWVsZFNpemUsIGludCYgb3V0U3RlcCwgaW50JiBvdXRTdGVwQmFzZSkg
Y29uc3QKK3sKKyAgICBBU1NFUlQoIW1zUGVyRmllbGRVbml0LmlzWmVybygpKTsKKyAgICBBU1NF
UlQoIW1zUGVyRmllbGRTaXplLmlzWmVybygpKTsKKyAgICBEZWNpbWFsIHN0ZXBNaWxsaXNlY29u
ZHMgPSBzdGVwUmFuZ2UoKS5zdGVwKCk7CisgICAgQVNTRVJUKCFzdGVwTWlsbGlzZWNvbmRzLmlz
WmVybygpKTsKKworICAgIGlmIChzdGVwTWlsbGlzZWNvbmRzLnJlbWFpbmRlcihtc1BlckZpZWxk
U2l6ZSkuaXNaZXJvKCkpCisgICAgICAgIHN0ZXBNaWxsaXNlY29uZHMgPSBtc1BlckZpZWxkU2l6
ZTsKKworICAgIGlmIChtc1BlckZpZWxkU2l6ZS5yZW1haW5kZXIoc3RlcE1pbGxpc2Vjb25kcyku
aXNaZXJvKCkgJiYgc3RlcE1pbGxpc2Vjb25kcy5yZW1haW5kZXIobXNQZXJGaWVsZFVuaXQpLmlz
WmVybygpKSB7CisgICAgICAgIG91dFN0ZXAgPSBzdGF0aWNfY2FzdDxpbnQ+KChzdGVwTWlsbGlz
ZWNvbmRzIC8gbXNQZXJGaWVsZFVuaXQpLnRvRG91YmxlKCkpOworICAgICAgICBvdXRTdGVwQmFz
ZSA9IHN0YXRpY19jYXN0PGludD4oKHN0ZXBSYW5nZSgpLnN0ZXBCYXNlKCkgLyBtc1BlckZpZWxk
VW5pdCkuZmxvb3IoKS5yZW1haW5kZXIobXNQZXJGaWVsZFNpemUgLyBtc1BlckZpZWxkVW5pdCku
dG9Eb3VibGUoKSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgb3V0U3RlcCA9IDE7CisgICAgICAg
IG91dFN0ZXBCYXNlID0gMDsKKyAgICB9Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIAogRGF0ZVRpbWVFZGl0RWxlbWVudDo6RWRpdENvbnRyb2xPd25lcjo6fkVkaXRDb250
cm9sT3duZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVGaWVsZEVsZW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50cy5jcHAKaW5kZXggMDUyNjJmYWNjYWE4M2M0YzBhYzBhMjMxMGFhODAwODRk
ZDkzM2I3Mi4uNGU3YzQwODI1N2U1YjAyNWFlYmRlMGQ3OWVjYjYwMDc1MTU4OTk5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMu
Y3BwCkBAIC0yNTgsMTUgKzI1OCwxNSBAQCB2b2lkIERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVs
ZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVUaQogCiAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLURhdGVUaW1lTWludXRlRmllbGRFbGVtZW50
OjpEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3du
ZXImIGZpZWxkT3duZXIpCi0gICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1l
bnQsIGZpZWxkT3duZXIsIDAsIDU5LCAiLS0iKQorRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6
OkRhdGVUaW1lTWludXRlRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25l
ciYgZmllbGRPd25lciwgaW50IHN0ZXAsIGludCBzdGVwQmFzZSkKKyAgICA6IERhdGVUaW1lTnVt
ZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgMCwgNTksICItLSIsIHN0ZXAs
IHN0ZXBCYXNlKQogewogfQogCi1QYXNzUmVmUHRyPERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50
PiBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwg
RmllbGRPd25lciYgZmllbGRPd25lcikKK1Bhc3NSZWZQdHI8RGF0ZVRpbWVNaW51dGVGaWVsZEVs
ZW1lbnQ+IERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBpbnQgc3RlcCwgaW50IHN0ZXBCYXNlKQogewog
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtaW51dGVQc3VlZG9JZCwgKCIt
d2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudD4g
ZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQoZG9jdW1lbnQs
IGZpZWxkT3duZXIpKTsKKyAgICBSZWZQdHI8RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ+IGZp
ZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50KGRvY3VtZW50LCBm
aWVsZE93bmVyLCBzdGVwLCBzdGVwQmFzZSkpOwogICAgIGZpZWxkLT5pbml0aWFsaXplKG1pbnV0
ZVBzdWVkb0lkLCBBWE1pbnV0ZUZpZWxkVGV4dCgpKTsKICAgICByZXR1cm4gZmllbGQucmVsZWFz
ZSgpOwogfQpAQCAtMzQwLDE1ICszNDAsMTUgQEAgdm9pZCBEYXRlVGltZU1vbnRoRmllbGRFbGVt
ZW50OjpzZXRWYWx1ZUFzRGF0ZVRpbWVGaWVsZHNTdGF0ZShjb25zdCBEYXRlVGltZUZpZWwKIAog
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1EYXRlVGltZVNlY29uZEZpZWxkRWxl
bWVudDo6RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBGaWVs
ZE93bmVyJiBmaWVsZE93bmVyKQotICAgIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KGRv
Y3VtZW50LCBmaWVsZE93bmVyLCAwLCA1OSwgIi0tIikKK0RhdGVUaW1lU2Vjb25kRmllbGRFbGVt
ZW50OjpEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxk
T3duZXImIGZpZWxkT3duZXIsIGludCBzdGVwLCBpbnQgc3RlcEJhc2UpCisgICAgOiBEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIDAsIDU5LCAiLS0iLCBz
dGVwLCBzdGVwQmFzZSkKIHsKIH0KIAotUGFzc1JlZlB0cjxEYXRlVGltZVNlY29uZEZpZWxkRWxl
bWVudD4gRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIpCitQYXNzUmVmUHRyPERhdGVUaW1lU2Vjb25kRmll
bGRFbGVtZW50PiBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgaW50IHN0ZXAsIGludCBzdGVwQmFzZSkK
IHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2Vjb25kUHN1ZWRvSWQs
ICgiLXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCIsIEF0b21pY1N0cmluZzo6Q29u
c3RydWN0RnJvbUxpdGVyYWwpKTsKLSAgICBSZWZQdHI8RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1l
bnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KGRvY3Vt
ZW50LCBmaWVsZE93bmVyKSk7CisgICAgUmVmUHRyPERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50
PiBmaWVsZCA9IGFkb3B0UmVmKG5ldyBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudChkb2N1bWVu
dCwgZmllbGRPd25lciwgc3RlcCwgc3RlcEJhc2UpKTsKICAgICBmaWVsZC0+aW5pdGlhbGl6ZShz
ZWNvbmRQc3VlZG9JZCwgQVhTZWNvbmRGaWVsZFRleHQoKSk7CiAgICAgcmV0dXJuIGZpZWxkLnJl
bGVhc2UoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lRmllbGRFbGVtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVG
aWVsZEVsZW1lbnRzLmgKaW5kZXggYjljZDU2MzkwNjBjNWE1M2E1MmI1MTcyNDlmNGNiZDA1ZDZl
MGY5OS4uZGU3OTZkN2UwZTc5ZjhlN2U0N2IwZWE0MWM2MWI3MWE4YjljMTMzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgKQEAg
LTEwNiwxMCArMTA2LDEwIEBAIGNsYXNzIERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50IDogcHVi
bGljIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQpOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZp
ZWxkT3duZXImKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZU1pbnV0ZUZpZWxkRWxl
bWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGludCBzdGVwLCBpbnQgc3RlcEJh
c2UpOwogCiBwcml2YXRlOgotICAgIERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50KERvY3VtZW50
KiwgRmllbGRPd25lciYpOworICAgIERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50KERvY3VtZW50
KiwgRmllbGRPd25lciYsIGludCBzdGVwLCBpbnQgc3RlcEJhc2UpOwogCiAgICAgLy8gRGF0ZVRp
bWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZURhdGVU
aW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJSSURFIEZJTkFMOwpAQCAt
MTM2LDEwICsxMzYsMTAgQEAgY2xhc3MgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQgOiBwdWJs
aWMgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudCk7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmll
bGRPd25lciYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lU2Vjb25kRmllbGRFbGVt
ZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgaW50IHN0ZXAsIGludCBzdGVwQmFz
ZSk7CiAKIHByaXZhdGU6Ci0gICAgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQoRG9jdW1lbnQq
LCBGaWVsZE93bmVyJik7CisgICAgRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQoRG9jdW1lbnQq
LCBGaWVsZE93bmVyJiwgaW50IHN0ZXAsIGludCBzdGVwQmFzZSk7CiAKICAgICAvLyBEYXRlVGlt
ZUZpZWxkRWxlbWVudCBmdW5jdGlvbnMuCiAgICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRp
bWVGaWVsZHNTdGF0ZShEYXRlVGltZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYjYyNGQxNDcyMzFkNTg1NmFhZTNkNzJlOTZlZWI4OTljYTFkZDVjMS4uMGIzYTVlMWQ5MGZj
NTU2MDFmMjg3YTZjNjZhODJjNWYzNWRhMDA2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEy
LTEyLTEzICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgU2Vjb25kcy9NaW51dGVzIGZpZWxkIG9mIGRhdGUvdGltZSBpbnB1dCBVSSBzaG91bGQg
cmVzcGVjdCBzdGVwIGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA0OTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWw6CisgICAgICAgIEFkZGVk
IHRlc3QgY2FzZXMgZm9yIHNlY29uZHMgYW5kIG1pbnV0ZXMgZmllbGRzLgorICAgICAgICBVcGRh
dGUgYW4gZXhwZWN0YXRpb24gZm9yIG1pbGxpc2Vjb25kczogdmFsdWU9MDc6MTM6MDAuNTAwLCBz
dGVwPTAgc2hvdWxkIHJvdW5kIHRvIDA3OjEzOjAwLjAwMAorICAgICAgICAoc2V0SW5wdXRBdHRy
aWJ1dGVzKTogU2V0IHZhbHVlIGF0dHJpYnV0ZSBmaXJzdCB0byBhdm9pZCB0aGUgZm9jdXNlZCBm
aWVsZCBiZWNvbWVzIHJlYWQtb25seSBhbmQgdW5mb2N1c2VkLgorCiAyMDEyLTEyLTEzICBCZXRo
IERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGlzIHRlc3Qgc3RhcnRlZCBm
YWlsaW5nIGFmdGVyIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEzNzU5MiB3aGlj
aCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVs
ZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3Rl
ZC50eHQKaW5kZXggYWRlMmJlN2FjZTJjY2Y5NDNjZmJiYjg2YWUwNTRkMWFjYTczOTBkZi4uM2Zl
MzlkNjU2ZjU3NDEzM2Y0OGMyMjJiZTk1NmRhYTQyZmIwMjFjNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci1leHBlY3RlZC50eHQKQEAgLTIyLDE0ICsy
Miw2NiBAQCBQQVNTIHN0ZXBVcCgiMDc6MTM6MDAuMDk5IiwgMC4xMDAsIG51bGwsIG51bGwpIGlz
ICIwNzoxMzowMC4xMDAiCiBQQVNTIHN0ZXBEb3duKCIwNzoxMzowMC4xMDEiLCAwLjEwMCwgbnVs
bCwgbnVsbCkgaXMgIjA3OjEzOjAwLjEwMCIKIFBBU1Mgc3RlcFVwKCIwNzoxMzowMC41MDAiLCAw
LjAwMDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC41MDEiCiBQQVNTIHN0ZXBEb3duKCIwNzox
MzowMC41MDAiLCAwLjAwMDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC40OTkiCi1QQVNTIHN0
ZXBVcCgiMDc6MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjAwLjUwMSIKLVBB
U1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC40
OTkiCitQQVNTIHN0ZXBVcCgiMDc6MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
IgorUEFTUyBzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
IgorUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDYwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMi
CitQQVNTIHN0ZXBEb3duKCIwNzoxMzowMC41MDAiLCA2MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
IgogUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVs
bCkgaXMgIjA3OjEzOjAwLjU1MCIKIFBBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAuMTAw
LCAiMDA6MDA6MDAuMDUwIiwgbnVsbCkgaXMgIjA3OjEzOjAwLjQ1MCIKIFBBU1MgdGVzdCgiMDc6
MTM6MDAuNTAwIiwgMC4xMDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMg
IjA3OjEzIgogUEFTUyB0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgbnVsbCwgbnVsbCwgWyJk
ZWxldGUiLCAiZG93bkFycm93Il0pIGlzICIwNzoxMzowMC45MDAiCiBQQVNTIHRlc3QoIjA3OjEz
OjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJv
dyJdKSBpcyAiMDc6MTM6MDAuMDUwIgogUEFTUyB0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwg
IjAwOjAwOjAwLjA1MCIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6MTM6
MDAuOTUwIgorU2Vjb25kcworUEFTUyBzdGVwVXAoIjA3OjEzOjAwIiwgMSwgbnVsbCwgbnVsbCkg
aXMgIjA3OjEzOjAxIgorUEFTUyBzdGVwRG93bigiMDc6MTM6MDEiLCAxLCBudWxsLCBudWxsKSBp
cyAiMDc6MTMiCitQQVNTIHN0ZXBVcCgiMDc6MTM6NTkiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMg
IjA3OjEzIgorUEFTUyBzdGVwRG93bigiMDc6MTM6MDAiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMg
IjA3OjEzOjU5IgorUEFTUyBzdGVwVXAoIjA3OjEzOjAwIiwgMTAsIG51bGwsIG51bGwpIGlzICIw
NzoxMzoxMCIKK1BBU1Mgc3RlcERvd24oIjA3OjEzOjMwIiwgMTAsIG51bGwsIG51bGwpIGlzICIw
NzoxMzoyMCIKK1BBU1Mgc3RlcFVwKCIwNzoxMzo1MCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6
MTMiCitQQVNTIHN0ZXBEb3duKCIwNzoxMzowMCIsIDEwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6
NTAiCitQQVNTIHN0ZXBVcCgiMDc6MTM6MDkiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjEw
IgorUEFTUyBzdGVwRG93bigiMDc6MTM6MTEiLCAxMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjEw
IgorUEFTUyBzdGVwVXAoIjA3OjEzOjMwIiwgMi41LCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MzEi
CitQQVNTIHN0ZXBEb3duKCIwNzoxMzozMCIsIDIuNSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzOjI5
IgorUEFTUyBzdGVwVXAoIjA3OjEzOjMwIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgorUEFT
UyBzdGVwRG93bigiMDc6MTM6MzAiLCAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCitQQVNTIHN0
ZXBVcCgiMDc6MTM6MzAiLCAzNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTMiCitQQVNTIHN0ZXBE
b3duKCIwNzoxMzozMCIsIDM2MDAsIG51bGwsIG51bGwpIGlzICIwNzoxMyIKK1BBU1Mgc3RlcFVw
KCIwNzoxMzozMCIsIDExLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MzEiCitQQVNTIHN0ZXBEb3du
KCIwNzoxMzozMCIsIDExLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MjkiCitQQVNTIHN0ZXBVcCgi
MDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCkgaXMgIjA3OjEzOjM1IgorUEFTUyBzdGVw
RG93bigiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCkgaXMgIjA3OjEzOjI1IgorUEFT
UyB0ZXN0KCIwNzoxMzozMCIsIDEwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0p
IGlzICIwNzoxMyIKK1BBU1MgdGVzdCgiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCwgWyJkZWxl
dGUiLCAiZG93bkFycm93Il0pIGlzICIwNzoxMzo1MCIKK1BBU1MgdGVzdCgiMDc6MTM6MzAiLCAx
MCwgIjAwOjAwOjA1IiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MTM6MDUi
CitQQVNTIHRlc3QoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwsIFsiZGVsZXRlIiwg
ImRvd25BcnJvdyJdKSBpcyAiMDc6MTM6NTUiCitNaW51dGVzCitQQVNTIHN0ZXBVcCgiMDc6MTMi
LCAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTQiCitQQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDEsIG51
bGwsIG51bGwpIGlzICIwNzoxMiIKK1BBU1Mgc3RlcFVwKCIwNzo1OSIsIDAuMDAxLCBudWxsLCBu
dWxsKSBpcyAiMDc6MDAiCitQQVNTIHN0ZXBEb3duKCIwNzowMCIsIDAuMDAxLCBudWxsLCBudWxs
KSBpcyAiMDc6NTkiCitQQVNTIHN0ZXBVcCgiMDc6MDAiLCA2MDAsIG51bGwsIG51bGwpIGlzICIw
NzoxMCIKK1BBU1Mgc3RlcERvd24oIjA3OjEwIiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAi
CitQQVNTIHN0ZXBVcCgiMDc6NTAiLCA2MDAsIG51bGwsIG51bGwpIGlzICIwNzowMCIKK1BBU1Mg
c3RlcERvd24oIjA3OjAwIiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6NTAiCitQQVNTIHN0ZXBV
cCgiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwpIGlzICIwNzoyMCIKK1BBU1Mgc3RlcERvd24oIjA3
OjEzIiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTAiCitQQVNTIHN0ZXBVcCgiMDc6MTMiLCAx
NTAsIG51bGwsIG51bGwpIGlzICIwNzoxNCIKK1BBU1Mgc3RlcERvd24oIjA3OjEzIiwgMTUwLCBu
dWxsLCBudWxsKSBpcyAiMDc6MTIiCitQQVNTIHN0ZXBVcCgiMDc6MTMiLCAwLCBudWxsLCBudWxs
KSBpcyAiMDc6MTQiCitQQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDAsIG51bGwsIG51bGwpIGlzICIw
NzoxMiIKK1BBU1Mgc3RlcFVwKCIwNzoxMyIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAi
CitQQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDM2MDAwLCBudWxsLCBudWxsKSBpcyAiMDc6MDAiCitQ
QVNTIHN0ZXBVcCgiMDc6MTMiLCA2NjAsIG51bGwsIG51bGwpIGlzICIwNzoxNCIKK1BBU1Mgc3Rl
cERvd24oIjA3OjEzIiwgNjYwLCBudWxsLCBudWxsKSBpcyAiMDc6MTIiCitQQVNTIHN0ZXBVcCgi
MDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwpIGlzICIwNzoxNSIKK1BBU1Mgc3RlcERvd24oIjA3
OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsKSBpcyAiMDc6MDUiCitQQVNTIHRlc3QoIjA3OjEzIiwg
NjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pIGlzICIwNzowMCIKK1BBU1Mg
dGVzdCgiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBp
cyAiMDc6NTAiCitQQVNTIHRlc3QoIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsLCBbImRlbGV0
ZSIsICJ1cEFycm93Il0pIGlzICIwNzowNSIKK1BBU1MgdGVzdCgiMDc6MTMiLCA2MDAsICIwMDow
NSIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6NTUiCiAKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3Rl
cGRvd24tZnJvbS1yZW5kZXJlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11
bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1y
ZW5kZXJlci5odG1sCmluZGV4IDFhN2NiNjkxYjI1NDhlNzdlZTIzOTFhZWE0NGJlNGU5MzdiZTI1
N2IuLjJlOGE4MWVkMTUyODM1MmJkMjJiZjRiODU3OWQ0ZDA5NWJjZDE3NzkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVyLmh0bWwKQEAgLTE5LDI2ICsxOSwyNiBAQCBm
dW5jdGlvbiBrZXlEb3duKGtleSwgbW9kaWZpZXJzKQogICAgIGV2ZW50U2VuZGVyLmtleURvd24o
a2V5LCBtb2RpZmllcnMpOwogfQogCi1mdW5jdGlvbiBzZXRJbnB1dEF0dHJpYnV0ZXMobWluLCBt
YXgsIHN0ZXAsIHZhbHVlKSB7CitmdW5jdGlvbiBzZXRJbnB1dEF0dHJpYnV0ZXModmFsdWUsIG1p
biwgbWF4LCBzdGVwKSB7CisgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKICAgICBpbnB1dC5taW4g
PSBtaW47CiAgICAgaW5wdXQubWF4ID0gbWF4OwogICAgIGlucHV0LnN0ZXAgPSBzdGVwOwotICAg
IGlucHV0LnZhbHVlID0gdmFsdWU7CiB9CiAKIGZ1bmN0aW9uIHRlc3QodmFsdWUsIHN0ZXAsIG1p
biwgbWF4LCBrZXlTZXF1ZW5jZSkgewotICAgIHNldElucHV0QXR0cmlidXRlcyhtaW4sIG1heCwg
c3RlcCwgdmFsdWUpOworICAgIHNldElucHV0QXR0cmlidXRlcyh2YWx1ZSwgbWluLCBtYXgsIHN0
ZXApOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5U2VxdWVuY2UubGVuZ3RoOyBpKyspCiAg
ICAgICAgIGtleURvd24oa2V5U2VxdWVuY2VbaV0pOwogICAgIHJldHVybiBpbnB1dC52YWx1ZTsK
IH0KIAogZnVuY3Rpb24gc3RlcFVwKHZhbHVlLCBzdGVwLCBtaW4sIG1heCkgewotICAgIHJldHVy
biB0ZXN0KHZhbHVlLHN0ZXAsIG1pbiwgbWF4LCBbJ3VwQXJyb3cnXSk7CisgICAgcmV0dXJuIHRl
c3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBbJ3VwQXJyb3cnXSk7CiB9CiAKIGZ1bmN0aW9uIHN0
ZXBEb3duKHZhbHVlLCBzdGVwLCBtaW4sIG1heCkgewotICAgIHJldHVybiB0ZXN0KHZhbHVlLHN0
ZXAsIG1pbiwgbWF4LCBbJ2Rvd25BcnJvdyddKTsKKyAgICByZXR1cm4gdGVzdCh2YWx1ZSwgc3Rl
cCwgbWluLCBtYXgsIFsnZG93bkFycm93J10pOwogfQogCiBpbnB1dC50eXBlID0gJ3RpbWUnOwpA
QCAtNjcsOCArNjcsMTAgQEAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAw
LjA5OSIsIDAuMTAwLCBudWxsLCBudWxsKScsICcwNzoxMzowMC4xMDAKIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjEwMSIsIDAuMTAwLCBudWxsLCBudWxsKScsICcw
NzoxMzowMC4xMDAnKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzowMC41
MDAiLCAwLjAwMDEsIG51bGwsIG51bGwpJywgJzA3OjEzOjAwLjUwMScpOwogc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgMC4wMDAxLCBudWxsLCBudWxsKScs
ICcwNzoxMzowMC40OTknKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzow
MC41MDAiLCAwLCBudWxsLCBudWxsKScsICcwNzoxMzowMC41MDEnKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAsIG51bGwsIG51bGwpJywgJzA3OjEz
OjAwLjQ5OScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjUwMCIs
IDAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzoxMzowMC41MDAiLCAwLCBudWxsLCBudWxsKScsICcwNzoxMycpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDYwLCBudWxsLCBudWxsKScsICcw
NzoxMycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwg
NjAsIG51bGwsIG51bGwpJywgJzA3OjEzJyk7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBV
cCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxsKScsICcwNzoxMzow
MC41NTAnKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjUwMCIs
IDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCknLCAnMDc6MTM6MDAuNDUwJyk7CiBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCBudWxsLCBudWxsLCBb
ImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzA3OjEzJyk7CkBAIC03Niw2ICs3OCw2MCBAQCBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCBudWxsLCBudWxs
LCBbImRlbGV0ZSIsICJkb3duQQogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzow
MC41MDAiLCAwLjEwMCwgIjAwOjAwOjAwLjA1MCIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ci
XSknLCAnMDc6MTM6MDAuMDUwJyk7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEz
OjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUwIiwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFy
cm93Il0pJywgJzA3OjEzOjAwLjk1MCcpOwogCitkZWJ1ZygnU2Vjb25kcycpOwora2V5RG93bign
bGVmdEFycm93Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MDAiLCAx
LCBudWxsLCBudWxsKScsICcwNzoxMzowMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVw
RG93bigiMDc6MTM6MDEiLCAxLCBudWxsLCBudWxsKScsICcwNzoxMycpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjU5IiwgMC4wMDEsIG51bGwsIG51bGwpJywgJzA3OjEz
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMCIsIDAuMDAxLCBu
dWxsLCBudWxsKScsICcwNzoxMzo1OScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjA3OjEzOjAwIiwgMTAsIG51bGwsIG51bGwpJywgJzA3OjEzOjEwJyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzozMCIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMzoy
MCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjUwIiwgMTAsIG51bGws
IG51bGwpJywgJzA3OjEzJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzox
MzowMCIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMzo1MCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwVXAoIjA3OjEzOjA5IiwgMTAsIG51bGwsIG51bGwpJywgJzA3OjEzOjEwJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzoxMSIsIDEwLCBudWxsLCBudWxs
KScsICcwNzoxMzoxMCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjMw
IiwgMi41LCBudWxsLCBudWxsKScsICcwNzoxMzozMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdzdGVwRG93bigiMDc6MTM6MzAiLCAyLjUsIG51bGwsIG51bGwpJywgJzA3OjEzOjI5Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MzAiLCAwLCBudWxsLCBudWxsKScs
ICcwNzoxMycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MzAiLCAw
LCBudWxsLCBudWxsKScsICcwNzoxMycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAo
IjA3OjEzOjMwIiwgMzYwMCwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwgMzYwMCwgbnVsbCwgbnVsbCknLCAnMDc6MTMn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzozMCIsIDExLCBudWxsLCBu
dWxsKScsICcwNzoxMzozMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6
MTM6MzAiLCAxMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MjknKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcFVwKCIwNzoxMzozMCIsIDEwLCAiMDA6MDA6MDUiLCBudWxsKScsICcwNzoxMzoz
NScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MzAiLCAxMCwgIjAw
OjAwOjA1IiwgbnVsbCknLCAnMDc6MTM6MjUnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dCgiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcw
NzoxMycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzozMCIsIDEwLCBudWxs
LCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMDc6MTM6NTAnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVsbCwgWyJk
ZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzoxMzowNScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0KCIwNzoxMzozMCIsIDEwLCAiMDA6MDA6MDUiLCBudWxsLCBbImRlbGV0ZSIsICJkb3du
QXJyb3ciXSknLCAnMDc6MTM6NTUnKTsKKworZGVidWcoJ01pbnV0ZXMnKTsKK2tleURvd24oJ2xl
ZnRBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwgMSwgbnVs
bCwgbnVsbCknLCAnMDc6MTQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3
OjEzIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6MTInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
c3RlcFVwKCIwNzo1OSIsIDAuMDAxLCBudWxsLCBudWxsKScsICcwNzowMCcpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MDAiLCAwLjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6
NTknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzowMCIsIDYwMCwgbnVsbCwg
bnVsbCknLCAnMDc6MTAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEw
IiwgNjAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjUwIiwgNjAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MDAiLCA2MDAsIG51bGwsIG51bGwpJywgJzA3OjUwJyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwp
JywgJzA3OjIwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMyIsIDYw
MCwgbnVsbCwgbnVsbCknLCAnMDc6MTAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVw
KCIwNzoxMyIsIDE1MCwgbnVsbCwgbnVsbCknLCAnMDc6MTQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKScsICcwNzoxMicpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6
MTQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzIiwgMCwgbnVsbCwg
bnVsbCknLCAnMDc6MTInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMyIs
IDM2MDAwLCBudWxsLCBudWxsKScsICcwNzowMCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMDc6MTMiLCAzNjAwMCwgbnVsbCwgbnVsbCknLCAnMDc6MDAnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMyIsIDY2MCwgbnVsbCwgbnVsbCknLCAnMDc6MTQn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzIiwgNjYwLCBudWxsLCBu
dWxsKScsICcwNzoxMicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzIiwg
NjAwLCAiMDA6MDUiLCBudWxsKScsICcwNzoxNScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwpJywgJzA3OjA1Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIs
ICJ1cEFycm93Il0pJywgJzA3OjAwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3
OjEzIiwgNjAwLCBudWxsLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMDc6NTAn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51
bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDc6MDUnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdCgiMDc6MTMiLCA2MDAsICIwMDowNSIsIG51bGwsIFsiZGVsZXRlIiwgImRvd25B
cnJvdyJdKScsICcwNzo1NScpOworCiBkZWJ1ZygnJyk7CiBkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKGlucHV0KTsKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179406</attachid>
            <date>2012-12-13 20:12:06 -0800</date>
            <delta_ts>2012-12-13 20:57:24 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-104985-20121214130925.patch</filename>
            <type>text/plain</type>
            <size>28542</size>
            <attacher name="Kunihiko Sakamoto">ksakamoto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjNhNzNlNjEyZTY2MjJh
MzJiMGM5ZmFkNGZiMGZjZGIyYzY3NzQ1Mi4uMmFmY2ExY2E3YTUwODBjNGZjMGMwOWRhZTczOGNl
NGEzYzFlNGJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEyLTEzICBLdW5p
aGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU2Vjb25k
cy9NaW51dGVzIGZpZWxkIG9mIGRhdGUvdGltZSBpbnB1dCBVSSBzaG91bGQgcmVzcGVjdCBzdGVw
IGF0dHJpYnV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA0OTg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBtYWtlcyBzdGVwLXVwLy1kb3duIFVJIG9mIHRoZSBzZWNvbmRzIGFuZCBt
aW51dGVzIGZpZWxkcyByZXNwZWN0CisgICAgICAgIHN0ZXAgYXR0cmlidXRlIHdoZW4gcG9zc2li
bGUuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCisKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcDoKKyAgICAgICAgKERh
dGVUaW1lRWRpdEJ1aWxkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0QnVpbGRl
cjo6dmlzaXRGaWVsZCk6IENvbXB1dGUgc3RlcCBwYXJhbWV0ZXJzIGZvciBzZWNvbmRzIGFuZCBt
aW51dGVzIGZpZWxkcywgYW5kIHBhc3MgaXQgdG8gdGhlIGZpZWxkIGVsZW1lbnQgY29uc3RydWN0
b3JzLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0QnVpbGRlcjo6Y3JlYXRlTnVtZXJp
Y0ZpZWxkUGFyYW1ldGVycyk6IEFkZGVkLgorICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZU1pbGxpc2Vjb25k
RmllbGRFbGVtZW50OjpEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50KTogVXNlIFBhcmFt
ZXRlcnMgaW5zdGVhZCBvZiBzdGVwIGFuZCBzdGVwQmFzZS4KKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZSk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lTWludXRlRmllbGRF
bGVtZW50KTogQWRkIFBhcmFtZXRlcnMgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6Y3JlYXRlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50Ojpj
cmVhdGUpOiBEaXR0by4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVu
dHMuaDoKKyAgICAgICAgKERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQpOiBVc2UgUGFy
YW1ldGVycyBpbnN0ZWFkIG9mIHN0ZXAgYW5kIHN0ZXBCYXNlLgorICAgICAgICAoRGF0ZVRpbWVN
aW51dGVGaWVsZEVsZW1lbnQpOiBBZGQgUGFyYW1ldGVycyBhcmd1bWVudC4KKyAgICAgICAgKERh
dGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KTogRGl0dG8uCisgICAgICAgICogaHRtbC9zaGFkb3cv
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KTogVXNl
IFBhcmFtZXRlcnMgaW5zdGVhZCBvZiBzdGVwIGFuZCBzdGVwQmFzZS4KKyAgICAgICAgKiBodG1s
L3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaDoKKyAgICAgICAgKERhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZU51bWVyaWNG
aWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnM6OlBhcmFtZXRlcnMpOgorICAgICAgICAoUGFyYW1ldGVy
cyk6IEFkZGVkLgorCiAyMDEyLTEyLTEzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJFR1JFU1NJT04ocjEzNzQwNik6IE5vZGVUcmF2ZXJzYWwgY2hhbmdlcyBj
YXVzaW5nIGxhcmdlIHJlbmRlcmVyIGNyYXNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
c2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmluZGV4IDUwZjYzNDBlYzczNWRiYjAxNTFm
YjY2NTk0Y2I1ZTFiMDBkYTkzOTAuLmVlMTFhYTQ0YTUwNzVhYTY0ZDFlYzcyMTdjMjk2YTQyMTlj
ODhiNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRp
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRp
dEVsZW1lbnQuY3BwCkBAIC02NSw2ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRN
aW51dGVGaWVsZFJlYWRPbmx5KCkgY29uc3Q7CiAgICAgYm9vbCBzaG91bGRTZWNvbmRGaWVsZFJl
YWRPbmx5KCkgY29uc3Q7CiAgICAgaW5saW5lIGNvbnN0IFN0ZXBSYW5nZSYgc3RlcFJhbmdlKCkg
Y29uc3QgeyByZXR1cm4gbV9wYXJhbWV0ZXJzLnN0ZXBSYW5nZTsgfQorICAgIERhdGVUaW1lTnVt
ZXJpY0ZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyBjcmVhdGVOdW1lcmljRmllbGRQYXJhbWV0ZXJz
KGNvbnN0IERlY2ltYWwmIG1zUGVyRmllbGRVbml0LCBjb25zdCBEZWNpbWFsJiBtc1BlckZpZWxk
U2l6ZSkgY29uc3Q7CiAKICAgICAvLyBEYXRlVGltZUZvcm1hdDo6VG9rZW5IYW5kbGVyIGZ1bmN0
aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRU
eXBlLCBpbnQpIE9WRVJSSURFIEZJTkFMOwpAQCAtMTQ4LDcgKzE0OSw4IEBAIHZvaWQgRGF0ZVRp
bWVFZGl0QnVpbGRlcjo6dmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlIGZpZWxk
VHlwZSwgaW50IGNvCiAgICAgfQogCiAgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBl
TWludXRlOiB7Ci0gICAgICAgIFJlZlB0cjxEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ+IGZp
ZWxkID0gRGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0
RWxlbWVudCk7CisgICAgICAgIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6UGFyYW1ldGVy
cyBwYXJhbWV0ZXJzID0gY3JlYXRlTnVtZXJpY0ZpZWxkUGFyYW1ldGVycyhzdGF0aWNfY2FzdDxp
bnQ+KG1zUGVyTWludXRlKSwgc3RhdGljX2Nhc3Q8aW50Pihtc1BlckhvdXIpKTsKKyAgICAgICAg
UmVmUHRyPERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmllbGQgPSBEYXRlVGltZU1pbnV0
ZUZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBwYXJhbWV0ZXJz
KTsKICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChmaWVsZCk7CiAgICAgICAgIGlmIChz
aG91bGRNaW51dGVGaWVsZFJlYWRPbmx5KCkpIHsKICAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1
ZUFzRGF0ZShtX2RhdGVWYWx1ZSk7CkBAIC0xOTgsNyArMjAwLDggQEAgdm9pZCBEYXRlVGltZUVk
aXRCdWlsZGVyOjp2aXNpdEZpZWxkKERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGUgZmllbGRUeXBl
LCBpbnQgY28KICAgICB9CiAKICAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVTZWNv
bmQ6IHsKLSAgICAgICAgUmVmUHRyPERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudD4gZmllbGQg
PSBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVt
ZW50KTsKKyAgICAgICAgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzIHBh
cmFtZXRlcnMgPSBjcmVhdGVOdW1lcmljRmllbGRQYXJhbWV0ZXJzKHN0YXRpY19jYXN0PGludD4o
bXNQZXJTZWNvbmQpLCBzdGF0aWNfY2FzdDxpbnQ+KG1zUGVyTWludXRlKSk7CisgICAgICAgIFJl
ZlB0cjxEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ+IGZpZWxkID0gRGF0ZVRpbWVTZWNvbmRG
aWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgcGFyYW1ldGVycyk7
CiAgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmllbGQoZmllbGQpOwogICAgICAgICBpZiAoc2hv
dWxkU2Vjb25kRmllbGRSZWFkT25seSgpKSB7CiAgICAgICAgICAgICBmaWVsZC0+c2V0VmFsdWVB
c0RhdGUobV9kYXRlVmFsdWUpOwpAQCAtMjEzLDE2ICsyMTYsOCBAQCB2b2lkIERhdGVUaW1lRWRp
dEJ1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBmaWVsZFR5cGUs
IGludCBjbwogICAgIH0KIAogICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZUZyYWN0
aW9uYWxTZWNvbmQ6IHsKLSAgICAgICAgQVNTRVJUKCFtX3BhcmFtZXRlcnMuc3RlcFJhbmdlLnN0
ZXAoKS5pc1plcm8oKSk7Ci0gICAgICAgIGludCBzdGVwID0gMTsKLSAgICAgICAgaW50IHN0ZXBC
YXNlID0gMDsKLSAgICAgICAgY29uc3QgRGVjaW1hbCBkZWNpbWFsTXNQZXJTZWNvbmQoc3RhdGlj
X2Nhc3Q8aW50Pihtc1BlclNlY29uZCkpOwotCi0gICAgICAgIGlmIChkZWNpbWFsTXNQZXJTZWNv
bmQucmVtYWluZGVyKG1fcGFyYW1ldGVycy5zdGVwUmFuZ2Uuc3RlcCgpKS5pc1plcm8oKSAmJiBt
X3BhcmFtZXRlcnMuc3RlcFJhbmdlLnN0ZXAoKS5yZW1haW5kZXIoRGVjaW1hbCgxKSkuaXNaZXJv
KCkpIHsKLSAgICAgICAgICAgIHN0ZXAgPSBzdGF0aWNfY2FzdDxpbnQ+KG1fcGFyYW1ldGVycy5z
dGVwUmFuZ2Uuc3RlcCgpLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgc3RlcEJhc2UgPSBzdGF0
aWNfY2FzdDxpbnQ+KG1fcGFyYW1ldGVycy5zdGVwUmFuZ2Uuc3RlcEJhc2UoKS5yZW1haW5kZXIo
ZGVjaW1hbE1zUGVyU2Vjb25kKS50b0RvdWJsZSgpKTsKLSAgICAgICAgfQotICAgICAgICBSZWZQ
dHI8RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50PiBmaWVsZCA9IERhdGVUaW1lTWlsbGlzZWNv
bmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCwgc3RlcCwgc3Rl
cEJhc2UpOworICAgICAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnMg
cGFyYW1ldGVycyA9IGNyZWF0ZU51bWVyaWNGaWVsZFBhcmFtZXRlcnMoMSwgc3RhdGljX2Nhc3Q8
aW50Pihtc1BlclNlY29uZCkpOworICAgICAgICBSZWZQdHI8RGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50PiBmaWVsZCA9IERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShk
b2N1bWVudCwgbV9lZGl0RWxlbWVudCwgcGFyYW1ldGVycyk7CiAgICAgICAgIG1fZWRpdEVsZW1l
bnQuYWRkRmllbGQoZmllbGQpOwogICAgICAgICBpZiAoc2hvdWxkTWlsbGlzZWNvbmRGaWVsZFJl
YWRPbmx5KCkpIHsKICAgICAgICAgICAgIGZpZWxkLT5zZXRWYWx1ZUFzRGF0ZShtX2RhdGVWYWx1
ZSk7CkBAIC0zMDcsNiArMzAyLDI1IEBAIHZvaWQgRGF0ZVRpbWVFZGl0QnVpbGRlcjo6dmlzaXRM
aXRlcmFsKGNvbnN0IFN0cmluZyYgdGV4dCkKICAgICBtX2VkaXRFbGVtZW50LmFwcGVuZENoaWxk
KGVsZW1lbnQpOwogfQogCitEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnMg
RGF0ZVRpbWVFZGl0QnVpbGRlcjo6Y3JlYXRlTnVtZXJpY0ZpZWxkUGFyYW1ldGVycyhjb25zdCBE
ZWNpbWFsJiBtc1BlckZpZWxkVW5pdCwgY29uc3QgRGVjaW1hbCYgbXNQZXJGaWVsZFNpemUpIGNv
bnN0Cit7CisgICAgQVNTRVJUKCFtc1BlckZpZWxkVW5pdC5pc1plcm8oKSk7CisgICAgQVNTRVJU
KCFtc1BlckZpZWxkU2l6ZS5pc1plcm8oKSk7CisgICAgRGVjaW1hbCBzdGVwTWlsbGlzZWNvbmRz
ID0gc3RlcFJhbmdlKCkuc3RlcCgpOworICAgIEFTU0VSVCghc3RlcE1pbGxpc2Vjb25kcy5pc1pl
cm8oKSk7CisKKyAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnMgcGFy
YW1ldGVycygxLCAwKTsKKworICAgIGlmIChzdGVwTWlsbGlzZWNvbmRzLnJlbWFpbmRlcihtc1Bl
ckZpZWxkU2l6ZSkuaXNaZXJvKCkpCisgICAgICAgIHN0ZXBNaWxsaXNlY29uZHMgPSBtc1BlckZp
ZWxkU2l6ZTsKKworICAgIGlmIChtc1BlckZpZWxkU2l6ZS5yZW1haW5kZXIoc3RlcE1pbGxpc2Vj
b25kcykuaXNaZXJvKCkgJiYgc3RlcE1pbGxpc2Vjb25kcy5yZW1haW5kZXIobXNQZXJGaWVsZFVu
aXQpLmlzWmVybygpKSB7CisgICAgICAgIHBhcmFtZXRlcnMuc3RlcCA9IHN0YXRpY19jYXN0PGlu
dD4oKHN0ZXBNaWxsaXNlY29uZHMgLyBtc1BlckZpZWxkVW5pdCkudG9Eb3VibGUoKSk7CisgICAg
ICAgIHBhcmFtZXRlcnMuc3RlcEJhc2UgPSBzdGF0aWNfY2FzdDxpbnQ+KChzdGVwUmFuZ2UoKS5z
dGVwQmFzZSgpIC8gbXNQZXJGaWVsZFVuaXQpLmZsb29yKCkucmVtYWluZGVyKG1zUGVyRmllbGRT
aXplIC8gbXNQZXJGaWVsZFVuaXQpLnRvRG91YmxlKCkpOworICAgIH0KKyAgICByZXR1cm4gcGFy
YW1ldGVyczsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBEYXRlVGlt
ZUVkaXRFbGVtZW50OjpFZGl0Q29udHJvbE93bmVyOjp+RWRpdENvbnRyb2xPd25lcigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNw
cAppbmRleCAwNTI2MmZhY2NhYTgzYzRjMGFjMGEyMzEwYWE4MDA4NGRkOTMzYjcyLi5iZThiMGY0
NTQ5NzlhNzY3M2M1Mzg2MjdlZDkwYjQxOWI3MGJiNzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAKQEAgLTIxNywxNSAr
MjE3LDE1IEBAIGludCBEYXRlVGltZUhvdXJGaWVsZEVsZW1lbnQ6OnZhbHVlQXNJbnRlZ2VyKCkg
Y29uc3QKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1EYXRlVGltZU1pbGxp
c2Vjb25kRmllbGRFbGVtZW50OjpEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50KERvY3Vt
ZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgaW50IHN0ZXAsIGludCBzdGVw
QmFzZSkKLSAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRP
d25lciwgMCwgOTk5LCAiLS0tIiwgc3RlcCwgc3RlcEJhc2UpCitEYXRlVGltZU1pbGxpc2Vjb25k
RmllbGRFbGVtZW50OjpEYXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50KERvY3VtZW50KiBk
b2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgIDogRGF0ZVRpbWVOdW1lcmlj
RmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCAwLCA5OTksICItLS0iLCBwYXJhbWV0
ZXJzKQogewogfQogCi1QYXNzUmVmUHRyPERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ+
IERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGludCBzdGVwLCBpbnQgc3RlcEJhc2UpCitQYXNz
UmVmUHRyPERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ+IERhdGVUaW1lTWlsbGlzZWNv
bmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZp
ZWxkT3duZXIsIGNvbnN0IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyYg
cGFyYW1ldGVycykKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWls
bGlzZWNvbmRQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmll
bGQiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKSk7Ci0gICAgUmVmUHRyPERh
dGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVU
aW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIHN0ZXAsIHN0
ZXBCYXNlKSk7CisgICAgUmVmUHRyPERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQ+IGZp
ZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1lbnQoZG9jdW1l
bnQsIGZpZWxkT3duZXIsIHBhcmFtZXRlcnMpKTsKICAgICBmaWVsZC0+aW5pdGlhbGl6ZShtaWxs
aXNlY29uZFBzdWVkb0lkLCBBWE1pbGxpc2Vjb25kRmllbGRUZXh0KCkpOwogICAgIHJldHVybiBm
aWVsZC5yZWxlYXNlKCk7CiB9CkBAIC0yNTgsMTUgKzI1OCwxNSBAQCB2b2lkIERhdGVUaW1lTWls
bGlzZWNvbmRGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0
IERhdGVUaQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLURhdGVUaW1lTWlu
dXRlRmllbGRFbGVtZW50OjpEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudChEb2N1bWVudCogZG9j
dW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIpCi0gICAgOiBEYXRlVGltZU51bWVyaWNGaWVs
ZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIDAsIDU5LCAiLS0iKQorRGF0ZVRpbWVNaW51
dGVGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lTWludXRlRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1
bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgIDogRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCAwLCA1OSwgIi0tIiwgcGFyYW1ldGVycykK
IHsKIH0KIAotUGFzc1JlZlB0cjxEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudD4gRGF0ZVRpbWVN
aW51dGVGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXIm
IGZpZWxkT3duZXIpCitQYXNzUmVmUHRyPERhdGVUaW1lTWludXRlRmllbGRFbGVtZW50PiBEYXRl
VGltZU1pbnV0ZUZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRmllbGRP
d25lciYgZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpQYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBtaW51dGVQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxk
IiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJlZlB0cjxEYXRl
VGltZU1pbnV0ZUZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0ZVRpbWVNaW51
dGVGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIpKTsKKyAgICBSZWZQdHI8RGF0ZVRp
bWVNaW51dGVGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lTWludXRl
RmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwYXJhbWV0ZXJzKSk7CiAgICAgZmll
bGQtPmluaXRpYWxpemUobWludXRlUHN1ZWRvSWQsIEFYTWludXRlRmllbGRUZXh0KCkpOwogICAg
IHJldHVybiBmaWVsZC5yZWxlYXNlKCk7CiB9CkBAIC0zNDAsMTUgKzM0MCwxNSBAQCB2b2lkIERh
dGVUaW1lTW9udGhGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNv
bnN0IERhdGVUaW1lRmllbAogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLURh
dGVUaW1lU2Vjb25kRmllbGRFbGVtZW50OjpEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudChEb2N1
bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIpCi0gICAgOiBEYXRlVGltZU51
bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIDAsIDU5LCAiLS0iKQorRGF0
ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KERvY3Vt
ZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQorICAgIDogRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCAwLCA1OSwgIi0tIiwgcGFy
YW1ldGVycykKIHsKIH0KIAotUGFzc1JlZlB0cjxEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudD4g
RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZp
ZWxkT3duZXImIGZpZWxkT3duZXIpCitQYXNzUmVmUHRyPERhdGVUaW1lU2Vjb25kRmllbGRFbGVt
ZW50PiBEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVu
dCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50OjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwo
QXRvbWljU3RyaW5nLCBzZWNvbmRQc3VlZG9JZCwgKCItd2Via2l0LWRhdGV0aW1lLWVkaXQtc2Vj
b25kLWZpZWxkIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIFJl
ZlB0cjxEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudD4gZmllbGQgPSBhZG9wdFJlZihuZXcgRGF0
ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIpKTsKKyAgICBSZWZQ
dHI8RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVU
aW1lU2Vjb25kRmllbGRFbGVtZW50KGRvY3VtZW50LCBmaWVsZE93bmVyLCBwYXJhbWV0ZXJzKSk7
CiAgICAgZmllbGQtPmluaXRpYWxpemUoc2Vjb25kUHN1ZWRvSWQsIEFYU2Vjb25kRmllbGRUZXh0
KCkpOwogICAgIHJldHVybiBmaWVsZC5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oCmluZGV4IGI5Y2Q1NjM5MDYw
YzVhNTNhNTJiNTE3MjQ5ZjRjYmQwNWQ2ZTBmOTkuLjViZjZhNmIwNWRmYzBkOGMwODQ4ZWM5Mjc1
ZWJjMzg4YzBlYzk2NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRmllbGRFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRmllbGRFbGVtZW50cy5oCkBAIC05MSwxMCArOTEsMTAgQEAgY2xhc3MgRGF0ZVRpbWVN
aWxsaXNlY29uZEZpZWxkRWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVs
ZW1lbnQpOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVNaWxsaXNl
Y29uZEZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGludCBzdGVw
LCBpbnQgc3RlcEJhc2UpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lTWlsbGlzZWNv
bmRGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnMmKTsKIAogcHJpdmF0ZToKLSAgICBE
YXRlVGltZU1pbGxpc2Vjb25kRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGlu
dCBzdGVwLCBpbnQgc3RlcEJhc2UpOworICAgIERhdGVUaW1lTWlsbGlzZWNvbmRGaWVsZEVsZW1l
bnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50OjpQYXJhbWV0ZXJzJik7CiAKICAgICAvLyBEYXRlVGltZUZpZWxkRWxlbWVudCBmdW5jdGlv
bnMuCiAgICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRGF0ZVRpbWVGaWVsZHNTdGF0ZShEYXRlVGlt
ZUZpZWxkc1N0YXRlJikgT1ZFUlJJREUgRklOQUw7CkBAIC0xMDYsMTAgKzEwNiwxMCBAQCBjbGFz
cyBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVs
ZEVsZW1lbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lTWludXRlRmllbGRF
bGVtZW50KTsKIAogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lTWludXRl
RmllbGRFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqLCBGaWVsZE93bmVyJik7CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RGF0ZVRpbWVNaW51dGVGaWVsZEVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCos
IEZpZWxkT3duZXImLCBjb25zdCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlBhcmFtZXRl
cnMmKTsKIAogcHJpdmF0ZToKLSAgICBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudChEb2N1bWVu
dCosIEZpZWxkT3duZXImKTsKKyAgICBEYXRlVGltZU1pbnV0ZUZpZWxkRWxlbWVudChEb2N1bWVu
dCosIEZpZWxkT3duZXImLCBjb25zdCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlBhcmFt
ZXRlcnMmKTsKIAogICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KICAgICB2
aXJ0dWFsIHZvaWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3Rh
dGUmKSBPVkVSUklERSBGSU5BTDsKQEAgLTEzNiwxMCArMTM2LDEwIEBAIGNsYXNzIERhdGVUaW1l
U2Vjb25kRmllbGRFbGVtZW50IDogcHVibGljIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudCB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1lbnQpOwog
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVTZWNvbmRGaWVsZEVsZW1l
bnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxEYXRlVGltZVNlY29uZEZpZWxkRWxlbWVudD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25l
ciYsIGNvbnN0IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyYpOwogCiBw
cml2YXRlOgotICAgIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRP
d25lciYpOworICAgIERhdGVUaW1lU2Vjb25kRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRP
d25lciYsIGNvbnN0IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyYpOwog
CiAgICAgLy8gRGF0ZVRpbWVGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgdm9p
ZCBwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUoRGF0ZVRpbWVGaWVsZHNTdGF0ZSYpIE9WRVJS
SURFIEZJTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVOdW1lcmljRmllbGRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5jcHAKaW5kZXggOGRkM2RiZGJjNTBhYzk3YzE5ZTQ5
MmM3MGI4MDU0YzEwNTAwNDM5Zi4uZGMxYjU2NDZkNTQxYjY0ZWMwMTIwODY4MTFmM2Y3NjA3NzNi
ZDRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1l
cmljRmllbGRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3BwCkBAIC01OSwxNSArNTksMTUgQEAgYm9vbCBEYXRl
VGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OlJhbmdlOjppc0luUmFuZ2UoaW50IHZhbHVlKSBjb25z
dAogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLURhdGVUaW1lTnVtZXJpY0Zp
ZWxkRWxlbWVudDo6RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVu
dCwgRmllbGRPd25lciYgZmllbGRPd25lciwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtLCBjb25z
dCBTdHJpbmcmIHBsYWNlaG9sZGVyLCBpbnQgc3RlcCwgaW50IHN0ZXBCYXNlKQorRGF0ZVRpbWVO
dW1lcmljRmllbGRFbGVtZW50OjpEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQq
IGRvY3VtZW50LCBGaWVsZE93bmVyJiBmaWVsZE93bmVyLCBpbnQgbWluaW11bSwgaW50IG1heGlt
dW0sIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIsIGNvbnN0IERhdGVUaW1lTnVtZXJpY0ZpZWxk
RWxlbWVudDo6UGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICA6IERhdGVUaW1lRmllbGRFbGVt
ZW50KGRvY3VtZW50LCBmaWVsZE93bmVyKQogICAgICwgbV9sYXN0RGlnaXRDaGFyVGltZSgwKQog
ICAgICwgbV9wbGFjZWhvbGRlcihwbGFjZWhvbGRlcikKICAgICAsIG1fcmFuZ2UobWluaW11bSwg
bWF4aW11bSkKICAgICAsIG1fdmFsdWUoMCkKICAgICAsIG1faGFzVmFsdWUoZmFsc2UpCi0gICAg
LCBtX3N0ZXAoc3RlcCkKLSAgICAsIG1fc3RlcEJhc2Uoc3RlcEJhc2UpCisgICAgLCBtX3N0ZXAo
cGFyYW1ldGVycy5zdGVwKQorICAgICwgbV9zdGVwQmFzZShwYXJhbWV0ZXJzLnN0ZXBCYXNlKQog
ewogICAgIEFTU0VSVChtX3N0ZXApOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCmluZGV4IDNhYjViY2Y2NzM4
MDFhNDMyNTQ1Njg1NDNjMmFmMzc3MjNkM2Y1YTcuLjMxN2M4NGM5MDRkY2MxOTY0M2EwZmY3NzNj
NjNlNjk3NGM3MTcxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCkBAIC00MSw2ICs0MSwxMyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgOiBwdWJs
aWMgRGF0ZVRpbWVGaWVsZEVsZW1lbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudCk7CiAKK3B1YmxpYzoKKyAgICBzdHJ1Y3QgUGFyYW1ldGVy
cyB7CisgICAgICAgIFBhcmFtZXRlcnMoaW50IHN0ZXAgPSAxLCBpbnQgc3RlcEJhc2UgPSAwKSA6
IHN0ZXAoc3RlcCksIHN0ZXBCYXNlKHN0ZXBCYXNlKSB7IH0KKyAgICAgICAgaW50IHN0ZXA7Cisg
ICAgICAgIGludCBzdGVwQmFzZTsKKyAgICB9OworCiBwcm90ZWN0ZWQ6CiAgICAgc3RydWN0IFJh
bmdlIHsKICAgICAgICAgUmFuZ2UoaW50IG1pbmltdW0sIGludCBtYXhpbXVtKTsKQEAgLTUxLDcg
KzU4LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBpbnQgbWluaW11bTsKICAgICB9OwogCi0gICAg
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGludCBt
aW5pbXVtLCBpbnQgbWF4aW11bSwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlciwgaW50IHN0ZXAg
PSAxLCBpbnQgc3RlcEJhc2UgPSAwKTsKKyAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQo
RG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtLCBjb25zdCBT
dHJpbmcmIHBsYWNlaG9sZGVyLCBjb25zdCBQYXJhbWV0ZXJzJiA9IFBhcmFtZXRlcnMoKSk7CiAK
ICAgICBpbnQgY2xhbXBWYWx1ZShpbnQgdmFsdWUpIGNvbnN0IHsgcmV0dXJuIG1fcmFuZ2UuY2xh
bXBWYWx1ZSh2YWx1ZSk7IH0KICAgICB2aXJ0dWFsIGludCBjbGFtcFZhbHVlRm9ySGFyZExpbWl0
cyhpbnQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2MjRkMTQ3MjMxZDU4NTZhYWUzZDcyZTk2ZWViODk5Y2Ex
ZGQ1YzEuLjBiM2E1ZTFkOTBmYzU1NjAxZjI4N2E2YzY2YTgyYzVmMzVkYTAwNjEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxMi0xMi0xMyAgS3VuaWhpa28gU2FrYW1vdG8gIDxrc2FrYW1vdG9A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFNlY29uZHMvTWludXRlcyBmaWVsZCBvZiBkYXRlL3Rp
bWUgaW5wdXQgVUkgc2hvdWxkIHJlc3BlY3Qgc3RlcCBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDk4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5k
ZXJlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5o
dG1sOgorICAgICAgICBBZGRlZCB0ZXN0IGNhc2VzIGZvciBzZWNvbmRzIGFuZCBtaW51dGVzIGZp
ZWxkcy4KKyAgICAgICAgVXBkYXRlIGFuIGV4cGVjdGF0aW9uIGZvciBtaWxsaXNlY29uZHM6IHZh
bHVlPTA3OjEzOjAwLjUwMCwgc3RlcD0wIHNob3VsZCByb3VuZCB0byAwNzoxMzowMC4wMDAKKyAg
ICAgICAgKHNldElucHV0QXR0cmlidXRlcyk6IFNldCB2YWx1ZSBhdHRyaWJ1dGUgZmlyc3QgdG8g
YXZvaWQgdGhlIGZvY3VzZWQgZmllbGQgYmVjb21lcyByZWFkLW9ubHkgYW5kIHVuZm9jdXNlZC4K
KwogMjAxMi0xMi0xMyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
VGhpcyB0ZXN0IHN0YXJ0ZWQgZmFpbGluZyBhZnRlciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xMzc1OTIgd2hpY2ggCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93
bi1mcm9tLXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGlt
ZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZy
b20tcmVuZGVyZXItZXhwZWN0ZWQudHh0CmluZGV4IGFkZTJiZTdhY2UyY2NmOTQzY2ZiYmI4NmFl
MDU0ZDFhY2E3MzkwZGYuLjNmZTM5ZDY1NmY1NzQxMzNmNDhjMjIyYmU5NTZkYWE0MmZiMDIxYzUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXItZXhwZWN0
ZWQudHh0CkBAIC0yMiwxNCArMjIsNjYgQEAgUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjA5OSIsIDAu
MTAwLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MDAuMTAwIgogUEFTUyBzdGVwRG93bigiMDc6MTM6
MDAuMTAxIiwgMC4xMDAsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMC4xMDAiCiBQQVNTIHN0ZXBV
cCgiMDc6MTM6MDAuNTAwIiwgMC4wMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MDAuNTAxIgog
UEFTUyBzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgMC4wMDAxLCBudWxsLCBudWxsKSBpcyAiMDc6
MTM6MDAuNDk5IgotUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAsIG51bGwsIG51bGwpIGlz
ICIwNzoxMzowMC41MDEiCi1QQVNTIHN0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLCBudWxsLCBu
dWxsKSBpcyAiMDc6MTM6MDAuNDk5IgorUEFTUyBzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAsIG51
bGwsIG51bGwpIGlzICIwNzoxMyIKK1BBU1Mgc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAsIG51
bGwsIG51bGwpIGlzICIwNzoxMyIKK1BBU1Mgc3RlcFVwKCIwNzoxMzowMC41MDAiLCA2MCwgbnVs
bCwgbnVsbCkgaXMgIjA3OjEzIgorUEFTUyBzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgNjAsIG51
bGwsIG51bGwpIGlzICIwNzoxMyIKIFBBU1Mgc3RlcFVwKCIwNzoxMzowMC41MDAiLCAwLjEwMCwg
IjAwOjAwOjAwLjA1MCIsIG51bGwpIGlzICIwNzoxMzowMC41NTAiCiBQQVNTIHN0ZXBEb3duKCIw
NzoxMzowMC41MDAiLCAwLjEwMCwgIjAwOjAwOjAwLjA1MCIsIG51bGwpIGlzICIwNzoxMzowMC40
NTAiCiBQQVNTIHRlc3QoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCBudWxsLCBudWxsLCBbImRlbGV0
ZSIsICJ1cEFycm93Il0pIGlzICIwNzoxMyIKIFBBU1MgdGVzdCgiMDc6MTM6MDAuNTAwIiwgMC4x
MDAsIG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6MTM6MDAuOTAw
IgogUEFTUyB0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgIjAwOjAwOjAwLjA1MCIsIG51bGws
IFsiZGVsZXRlIiwgInVwQXJyb3ciXSkgaXMgIjA3OjEzOjAwLjA1MCIKIFBBU1MgdGVzdCgiMDc6
MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxsLCBbImRlbGV0ZSIsICJkb3du
QXJyb3ciXSkgaXMgIjA3OjEzOjAwLjk1MCIKK1NlY29uZHMKK1BBU1Mgc3RlcFVwKCIwNzoxMzow
MCIsIDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzowMSIKK1BBU1Mgc3RlcERvd24oIjA3OjEzOjAx
IiwgMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEzIgorUEFTUyBzdGVwVXAoIjA3OjEzOjU5IiwgMC4w
MDEsIG51bGwsIG51bGwpIGlzICIwNzoxMyIKK1BBU1Mgc3RlcERvd24oIjA3OjEzOjAwIiwgMC4w
MDEsIG51bGwsIG51bGwpIGlzICIwNzoxMzo1OSIKK1BBU1Mgc3RlcFVwKCIwNzoxMzowMCIsIDEw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MTAiCitQQVNTIHN0ZXBEb3duKCIwNzoxMzozMCIsIDEw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTM6MjAiCitQQVNTIHN0ZXBVcCgiMDc6MTM6NTAiLCAxMCwg
bnVsbCwgbnVsbCkgaXMgIjA3OjEzIgorUEFTUyBzdGVwRG93bigiMDc6MTM6MDAiLCAxMCwgbnVs
bCwgbnVsbCkgaXMgIjA3OjEzOjUwIgorUEFTUyBzdGVwVXAoIjA3OjEzOjA5IiwgMTAsIG51bGws
IG51bGwpIGlzICIwNzoxMzoxMCIKK1BBU1Mgc3RlcERvd24oIjA3OjEzOjExIiwgMTAsIG51bGws
IG51bGwpIGlzICIwNzoxMzoxMCIKK1BBU1Mgc3RlcFVwKCIwNzoxMzozMCIsIDIuNSwgbnVsbCwg
bnVsbCkgaXMgIjA3OjEzOjMxIgorUEFTUyBzdGVwRG93bigiMDc6MTM6MzAiLCAyLjUsIG51bGws
IG51bGwpIGlzICIwNzoxMzoyOSIKK1BBU1Mgc3RlcFVwKCIwNzoxMzozMCIsIDAsIG51bGwsIG51
bGwpIGlzICIwNzoxMyIKK1BBU1Mgc3RlcERvd24oIjA3OjEzOjMwIiwgMCwgbnVsbCwgbnVsbCkg
aXMgIjA3OjEzIgorUEFTUyBzdGVwVXAoIjA3OjEzOjMwIiwgMzYwMCwgbnVsbCwgbnVsbCkgaXMg
IjA3OjEzIgorUEFTUyBzdGVwRG93bigiMDc6MTM6MzAiLCAzNjAwLCBudWxsLCBudWxsKSBpcyAi
MDc6MTMiCitQQVNTIHN0ZXBVcCgiMDc6MTM6MzAiLCAxMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
OjMxIgorUEFTUyBzdGVwRG93bigiMDc6MTM6MzAiLCAxMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjEz
OjI5IgorUEFTUyBzdGVwVXAoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwpIGlzICIw
NzoxMzozNSIKK1BBU1Mgc3RlcERvd24oIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwp
IGlzICIwNzoxMzoyNSIKK1BBU1MgdGVzdCgiMDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCwgWyJk
ZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MTMiCitQQVNTIHRlc3QoIjA3OjEzOjMwIiwgMTAs
IG51bGwsIG51bGwsIFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKSBpcyAiMDc6MTM6NTAiCitQQVNT
IHRlc3QoIjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJy
b3ciXSkgaXMgIjA3OjEzOjA1IgorUEFTUyB0ZXN0KCIwNzoxMzozMCIsIDEwLCAiMDA6MDA6MDUi
LCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMgIjA3OjEzOjU1IgorTWludXRlcwor
UEFTUyBzdGVwVXAoIjA3OjEzIiwgMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjE0IgorUEFTUyBzdGVw
RG93bigiMDc6MTMiLCAxLCBudWxsLCBudWxsKSBpcyAiMDc6MTIiCitQQVNTIHN0ZXBVcCgiMDc6
NTkiLCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjAwIgorUEFTUyBzdGVwRG93bigiMDc6MDAi
LCAwLjAwMSwgbnVsbCwgbnVsbCkgaXMgIjA3OjU5IgorUEFTUyBzdGVwVXAoIjA3OjAwIiwgNjAw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTAiCitQQVNTIHN0ZXBEb3duKCIwNzoxMCIsIDYwMCwgbnVs
bCwgbnVsbCkgaXMgIjA3OjAwIgorUEFTUyBzdGVwVXAoIjA3OjUwIiwgNjAwLCBudWxsLCBudWxs
KSBpcyAiMDc6MDAiCitQQVNTIHN0ZXBEb3duKCIwNzowMCIsIDYwMCwgbnVsbCwgbnVsbCkgaXMg
IjA3OjUwIgorUEFTUyBzdGVwVXAoIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsKSBpcyAiMDc6MjAi
CitQQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDYwMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEwIgorUEFT
UyBzdGVwVXAoIjA3OjEzIiwgMTUwLCBudWxsLCBudWxsKSBpcyAiMDc6MTQiCitQQVNTIHN0ZXBE
b3duKCIwNzoxMyIsIDE1MCwgbnVsbCwgbnVsbCkgaXMgIjA3OjEyIgorUEFTUyBzdGVwVXAoIjA3
OjEzIiwgMCwgbnVsbCwgbnVsbCkgaXMgIjA3OjE0IgorUEFTUyBzdGVwRG93bigiMDc6MTMiLCAw
LCBudWxsLCBudWxsKSBpcyAiMDc6MTIiCitQQVNTIHN0ZXBVcCgiMDc6MTMiLCAzNjAwMCwgbnVs
bCwgbnVsbCkgaXMgIjA3OjAwIgorUEFTUyBzdGVwRG93bigiMDc6MTMiLCAzNjAwMCwgbnVsbCwg
bnVsbCkgaXMgIjA3OjAwIgorUEFTUyBzdGVwVXAoIjA3OjEzIiwgNjYwLCBudWxsLCBudWxsKSBp
cyAiMDc6MTQiCitQQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDY2MCwgbnVsbCwgbnVsbCkgaXMgIjA3
OjEyIgorUEFTUyBzdGVwVXAoIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsKSBpcyAiMDc6MTUi
CitQQVNTIHN0ZXBEb3duKCIwNzoxMyIsIDYwMCwgIjAwOjA1IiwgbnVsbCkgaXMgIjA3OjA1Igor
UEFTUyB0ZXN0KCIwNzoxMyIsIDYwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJd
KSBpcyAiMDc6MDAiCitQQVNTIHRlc3QoIjA3OjEzIiwgNjAwLCBudWxsLCBudWxsLCBbImRlbGV0
ZSIsICJkb3duQXJyb3ciXSkgaXMgIjA3OjUwIgorUEFTUyB0ZXN0KCIwNzoxMyIsIDYwMCwgIjAw
OjA1IiwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKSBpcyAiMDc6MDUiCitQQVNTIHRlc3Qo
IjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsLCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSkgaXMg
IjA3OjU1IgogCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtc3RlcHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtc3Rl
cHVwLXN0ZXBkb3duLWZyb20tcmVuZGVyZXIuaHRtbAppbmRleCAxYTdjYjY5MWIyNTQ4ZTc3ZWUy
MzkxYWVhNDRiZTRlOTM3YmUyNTdiLi4yZThhODFlZDE1MjgzNTJiZDIyYmY0Yjg1NzlkNGQwOTVi
Y2QxNzc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUt
ZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLXN0ZXB1cC1zdGVwZG93bi1mcm9tLXJlbmRlcmVy
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1zdGVwdXAtc3RlcGRvd24tZnJvbS1yZW5kZXJlci5odG1sCkBA
IC0xOSwyNiArMTksMjYgQEAgZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKICAgICBl
dmVudFNlbmRlci5rZXlEb3duKGtleSwgbW9kaWZpZXJzKTsKIH0KIAotZnVuY3Rpb24gc2V0SW5w
dXRBdHRyaWJ1dGVzKG1pbiwgbWF4LCBzdGVwLCB2YWx1ZSkgeworZnVuY3Rpb24gc2V0SW5wdXRB
dHRyaWJ1dGVzKHZhbHVlLCBtaW4sIG1heCwgc3RlcCkgeworICAgIGlucHV0LnZhbHVlID0gdmFs
dWU7CiAgICAgaW5wdXQubWluID0gbWluOwogICAgIGlucHV0Lm1heCA9IG1heDsKICAgICBpbnB1
dC5zdGVwID0gc3RlcDsKLSAgICBpbnB1dC52YWx1ZSA9IHZhbHVlOwogfQogCiBmdW5jdGlvbiB0
ZXN0KHZhbHVlLCBzdGVwLCBtaW4sIG1heCwga2V5U2VxdWVuY2UpIHsKLSAgICBzZXRJbnB1dEF0
dHJpYnV0ZXMobWluLCBtYXgsIHN0ZXAsIHZhbHVlKTsKKyAgICBzZXRJbnB1dEF0dHJpYnV0ZXMo
dmFsdWUsIG1pbiwgbWF4LCBzdGVwKTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleVNlcXVl
bmNlLmxlbmd0aDsgaSsrKQogICAgICAgICBrZXlEb3duKGtleVNlcXVlbmNlW2ldKTsKICAgICBy
ZXR1cm4gaW5wdXQudmFsdWU7CiB9CiAKIGZ1bmN0aW9uIHN0ZXBVcCh2YWx1ZSwgc3RlcCwgbWlu
LCBtYXgpIHsKLSAgICByZXR1cm4gdGVzdCh2YWx1ZSxzdGVwLCBtaW4sIG1heCwgWyd1cEFycm93
J10pOworICAgIHJldHVybiB0ZXN0KHZhbHVlLCBzdGVwLCBtaW4sIG1heCwgWyd1cEFycm93J10p
OwogfQogCiBmdW5jdGlvbiBzdGVwRG93bih2YWx1ZSwgc3RlcCwgbWluLCBtYXgpIHsKLSAgICBy
ZXR1cm4gdGVzdCh2YWx1ZSxzdGVwLCBtaW4sIG1heCwgWydkb3duQXJyb3cnXSk7CisgICAgcmV0
dXJuIHRlc3QodmFsdWUsIHN0ZXAsIG1pbiwgbWF4LCBbJ2Rvd25BcnJvdyddKTsKIH0KIAogaW5w
dXQudHlwZSA9ICd0aW1lJzsKQEAgLTY3LDggKzY3LDEwIEBAIHNob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNzoxMzowMC4wOTkiLCAwLjEwMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAu
MTAwCiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC4xMDEiLCAwLjEw
MCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuMTAwJyk7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3N0ZXBVcCgiMDc6MTM6MDAuNTAwIiwgMC4wMDAxLCBudWxsLCBudWxsKScsICcwNzoxMzowMC41
MDEnKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAwLjUwMCIsIDAu
MDAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuNDk5Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMDc6MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDAuNTAx
Jyk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzowMC41MDAiLCAwLCBu
dWxsLCBudWxsKScsICcwNzoxMzowMC40OTknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIwNzoxMzowMC41MDAiLCAwLCBudWxsLCBudWxsKScsICcwNzoxMycpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MDAuNTAwIiwgMCwgbnVsbCwgbnVsbCknLCAn
MDc6MTMnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzowMC41MDAiLCA2
MCwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERv
d24oIjA3OjEzOjAwLjUwMCIsIDYwLCBudWxsLCBudWxsKScsICcwNzoxMycpOwogc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjAwLjUwMCIsIDAuMTAwLCAiMDA6MDA6MDAuMDUw
IiwgbnVsbCknLCAnMDc6MTM6MDAuNTUwJyk7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBE
b3duKCIwNzoxMzowMC41MDAiLCAwLjEwMCwgIjAwOjAwOjAwLjA1MCIsIG51bGwpJywgJzA3OjEz
OjAwLjQ1MCcpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzowMC41MDAiLCAw
LjEwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzoxMycpOwpAQCAt
NzYsNiArNzgsNjAgQEAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMzowMC41MDAi
LCAwLjEwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkEKIHNob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdCgiMDc6MTM6MDAuNTAwIiwgMC4xMDAsICIwMDowMDowMC4wNTAiLCBudWxsLCBb
ImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzA3OjEzOjAwLjA1MCcpOwogc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0KCIwNzoxMzowMC41MDAiLCAwLjEwMCwgIjAwOjAwOjAwLjA1MCIsIG51bGws
IFsiZGVsZXRlIiwgImRvd25BcnJvdyJdKScsICcwNzoxMzowMC45NTAnKTsKIAorZGVidWcoJ1Nl
Y29uZHMnKTsKK2tleURvd24oJ2xlZnRBcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwVXAoIjA3OjEzOjAwIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MDEnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjAxIiwgMSwgbnVsbCwgbnVsbCknLCAnMDc6
MTMnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzo1OSIsIDAuMDAxLCBu
dWxsLCBudWxsKScsICcwNzoxMycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigi
MDc6MTM6MDAiLCAwLjAwMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6NTknKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzowMCIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMzox
MCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6MzAiLCAxMCwgbnVs
bCwgbnVsbCknLCAnMDc6MTM6MjAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIw
NzoxMzo1MCIsIDEwLCBudWxsLCBudWxsKScsICcwNzoxMycpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdzdGVwRG93bigiMDc6MTM6MDAiLCAxMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6NTAnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzowOSIsIDEwLCBudWxsLCBudWxs
KScsICcwNzoxMzoxMCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwRG93bigiMDc6MTM6
MTEiLCAxMCwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MTAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNzoxMzozMCIsIDIuNSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MzEnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwgMi41LCBudWxsLCBudWxs
KScsICcwNzoxMzoyOScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEzOjMw
IiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cERvd24oIjA3OjEzOjMwIiwgMCwgbnVsbCwgbnVsbCknLCAnMDc6MTMnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMzozMCIsIDM2MDAsIG51bGwsIG51bGwpJywgJzA3OjEz
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMzozMCIsIDM2MDAsIG51
bGwsIG51bGwpJywgJzA3OjEzJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6
MTM6MzAiLCAxMSwgbnVsbCwgbnVsbCknLCAnMDc6MTM6MzEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnc3RlcERvd24oIjA3OjEzOjMwIiwgMTEsIG51bGwsIG51bGwpJywgJzA3OjEzOjI5Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1
IiwgbnVsbCknLCAnMDc6MTM6MzUnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24o
IjA3OjEzOjMwIiwgMTAsICIwMDowMDowNSIsIG51bGwpJywgJzA3OjEzOjI1Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjMwIiwgMTAsIG51bGwsIG51bGwsIFsiZGVsZXRl
IiwgInVwQXJyb3ciXSknLCAnMDc6MTMnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgi
MDc6MTM6MzAiLCAxMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJzA3
OjEzOjUwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzOjMwIiwgMTAsICIw
MDowMDowNSIsIG51bGwsIFsiZGVsZXRlIiwgInVwQXJyb3ciXSknLCAnMDc6MTM6MDUnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdCgiMDc6MTM6MzAiLCAxMCwgIjAwOjAwOjA1IiwgbnVs
bCwgWyJkZWxldGUiLCAiZG93bkFycm93Il0pJywgJzA3OjEzOjU1Jyk7CisKK2RlYnVnKCdNaW51
dGVzJyk7CitrZXlEb3duKCdsZWZ0QXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3Rl
cFVwKCIwNzoxMyIsIDEsIG51bGwsIG51bGwpJywgJzA3OjE0Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ3N0ZXBEb3duKCIwNzoxMyIsIDEsIG51bGwsIG51bGwpJywgJzA3OjEyJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6NTkiLCAwLjAwMSwgbnVsbCwgbnVsbCknLCAn
MDc6MDAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjAwIiwgMC4wMDEs
IG51bGwsIG51bGwpJywgJzA3OjU5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgi
MDc6MDAiLCA2MDAsIG51bGwsIG51bGwpJywgJzA3OjEwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBEb3duKCIwNzoxMCIsIDYwMCwgbnVsbCwgbnVsbCknLCAnMDc6MDAnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzo1MCIsIDYwMCwgbnVsbCwgbnVsbCknLCAnMDc6
MDAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjAwIiwgNjAwLCBudWxs
LCBudWxsKScsICcwNzo1MCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdzdGVwVXAoIjA3OjEz
IiwgNjAwLCBudWxsLCBudWxsKScsICcwNzoyMCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdz
dGVwRG93bigiMDc6MTMiLCA2MDAsIG51bGwsIG51bGwpJywgJzA3OjEwJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCAxNTAsIG51bGwsIG51bGwpJywgJzA3OjE0Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIwNzoxMyIsIDE1MCwgbnVsbCwgbnVs
bCknLCAnMDc6MTInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnc3RlcFVwKCIwNzoxMyIsIDAs
IG51bGwsIG51bGwpJywgJzA3OjE0Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3du
KCIwNzoxMyIsIDAsIG51bGwsIG51bGwpJywgJzA3OjEyJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3N0ZXBVcCgiMDc6MTMiLCAzNjAwMCwgbnVsbCwgbnVsbCknLCAnMDc6MDAnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzIiwgMzYwMDAsIG51bGwsIG51bGwpJywg
JzA3OjAwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBVcCgiMDc6MTMiLCA2NjAsIG51
bGwsIG51bGwpJywgJzA3OjE0Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3N0ZXBEb3duKCIw
NzoxMyIsIDY2MCwgbnVsbCwgbnVsbCknLCAnMDc6MTInKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
Zygnc3RlcFVwKCIwNzoxMyIsIDYwMCwgIjAwOjA1IiwgbnVsbCknLCAnMDc6MTUnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnc3RlcERvd24oIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxsKScs
ICcwNzowNScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0KCIwNzoxMyIsIDYwMCwgbnVs
bCwgbnVsbCwgWyJkZWxldGUiLCAidXBBcnJvdyJdKScsICcwNzowMCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0KCIwNzoxMyIsIDYwMCwgbnVsbCwgbnVsbCwgWyJkZWxldGUiLCAiZG93
bkFycm93Il0pJywgJzA3OjUwJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEz
IiwgNjAwLCAiMDA6MDUiLCBudWxsLCBbImRlbGV0ZSIsICJ1cEFycm93Il0pJywgJzA3OjA1Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3QoIjA3OjEzIiwgNjAwLCAiMDA6MDUiLCBudWxs
LCBbImRlbGV0ZSIsICJkb3duQXJyb3ciXSknLCAnMDc6NTUnKTsKKwogZGVidWcoJycpOwogZG9j
dW1lbnQuYm9keS5yZW1vdmVDaGlsZChpbnB1dCk7CiA8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>