<?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>109544</bug_id>
          
          <creation_ts>2013-02-11 21:53:48 -0800</creation_ts>
          <short_desc>INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input  should not move focus</short_desc>
          <delta_ts>2013-02-12 01:02:19 -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>Unspecified</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>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>haraken</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>nbarth</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>830549</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-11 21:53:48 -0800</bug_when>
    <thetext>INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input  should not move focus

Steps to reproduce:
1. Open data:text/html,&lt;input type=time autofocus&gt;
2. Click on the minutes field
3. Click on &apos;:&apos; between fields

Expected:
  Nothing happens. The minutes field keeps focus.
Actual:
  Chrome 24: Any sub-fields doesn&apos;t have focus.
  Chrome 26: The hour field gets focus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830563</commentid>
    <comment_count>1</comment_count>
      <attachid>187773</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-11 22:13:44 -0800</bug_when>
    <thetext>Created attachment 187773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830586</commentid>
    <comment_count>2</comment_count>
      <attachid>187773</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-11 23:11:54 -0800</bug_when>
    <thetext>Comment on attachment 187773
Patch

Attachment 187773 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16496635</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830594</commentid>
    <comment_count>3</comment_count>
      <attachid>187781</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2013-02-11 23:20:58 -0800</bug_when>
    <thetext>Created attachment 187781
Patch 2

Fix mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830623</commentid>
    <comment_count>4</comment_count>
      <attachid>187781</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-12 00:03:24 -0800</bug_when>
    <thetext>Comment on attachment 187781
Patch 2

Looks OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830652</commentid>
    <comment_count>5</comment_count>
      <attachid>187781</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 00:36:36 -0800</bug_when>
    <thetext>Comment on attachment 187781
Patch 2

Clearing flags on attachment: 187781

Committed r142592: &lt;http://trac.webkit.org/changeset/142592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830653</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-12 00:36:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830675</commentid>
    <comment_count>7</comment_count>
      <attachid>187803</attachid>
    <who name="Nils Barth">nbarth</who>
    <bug_when>2013-02-12 01:00:18 -0800</bug_when>
    <thetext>Created attachment 187803
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input  should not move focus

https://bugs.webkit.org/show_bug.cgi?id=109544

Reviewed by Kentaro Hara.

Source/WebCore:

This is similar to Bug 108914, &quot;Should not move focus if the element
already has focus.&quot; We fixed a focus() case in Bug 108914. However we
still have the problem in a case of focusing by mouse click.

The fix for Bug 108914 intercepted focus() function to change the
behavior. However focus-by-click doesn&apos;t call focus(), but calls
FocusController::setFocusedNode. To fix this problem, we introduce
oldFocusedNode argument to handleFocusEvent, and
BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent restores the
focus to oldFocusedNode if oldFocusedNode is one of sub-fields.
handleFocusEvent is called whenever the focused node is changed.

We don&apos;t need InputType::willCancelFocus any more because the new code
in handleFocusEvent covers it.

Tests: Update fast/forms/time-multiple-fields/time-multiple-fields-focus.html.

* html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::handleFocusEvent):
Add oldFocusedNode argument.
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
Pass oldFocusedNode to handleFocusEvent.

* html/HTMLInputElement.h:
(HTMLInputElement):
- Add oldFocusedNode argument to handleFocusEvent.
- Remove focus() override.
* html/HTMLInputElement.cpp: Remove focus() override.
(WebCore::HTMLInputElement::handleFocusEvent):
Pass oldFocusedNode to InputType::handleFocusEvent.
* html/InputType.cpp: Remove willCancelFocus.
(WebCore::InputType::handleFocusEvent):
Add oldFocusedNode argument.
* html/InputType.h:
(InputType): Ditto.
* html/PasswordInputType.cpp:
(WebCore::PasswordInputType::handleFocusEvent): Ditto.
* html/PasswordInputType.h:
(PasswordInputType): Ditto.

* html/BaseMultipleFieldsDateAndTimeInputType.h:
(BaseMultipleFieldsDateAndTimeInputType):
Remove willCancelFocus, and add oldFocusedNode argument to handleFocusEvent.
* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent):
Pass oldFocusedNode to DateTimeEditElement::focusByOwner if the
direction is FocusDirectionNone.

* html/shadow/DateTimeEditElement.h:
(DateTimeEditElement): Add oldFocusedNode argument to focusByOwner.
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::focusByOwner):
If oldFocusedNode is one of sub-fields, focus on it again.

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-focus-expected.txt:
* fast/forms/time-multiple-fields/time-multiple-fields-focus.html:
Add test to click a delimiter.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142592 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 16 files changed, 118 insertions(+), 45 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830677</commentid>
    <comment_count>8</comment_count>
    <who name="Nils Barth">nbarth</who>
    <bug_when>2013-02-12 01:02:19 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=187803) [details]

Sorry sorry -- webkit-patch accidentally uploaded to wrong bug number.
Please ignore.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187773</attachid>
            <date>2013-02-11 22:13:44 -0800</date>
            <delta_ts>2013-02-11 23:20:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109544-20130212151014.patch</filename>
            <type>text/plain</type>
            <size>18704</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNjNjJmZWYyZTlkM2Ni
ZjdiZDhkMzAyZGE3YWZhNTJlZTlhNzZkOS4uOGM4ODg3ZTM0NTJmMjY5YmU5NjBhNzVjMGQ4ODMz
NjViZTViYTA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEzLTAyLTExICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUk6IE1vdXNlIGNsaWNrIG5vdCBvbiBzdWItZmllbGRzIGluIG11bHRpcGxlIGZpZWxk
cyBpbnB1dCAgc2hvdWxkIG5vdCBtb3ZlIGZvY3VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHNpbWlsYXIgdG8gQnVnIDEwODkxNCwgIlNo
b3VsZCBub3QgbW92ZSBmb2N1cyBpZiB0aGUgZWxlbWVudAorICAgICAgICBhbHJlYWR5IGhhcyBm
b2N1cy4iIFdlIGZpeGVkIGEgZm9jdXMoKSBjYXNlIGluIEJ1ZyAxMDg5MTQuIEhvd2V2ZXIgd2UK
KyAgICAgICAgc3RpbGwgaGF2ZSB0aGUgcHJvYmxlbSBpbiBhIGNhc2Ugb2YgZm9jdXNpbmcgYnkg
bW91c2UgY2xpY2suCisKKyAgICAgICAgVGhlIGZpeCBmb3IgQnVnIDEwODkxNCBpbnRlcmNlcHRl
ZCBmb2N1cygpIGZ1bmN0aW9uIHRvIGNoYW5nZSB0aGUKKyAgICAgICAgYmVoYXZpb3IuIEhvd2V2
ZXIgZm9jdXMtYnktY2xpY2sgZG9lc24ndCBjYWxsIGZvY3VzKCksIGJ1dCBjYWxscworICAgICAg
ICBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWROb2RlLiBUbyBmaXggdGhpcyBwcm9ibGVtLCB3
ZSBpbnRyb2R1Y2UKKyAgICAgICAgb2xkRm9jdXNlZE5vZGUgYXJndW1lbnQgdG8gaGFuZGxlRm9j
dXNFdmVudCwgYW5kCisgICAgICAgIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpoYW5kbGVGb2N1c0V2ZW50IHJlc3RvcmVzIHRoZQorICAgICAgICBmb2N1cyB0byBvbGRG
b2N1c2VkTm9kZSBpZiBvbGRGb2N1c2VkTm9kZSBpcyBvbmUgb2Ygc3ViLWZpZWxkcy4gV2UgZG9u
J3QKKyAgICAgICAgbmVlZCBJbnB1dFR5cGU6OndpbGxDYW5jZWxGb2N1cyBhbnkgbW9yZSBiZWNh
dXNlIHRoZSBuZXcgY29kZSBpbgorICAgICAgICBoYW5kbGVGb2N1c0V2ZW50IGNvdmVycyBpdC4K
KworICAgICAgICBUZXN0czogVXBkYXRlIGZhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMv
dGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMuaHRtbC4KKworICAgICAgICAqIGh0bWwvSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50OjpoYW5kbGVGb2N1c0V2ZW50KToKKyAgICAgICAgQWRkIG9sZEZvY3VzZWRO
b2RlIGFyZ3VtZW50LgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmRpc3Bh
dGNoRm9jdXNFdmVudCk6CisgICAgICAgIFBhc3Mgb2xkRm9jdXNlZE5vZGUgdG8gaGFuZGxlRm9j
dXNFdmVudC4KKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAo
SFRNTElucHV0RWxlbWVudCk6CisgICAgICAgICAtIEFkZCBvbGRGb2N1c2VkTm9kZSBhcmd1bWVu
dCB0byBoYW5kbGVGb2N1c0V2ZW50LgorICAgICAgICAgLSBSZW1vdmUgZm9jdXMoKSBvdmVycmlk
ZS4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOiBSZW1vdmUgZm9jdXMoKSBv
dmVycmlkZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmhhbmRsZUZvY3Vz
RXZlbnQpOgorICAgICAgICBQYXNzIG9sZEZvY3VzZWROb2RlIHRvIElucHV0VHlwZTo6aGFuZGxl
Rm9jdXNFdmVudC4KKyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5jcHA6IFJlbW92ZSB3aWxsQ2Fu
Y2VsRm9jdXMuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQp
OgorICAgICAgICBBZGQgb2xkRm9jdXNlZE5vZGUgYXJndW1lbnQuCisgICAgICAgICogaHRtbC9J
bnB1dFR5cGUuaDoKKyAgICAgICAgKElucHV0VHlwZSk6IERpdHRvLgorICAgICAgICAqIGh0bWwv
UGFzc3dvcmRJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFzc3dvcmRJbnB1dFR5
cGU6OmhhbmRsZUZvY3VzRXZlbnQpOiBEaXR0by4KKyAgICAgICAgKiBodG1sL1Bhc3N3b3JkSW5w
dXRUeXBlLmg6CisgICAgICAgIChQYXNzd29yZElucHV0VHlwZSk6IERpdHRvLgorCisgICAgICAg
ICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oOgorICAgICAg
ICAoQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOgorICAgICAgICBSZW1v
dmUgd2lsbENhbmNlbEZvY3VzLCBhbmQgYWRkIG9sZEZvY3VzZWROb2RlIGFyZ3VtZW50IHRvIGhh
bmRsZUZvY3VzRXZlbnQuCisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZTo6aGFuZGxlRm9jdXNFdmVudCk6CisgICAgICAgIFBhc3Mgb2xk
Rm9jdXNlZE5vZGUgdG8gRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNCeU93bmVyIGlmIHRoZQor
ICAgICAgICBkaXJlY3Rpb24gaXMgRm9jdXNEaXJlY3Rpb25Ob25lLgorCisgICAgICAgICogaHRt
bC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oOgorICAgICAgICAoRGF0ZVRpbWVFZGl0RWxl
bWVudCk6IEFkZCBvbGRGb2N1c2VkTm9kZSBhcmd1bWVudCB0byBmb2N1c0J5T3duZXIuCisgICAg
ICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c0J5T3duZXIpOgorICAgICAgICBJZiBvbGRG
b2N1c2VkTm9kZSBpcyBvbmUgb2Ygc3ViLWZpZWxkcywgZm9jdXMgb24gaXQgYWdhaW4uCisKIDIw
MTMtMDItMTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjE0MjUyMD8pOiBTcGFjZSBubyBsb25nZXIgc2Nyb2xscyB0aGUgcGFn
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCA2MDY0NzA4MjM3MTA0YWM5MDdlNzY0
MGVlMGEyMDIyMGZjYmVhM2E1Li5iNDM2MWY2YWYyYzE4YTU1MzUxOTU3ODc3NTNhMzRiN2JhZDU5
MTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0Rh
dGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMjQxLDE4ICsyNDEsMTUgQEAg
dm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVzdHJveVNoYWRv
d1N1YnRyZWUoKQogICAgIEJhc2VEYXRlQW5kVGltZUlucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1
YnRyZWUoKTsKIH0KIAotYm9vbCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZTo6d2lsbENhbmNlbEZvY3VzKGJvb2wgcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBGb2N1c0Rp
cmVjdGlvbiBkaXJlY3Rpb24pCi17Ci0gICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVj
dGlvbk5vbmUgJiYgbV9kYXRlVGltZUVkaXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVu
dC0+aGFzRm9jdXNlZEZpZWxkKCk7Ci19Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFu
ZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
KQordm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aGFuZGxlRm9j
dXNFdmVudChOb2RlKiBvbGRGb2N1c2VkTm9kZSwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQog
ewogICAgIGlmICghbV9kYXRlVGltZUVkaXRFbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAg
aWYgKGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbkJhY2t3YXJkKSB7CiAgICAgICAgIGlmIChl
bGVtZW50KCktPmRvY3VtZW50KCktPnBhZ2UoKSkKICAgICAgICAgICAgIGVsZW1lbnQoKS0+ZG9j
dW1lbnQoKS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+YWR2YW5jZUZvY3VzKGRpcmVjdGlv
biwgMCk7CisgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb25Ob25lKSB7
CisgICAgICAgIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+Zm9jdXNCeU93bmVyKG9sZEZvY3VzZWRO
b2RlKTsKICAgICB9IGVsc2UKICAgICAgICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5mb2N1c0J5
T3duZXIoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxl
RmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAppbmRleCBjMDcxM2VlZTBhZjBhZmIy
NWNhNzFhZTdiNjcxYmFjYjQ0MTcxMmM3Li45MzFkZTA2ZmYxNmMwMjVkMGMzNjFlNzBkYzY3ODBk
NjI3YTIxNDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCkBAIC04MSw5ICs4MSw4IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZVNoYWRvd1N1YnRyZWUoKSBPVkVSUklERSBG
SU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveVNoYWRvd1N1YnRyZWUoKSBPVkVSUklERSBG
SU5BTDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCkgT1ZFUlJJ
REUgRklOQUw7Ci0gICAgdmlydHVhbCBib29sIHdpbGxDYW5jZWxGb2N1cyhib29sIHJlc3RvcmVQ
cmV2aW91c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBmb3J3YXJkRXZlbnQoRXZlbnQqKSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZv
aWQgaGFuZGxlRm9jdXNFdmVudChGb2N1c0RpcmVjdGlvbikgT1ZFUlJJREU7CisgICAgdmlydHVh
bCB2b2lkIGhhbmRsZUZvY3VzRXZlbnQoTm9kZSogb2xkRm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0
aW9uKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJv
YXJkRXZlbnQqKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQmFkSW5wdXQo
KSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQ3VzdG9tRm9jdXNMb2dpYygp
IGNvbnN0IE9WRVJSSURFIEZJTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAKaW5kZXggMGMyMjZhMDg5ZTE2ZmQ3MTEyYjMzZTZhMjAwYzlkZTdkZDBkMTYwOS4uNzAx
NTc2YmU0Nzc3NjQ2MTA0YzJiYzA0NTU5NjVmZTc1MmE3YmQzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0zNzAsMTIgKzM3MCw2IEBAIHZvaWQgSFRNTElu
cHV0RWxlbWVudDo6ZGVmYXVsdEJsdXIoKQogICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50
OjpibHVyKCk7CiB9CiAKLXZvaWQgSFRNTElucHV0RWxlbWVudDo6Zm9jdXMoYm9vbCByZXN0b3Jl
UHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBpZiAo
IW1faW5wdXRUeXBlLT53aWxsQ2FuY2VsRm9jdXMocmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBk
aXJlY3Rpb24pKQotICAgICAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6Zm9jdXMocmVz
dG9yZVByZXZpb3VzU2VsZWN0aW9uLCBkaXJlY3Rpb24pOwotfQotCiBib29sIEhUTUxJbnB1dEVs
ZW1lbnQ6Omhhc0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdAogewogICAgIHJldHVybiBtX2lucHV0
VHlwZS0+aGFzQ3VzdG9tRm9jdXNMb2dpYygpOwpAQCAtNDMzLDkgKzQyNyw5IEBAIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6c2hvdWxkVXNlSW5wdXRNZXRob2QoKQogICAgIHJldHVybiBtX2lucHV0
VHlwZS0+c2hvdWxkVXNlSW5wdXRNZXRob2QoKTsKIH0KIAotdm9pZCBIVE1MSW5wdXRFbGVtZW50
OjpoYW5kbGVGb2N1c0V2ZW50KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKK3ZvaWQgSFRNTElu
cHV0RWxlbWVudDo6aGFuZGxlRm9jdXNFdmVudChOb2RlKiBvbGRGb2N1c2VkTm9kZSwgRm9jdXNE
aXJlY3Rpb24gZGlyZWN0aW9uKQogewotICAgIG1faW5wdXRUeXBlLT5oYW5kbGVGb2N1c0V2ZW50
KGRpcmVjdGlvbik7CisgICAgbV9pbnB1dFR5cGUtPmhhbmRsZUZvY3VzRXZlbnQob2xkRm9jdXNl
ZE5vZGUsIGRpcmVjdGlvbik7CiB9CiAKIHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlQmx1
ckV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggZGVjY2Rj
NTMxNGU0NTE5M2M5NjYxN2U5MjIzYWZlNzJmZjIzNDIwYS4uY2ZmYjA3N2RlMTgwY2M5ZDQ3ZThl
MzM1M2IzMDFmYjM0ZDY1MjRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKQEAgLTI4MCw3ICsyODAsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYmx1cigp
IE9WRVJSSURFOwogICAgIHZvaWQgZGVmYXVsdEJsdXIoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZm9j
dXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24gPSB0cnVlLCBGb2N1c0RpcmVjdGlvbiA9
IEZvY3VzRGlyZWN0aW9uTm9uZSkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSgpIGNvbnN0IE9WRVJSSURFOwogCkBAIC0zNzgsNyArMzc3LDcgQEAgcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlUGxhY2Vob2xkZXJUZXh0KCk7CiAgICAgdmly
dHVhbCBib29sIGlzRW1wdHlWYWx1ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGlubmVyVGV4
dFZhbHVlKCkuaXNFbXB0eSgpOyB9CiAgICAgdmlydHVhbCBib29sIGlzRW1wdHlTdWdnZXN0ZWRW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHN1Z2dlc3RlZFZhbHVlKCkuaXNFbXB0eSgpOyB9Ci0gICAg
dmlydHVhbCB2b2lkIGhhbmRsZUZvY3VzRXZlbnQoRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVGb2N1c0V2ZW50KE5vZGUqIG9sZEZvY3VzZWROb2RlLCBG
b2N1c0RpcmVjdGlvbikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVu
dCgpOwogCiAgICAgdmlydHVhbCBib29sIGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNvbnN0IHsg
cmV0dXJuICFpc1JlcXVpcmVkRm9ybUNvbnRyb2woKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCA5NzM5NTIzNGFhMzBl
OTJmOGEyYWMyMjcxMWY5Y2ZjMTVmNDM3OWE2Li4yZmM5ZjQ4MjhlNWYwZWQwYTYzMmU4YTk1MDkx
Nzg4NWMxMGRkMmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50LmNwcApAQCAtODgsNyArODgsNyBAQCB2b2lkIEhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1
c2VkTgogewogICAgIGlmIChzdXBwb3J0c1BsYWNlaG9sZGVyKCkpCiAgICAgICAgIHVwZGF0ZVBs
YWNlaG9sZGVyVmlzaWJpbGl0eShmYWxzZSk7Ci0gICAgaGFuZGxlRm9jdXNFdmVudChkaXJlY3Rp
b24pOworICAgIGhhbmRsZUZvY3VzRXZlbnQob2xkRm9jdXNlZE5vZGUuZ2V0KCksIGRpcmVjdGlv
bik7CiAgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZGlzcGF0Y2hGb2N1c0V2
ZW50KG9sZEZvY3VzZWROb2RlLCBkaXJlY3Rpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKaW5kZXggMzdkNmEzMWE2ZDM4Zjkw
ZWFmZDQ5NTA5MGNkMTQyZjRmZDU0YzZjZi4uZDg3MTEyNTVmMmI0Mzc4MDUxYjkwYTBhYTBjNTU5
NWQ2NTNhNzVkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1D
b250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29u
dHJvbEVsZW1lbnQuaApAQCAtMTI3LDcgKzEyNyw3IEBAIHByaXZhdGU6CiAgICAgLy8gUmV0dXJu
cyB0cnVlIGlmIHN1Z2dlc3RlZCB2YWx1ZSBpcyBlbXB0eS4gVXNlZCB0byBjaGVjayBwbGFjZWhv
bGRlciB2aXNpYmlsaXR5LgogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5U3VnZ2VzdGVkVmFsdWUo
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAgICAgLy8gQ2FsbGVkIGluIGRpc3BhdGNoRm9jdXNF
dmVudCgpLCBhZnRlciBwbGFjZWhvbGRlciBwcm9jZXNzLCBiZWZvcmUgY2FsbGluZyBwYXJlbnQn
cyBkaXNwYXRjaEZvY3VzRXZlbnQoKS4KLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVu
dChGb2N1c0RpcmVjdGlvbikgeyB9CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUZvY3VzRXZlbnQo
Tm9kZSogb2xkRm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uKSB7IH0KICAgICAvLyBDYWxsZWQg
aW4gZGlzcGF0Y2hCbHVyRXZlbnQoKSwgYWZ0ZXIgcGxhY2Vob2xkZXIgcHJvY2VzcywgYmVmb3Jl
IGNhbGxpbmcgcGFyZW50J3MgZGlzcGF0Y2hCbHVyRXZlbnQoKS4KICAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlQmx1ckV2ZW50KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCBl
MGIyOTQwZjQzMzA0YzI4YTQ2MGM4MWEwMmQ4MGI3MjkwNjM4NjIwLi5lMDRjOTQ2NTk0NWI1M2I0
OTJmZjA2N2FhYWFiOGUzZDY5ODljZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBA
IC00NzEsMTEgKzQ3MSw2IEBAIHZvaWQgSW5wdXRUeXBlOjpibHVyKCkKICAgICBlbGVtZW50KCkt
PmRlZmF1bHRCbHVyKCk7CiB9CiAKLWJvb2wgSW5wdXRUeXBlOjp3aWxsQ2FuY2VsRm9jdXMoYm9v
bCwgRm9jdXNEaXJlY3Rpb24pCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIElucHV0
VHlwZTo6Y3JlYXRlU2hhZG93U3VidHJlZSgpCiB7CiB9CkBAIC01NjMsNyArNTU4LDcgQEAgYm9v
bCBJbnB1dFR5cGU6OnNob3VsZFVzZUlucHV0TWV0aG9kKCkgY29uc3QKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLXZvaWQgSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KEZvY3VzRGlyZWN0aW9u
KQordm9pZCBJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSosIEZvY3VzRGlyZWN0aW9u
KQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBiMGYxMjViM2QyNDMxZWQ1MTBj
ZWIzODFlNzJkNzA3Y2EyZmY0ZDE0Li5mN2UyMTFmNTFkZDI4ZjkxNTk3ZGU1MzQ3MWI2YjliZWNl
N2EzNjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTIwNCw3ICsyMDQsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCop
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2
b2lkIGhhbmRsZUZvY3VzRXZlbnQoRm9jdXNEaXJlY3Rpb24pOworICAgIHZpcnR1YWwgdm9pZCBo
YW5kbGVGb2N1c0V2ZW50KE5vZGUqIG9sZEZvY3VzZWROb2RlLCBGb2N1c0RpcmVjdGlvbik7CiAg
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpOwogICAgIHZpcnR1YWwgdm9pZCBhY2Nl
c3NLZXlBY3Rpb24oYm9vbCBzZW5kTW91c2VFdmVudHMpOwogICAgIHZpcnR1YWwgYm9vbCBjYW5C
ZVN1Y2Nlc3NmdWxTdWJtaXRCdXR0b24oKTsKQEAgLTIxNCw3ICsyMTQsNiBAQCBwdWJsaWM6CiAj
ZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBibHVyKCk7Ci0gICAgdmlydHVhbCBib29sIHdpbGxD
YW5jZWxGb2N1cyhib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rpb24p
OwogCiAgICAgLy8gU2hhZG93IHRyZWUgaGFuZGxpbmcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9QYXNzd29yZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bh
c3N3b3JkSW5wdXRUeXBlLmNwcAppbmRleCA5ZmUzMWFjNmQzNGI4ZjRiNjk4OThjOWQ0NDIzYjUz
MjFhYzQ1YWZiLi4yMzBhOWViYjhiNDY4OWIwNTIwYjlmNmMwMDVhZDVlMmMwMWVkNWIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmNwcApAQCAtOTUsOSArOTUsOSBA
QCBib29sIFBhc3N3b3JkSW5wdXRUeXBlOjppc1Bhc3N3b3JkRmllbGQoKSBjb25zdAogICAgIHJl
dHVybiB0cnVlOwogfQogCi12b2lkIFBhc3N3b3JkSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50
KEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKK3ZvaWQgUGFzc3dvcmRJbnB1dFR5cGU6OmhhbmRs
ZUZvY3VzRXZlbnQoTm9kZSogb2xkRm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlv
bikKIHsKLSAgICBCYXNlVGV4dElucHV0VHlwZTo6aGFuZGxlRm9jdXNFdmVudChkaXJlY3Rpb24p
OworICAgIEJhc2VUZXh0SW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KG9sZEZvY3VzZWROb2Rl
LCBkaXJlY3Rpb24pOwogICAgIGlmIChlbGVtZW50KCktPmRvY3VtZW50KCktPmZyYW1lKCkpCiAg
ICAgICAgIGVsZW1lbnQoKS0+ZG9jdW1lbnQoKS0+c2V0VXNlU2VjdXJlS2V5Ym9hcmRFbnRyeVdo
ZW5BY3RpdmUodHJ1ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3
b3JkSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmgK
aW5kZXggMmIyN2U0YzZkNzY1M2UzMzZkYTlmNDhhNGJhZDMyOTFlNzljMjI0ZC4uMGJlZmFjZTQy
NDg3MGU3YzgxYzRlOTA2ZmM1ZmIwNWNhYjgzZWRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9QYXNzd29yZElucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUGFz
c3dvcmRJbnB1dFR5cGUuaApAQCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRSZXNwZWN0TGlzdEF0dHJpYnV0ZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
Ym9vbCBzaG91bGRSZXNwZWN0U3BlZWNoQXR0cmlidXRlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBib29sIGlzUGFzc3dvcmRGaWVsZCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9p
ZCBoYW5kbGVGb2N1c0V2ZW50KEZvY3VzRGlyZWN0aW9uKSBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgaGFuZGxlRm9jdXNFdmVudChOb2RlKiBvbGRGb2N1c2VkTm9kZSwgRm9jdXNEaXJlY3Rp
b24pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVCbHVyRXZlbnQoKSBPVkVSUklE
RTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0
RWxlbWVudC5jcHAKaW5kZXggNGVhNDA2MGY4M2E2ZTZkMmExMjU0MzBkNTA4NjBjYzgwMjRjZmE2
NS4uZmMyNTE3NDYyZmY0NWVjZDVkOWNkMmUxMGM4MzhiMzAyNjFlZmM5YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKQEAgLTUw
OSw4ICs1MDksMTYgQEAgdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c0lmTm9Gb2N1cygp
CiAgICAgZm9jdXNPbk5leHRGb2N1c2FibGVGaWVsZCgwKTsKIH0KIAotdm9pZCBEYXRlVGltZUVk
aXRFbGVtZW50Ojpmb2N1c0J5T3duZXIoKQordm9pZCBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1
c0J5T3duZXIoTm9kZSogb2xkRm9jdXNlZE5vZGUpCiB7CisgICAgaWYgKG9sZEZvY3VzZWROb2Rl
ICYmIG9sZEZvY3VzZWROb2RlLT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG9sZEZvY3Vz
ZWROb2RlKS0+aXNEYXRlVGltZUZpZWxkRWxlbWVudCgpKSB7CisgICAgICAgIERhdGVUaW1lRmll
bGRFbGVtZW50KiBvbGRGb2N1c2VkRmllbGQgPSBzdGF0aWNfY2FzdDxEYXRlVGltZUZpZWxkRWxl
bWVudCo+KG9sZEZvY3VzZWROb2RlKTsKKyAgICAgICAgc2l6ZV90IGluZGV4ID0gZmllbGRJbmRl
eE9mKCpvbGRGb2N1c2VkRmllbGQpOworICAgICAgICBpZiAoaW5kZXggIT0gaW52YWxpZEZpZWxk
SW5kZXggJiYgb2xkRm9jdXNlZEZpZWxkLT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAgICAgICBv
bGRGb2N1c2VkRmllbGQtPmZvY3VzKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICB9CiAgICAgZm9jdXNPbk5leHRGb2N1c2FibGVGaWVsZCgwKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCmluZGV4IDJmOGNm
ODA2M2QzMjRmZmMxMTU0YmRkMWI5ZTczNDQ2ZGVkZGMyZmUuLjkyMjg1MmI0MDgwYzc3OTAyMTE0
NjIzYTQ3M2JhNGViZWVjNzc1ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZUVkaXRFbGVtZW50LmgKQEAgLTg5LDcgKzg5LDkgQEAgcHVibGljOgogICAgIHZv
aWQgZGlzYWJsZWRTdGF0ZUNoYW5nZWQoKTsKICAgICBFbGVtZW50KiBmaWVsZHNXcmFwcGVyRWxl
bWVudCgpIGNvbnN0OwogICAgIHZvaWQgZm9jdXNJZk5vRm9jdXMoKTsKLSAgICB2b2lkIGZvY3Vz
QnlPd25lcigpOworICAgIC8vIElmIG9sZEZvY3VzZWROb2RlIGlzIG9uZSBvZiBzdWItZmllbGRz
LCBmb2N1cyBvbiBpdC4gT3RoZXJ3aXNlIGZvY3VzIG9uCisgICAgLy8gdGhlIGZpcnN0IHN1Yi1m
aWVsZC4KKyAgICB2b2lkIGZvY3VzQnlPd25lcihOb2RlKiBvbGRGb2N1c2VkTm9kZSA9IDApOwog
ICAgIGJvb2wgaGFzRm9jdXNlZEZpZWxkKCk7CiAgICAgdm9pZCByZWFkT25seVN0YXRlQ2hhbmdl
ZCgpOwogICAgIHZvaWQgcmVtb3ZlRWRpdENvbnRyb2xPd25lcigpIHsgbV9lZGl0Q29udHJvbE93
bmVyID0gMDsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGU4N2RhODBmODA4NDVkOTNmMTIwYzE0ZTEwZTBhYjE5ZDExMWU0
NDMuLjg5MDI2OGQ5YTUxZDgzYjgxZTZhOWE5ZmRjODQ3YjVmZDU1MGZhMTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMy0wMi0xMSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgSU5QVVRfTVVMVElQTEVfRklFTERTX1VJOiBNb3VzZSBjbGljayBub3Qgb24g
c3ViLWZpZWxkcyBpbiBtdWx0aXBsZSBmaWVsZHMgaW5wdXQgIHNob3VsZCBub3QgbW92ZSBmb2N1
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NTQ0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3Rp
bWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWw6CisgICAgICAgIEFkZCB0ZXN0IHRvIGNsaWNr
IGEgZGVsaW1pdGVyLgorCiAyMDEzLTAyLTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIE1vdmUgZGVsZXRpb25VSSB0ZXN0cyBpbnRvIHBsYXRmb3JtL21hYwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90
aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4
cGVjdGVkLnR4dAppbmRleCBmMWQwN2MyNDIyMTQ3MGE5YzgyNjVmMWZhODQ5N2Q0YzAwYWQ0YTNj
Li4xZGU0Zjc5NjMwYjE3MjRhZTI0MjFiODNmMjQ0NzdhNGQwODg5OTgyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUt
ZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLWV4cGVjdGVkLnR4
dApAQCAtMywxMSArMywxMiBAQCBDaGVjayBpZiBmb2N1cygpIGZvciBmb2N1c2VkIGlucHV0IGRv
ZXMgbm90IGNoYW5nZSBmb2N1c2VkIHN1Yi1maWVsZC4KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KIAogCi1Nb3ZlIGZvY3VzIHRvIHRoZSBzZWNvbmQgc3ViLWZpZWxkLCB0aGVuIHByZXNzIFVw
IGtleToKK01vdmUgZm9jdXMgdG8gdGhlIHNlY29uZCBzdWItZmllbGQ6CiBQQVNTIGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgaXMgdGltZUlucHV0Ci1QQVNTIHRpbWVJbnB1dC52YWx1ZSBpcyAiMDE6
MDIiCi1DYWxscyBmb2N1cygpLCB0aGVuIHByZXNzIFVwIGtleToKLVBBU1MgdGltZUlucHV0LnZh
bHVlIGlzICIwMTowMyIKK1BBU1MgcHNldWRvT2ZGb2N1c2VkKHRpbWVJbnB1dCkgaXMgIi13ZWJr
aXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQiCitQQVNTIHRpbWVJbnB1dC5mb2N1cygpOyBw
c2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KSBpcyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0
ZS1maWVsZCIKK0NsaWNrIG9uIGEgZGVsaW1pdGVyIGJldHdlZW4gc3ViLWZpZWxkcywgdGhlbiBj
aGVjayBpZiBmb2N1c2VkIGVsZW1lbnQgaXMgbm90IGNoYW5nZWQ6CitQQVNTIHBzZXVkb09mRm9j
dXNlZCh0aW1lSW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIgog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVs
dGlwbGUtZmllbGRzLWZvY3VzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwKaW5kZXggMTE2NTU4
NWE3Y2VjOTRhYTNhM2I3MTRhZGE2Nzg0MDg3MzczYjY1NS4uNzc4ZjcxZjQwOTdmN2M0NTM3Yzgz
ODg5MDg2OGM3N2U1NTRhNjU3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtZm9jdXMuaHRtbApAQCAtMSw3ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPGJv
ZHk+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLTxpbnB1dCBpZD0idGltZUlucHV0IiB0eXBlPSJ0aW1lIiB2YWx1ZT0iMDE6MDEiIGF1
dG9mb2N1cz4KKzxpbnB1dCBpZD0idGltZUlucHV0IiB0eXBlPSJ0aW1lIiB2YWx1ZT0iMDE6MDEi
IHN0eWxlPSJmb250LXNpemU6MjBweCIgYXV0b2ZvY3VzPgogPHNjcmlwdD4KIGZ1bmN0aW9uIGRp
c3BhdGNoS2V5RXZlbnRUbyh0eXBlLCBrZXksIHRhcmdldCkgewogICAgIHZhciBldmVudCA9IGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdLZXlib2FyZEV2ZW50Jyk7CkBAIC05LDE4ICs5LDI0IEBAIGZ1
bmN0aW9uIGRpc3BhdGNoS2V5RXZlbnRUbyh0eXBlLCBrZXksIHRhcmdldCkgewogICAgIHRhcmdl
dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKIH0KIAorZnVuY3Rpb24gcHNldWRvT2ZGb2N1c2VkKCkg
eworICAgIHJldHVybiBpbnRlcm5hbHMueW91bmdlc3RTaGFkb3dSb290KHRpbWVJbnB1dCkuYWN0
aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoInBzZXVkbyIpOworfQorCiBkZXNjcmlwdGlvbignQ2hl
Y2sgaWYgZm9jdXMoKSBmb3IgZm9jdXNlZCBpbnB1dCBkb2VzIG5vdCBjaGFuZ2UgZm9jdXNlZCBz
dWItZmllbGQuJyk7Ci1kZWJ1ZygnTW92ZSBmb2N1cyB0byB0aGUgc2Vjb25kIHN1Yi1maWVsZCwg
dGhlbiBwcmVzcyBVcCBrZXk6Jyk7CitkZWJ1ZygnTW92ZSBmb2N1cyB0byB0aGUgc2Vjb25kIHN1
Yi1maWVsZDonKTsKIHZhciB0aW1lSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGlt
ZUlucHV0Jyk7CiBzaG91bGRCZSgnZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICd0aW1lSW5wdXQn
KTsKIGRpc3BhdGNoS2V5RXZlbnRUbygna2V5ZG93bicsICdSaWdodCcsIHRpbWVJbnB1dCk7Ci1k
aXNwYXRjaEtleUV2ZW50VG8oJ2tleWRvd24nLCAnVXAnLCB0aW1lSW5wdXQpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0aW1lSW5wdXQudmFsdWUnLCAnMDE6MDInKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygncHNldWRvT2ZGb2N1c2VkKHRpbWVJbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1l
ZGl0LW1pbnV0ZS1maWVsZCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0aW1lSW5wdXQuZm9j
dXMoKTsgcHNldWRvT2ZGb2N1c2VkKHRpbWVJbnB1dCknLCAnLXdlYmtpdC1kYXRldGltZS1lZGl0
LW1pbnV0ZS1maWVsZCcpOwogCi1kZWJ1ZygnQ2FsbHMgZm9jdXMoKSwgdGhlbiBwcmVzcyBVcCBr
ZXk6Jyk7Ci10aW1lSW5wdXQuZm9jdXMoKTsKLWRpc3BhdGNoS2V5RXZlbnRUbygna2V5ZG93bics
ICdVcCcsIHRpbWVJbnB1dCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3RpbWVJbnB1dC52YWx1
ZScsICcwMTowMycpOworZGVidWcoJ0NsaWNrIG9uIGEgZGVsaW1pdGVyIGJldHdlZW4gc3ViLWZp
ZWxkcywgdGhlbiBjaGVjayBpZiBmb2N1c2VkIGVsZW1lbnQgaXMgbm90IGNoYW5nZWQ6Jyk7Cit2
YXIgZm9jdXNlZEZpZWxkID0gaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdCh0aW1lSW5wdXQp
LmFjdGl2ZUVsZW1lbnQ7CitldmVudFNlbmRlci5tb3VzZU1vdmVUbyhmb2N1c2VkRmllbGQub2Zm
c2V0TGVmdCArIGZvY3VzZWRGaWVsZC5vZmZzZXRXaWR0aCArIDEwLCBmb2N1c2VkRmllbGQub2Zm
c2V0VG9wICsgMTApOworZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CitldmVudFNlbmRlci5tb3Vz
ZVVwKCk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BzZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQp
JywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQnKTsKIDwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgog
PC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187781</attachid>
            <date>2013-02-11 23:20:58 -0800</date>
            <delta_ts>2013-02-12 00:36:36 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-109544-20130212161728.patch</filename>
            <type>text/plain</type>
            <size>18786</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNjNjJmZWYyZTlkM2Ni
ZjdiZDhkMzAyZGE3YWZhNTJlZTlhNzZkOS4uY2U0NDg3OWQ4YzIyNGI0ZmQyN2FhZDgwNTQyOGU0
ZDBjYjI2ZWEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEzLTAyLTExICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUk6IE1vdXNlIGNsaWNrIG5vdCBvbiBzdWItZmllbGRzIGluIG11bHRpcGxlIGZpZWxk
cyBpbnB1dCAgc2hvdWxkIG5vdCBtb3ZlIGZvY3VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHNpbWlsYXIgdG8gQnVnIDEwODkxNCwgIlNo
b3VsZCBub3QgbW92ZSBmb2N1cyBpZiB0aGUgZWxlbWVudAorICAgICAgICBhbHJlYWR5IGhhcyBm
b2N1cy4iIFdlIGZpeGVkIGEgZm9jdXMoKSBjYXNlIGluIEJ1ZyAxMDg5MTQuIEhvd2V2ZXIgd2UK
KyAgICAgICAgc3RpbGwgaGF2ZSB0aGUgcHJvYmxlbSBpbiBhIGNhc2Ugb2YgZm9jdXNpbmcgYnkg
bW91c2UgY2xpY2suCisKKyAgICAgICAgVGhlIGZpeCBmb3IgQnVnIDEwODkxNCBpbnRlcmNlcHRl
ZCBmb2N1cygpIGZ1bmN0aW9uIHRvIGNoYW5nZSB0aGUKKyAgICAgICAgYmVoYXZpb3IuIEhvd2V2
ZXIgZm9jdXMtYnktY2xpY2sgZG9lc24ndCBjYWxsIGZvY3VzKCksIGJ1dCBjYWxscworICAgICAg
ICBGb2N1c0NvbnRyb2xsZXI6OnNldEZvY3VzZWROb2RlLiBUbyBmaXggdGhpcyBwcm9ibGVtLCB3
ZSBpbnRyb2R1Y2UKKyAgICAgICAgb2xkRm9jdXNlZE5vZGUgYXJndW1lbnQgdG8gaGFuZGxlRm9j
dXNFdmVudCwgYW5kCisgICAgICAgIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlOjpoYW5kbGVGb2N1c0V2ZW50IHJlc3RvcmVzIHRoZQorICAgICAgICBmb2N1cyB0byBvbGRG
b2N1c2VkTm9kZSBpZiBvbGRGb2N1c2VkTm9kZSBpcyBvbmUgb2Ygc3ViLWZpZWxkcy4KKyAgICAg
ICAgaGFuZGxlRm9jdXNFdmVudCBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvY3VzZWQgbm9kZSBp
cyBjaGFuZ2VkLgorCisgICAgICAgIFdlIGRvbid0IG5lZWQgSW5wdXRUeXBlOjp3aWxsQ2FuY2Vs
Rm9jdXMgYW55IG1vcmUgYmVjYXVzZSB0aGUgbmV3IGNvZGUKKyAgICAgICAgaW4gaGFuZGxlRm9j
dXNFdmVudCBjb3ZlcnMgaXQuCisKKyAgICAgICAgVGVzdHM6IFVwZGF0ZSBmYXN0L2Zvcm1zL3Rp
bWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwuCisKKyAg
ICAgICAgKiBodG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6aGFuZGxlRm9jdXNFdmVudCk6CisgICAg
ICAgIEFkZCBvbGRGb2N1c2VkTm9kZSBhcmd1bWVudC4KKyAgICAgICAgKiBodG1sL0hUTUxUZXh0
Rm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50OjpkaXNwYXRjaEZvY3VzRXZlbnQpOgorICAgICAgICBQYXNzIG9sZEZvY3Vz
ZWROb2RlIHRvIGhhbmRsZUZvY3VzRXZlbnQuCisKKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVs
ZW1lbnQuaDoKKyAgICAgICAgKEhUTUxJbnB1dEVsZW1lbnQpOgorICAgICAgICAgLSBBZGQgb2xk
Rm9jdXNlZE5vZGUgYXJndW1lbnQgdG8gaGFuZGxlRm9jdXNFdmVudC4KKyAgICAgICAgIC0gUmVt
b3ZlIGZvY3VzKCkgb3ZlcnJpZGUuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cDogUmVtb3ZlIGZvY3VzKCkgb3ZlcnJpZGUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRF
bGVtZW50OjpoYW5kbGVGb2N1c0V2ZW50KToKKyAgICAgICAgUGFzcyBvbGRGb2N1c2VkTm9kZSB0
byBJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQuCisgICAgICAgICogaHRtbC9JbnB1dFR5cGUu
Y3BwOiBSZW1vdmUgd2lsbENhbmNlbEZvY3VzLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRUeXBl
OjpoYW5kbGVGb2N1c0V2ZW50KToKKyAgICAgICAgQWRkIG9sZEZvY3VzZWROb2RlIGFyZ3VtZW50
LgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmg6CisgICAgICAgIChJbnB1dFR5cGUpOiBEaXR0
by4KKyAgICAgICAgKiBodG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlBhc3N3b3JkSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KTogRGl0dG8uCisgICAgICAg
ICogaHRtbC9QYXNzd29yZElucHV0VHlwZS5oOgorICAgICAgICAoUGFzc3dvcmRJbnB1dFR5cGUp
OiBEaXR0by4KKworICAgICAgICAqIGh0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaDoKKyAgICAgICAgKEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRU
eXBlKToKKyAgICAgICAgUmVtb3ZlIHdpbGxDYW5jZWxGb2N1cywgYW5kIGFkZCBvbGRGb2N1c2Vk
Tm9kZSBhcmd1bWVudCB0byBoYW5kbGVGb2N1c0V2ZW50LgorICAgICAgICAqIGh0bWwvQmFzZU11
bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQp
OgorICAgICAgICBQYXNzIG9sZEZvY3VzZWROb2RlIHRvIERhdGVUaW1lRWRpdEVsZW1lbnQ6OmZv
Y3VzQnlPd25lciBpZiB0aGUKKyAgICAgICAgZGlyZWN0aW9uIGlzIEZvY3VzRGlyZWN0aW9uTm9u
ZS4KKworICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaDoKKyAgICAg
ICAgKERhdGVUaW1lRWRpdEVsZW1lbnQpOiBBZGQgb2xkRm9jdXNlZE5vZGUgYXJndW1lbnQgdG8g
Zm9jdXNCeU93bmVyLgorICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNCeU93bmVy
KToKKyAgICAgICAgSWYgb2xkRm9jdXNlZE5vZGUgaXMgb25lIG9mIHN1Yi1maWVsZHMsIGZvY3Vz
IG9uIGl0IGFnYWluLgorCiAyMDEzLTAyLTExICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxNDI1MjA/KTogU3BhY2Ugbm8gbG9u
Z2VyIHNjcm9sbHMgdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKaW5kZXggNjA2
NDcwODIzNzEwNGFjOTA3ZTc2NDBlZTBhMjAyMjBmY2JlYTNhNS4uYjQzNjFmNmFmMmMxOGE1NTM1
MTk1Nzg3NzUzYTM0YjdiYWQ1OTE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9C
YXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAKQEAg
LTI0MSwxOCArMjQxLDE1IEBAIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1
dFR5cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCkKICAgICBCYXNlRGF0ZUFuZFRpbWVJbnB1dFR5
cGU6OmRlc3Ryb3lTaGFkb3dTdWJ0cmVlKCk7CiB9CiAKLWJvb2wgQmFzZU11bHRpcGxlRmllbGRz
RGF0ZUFuZFRpbWVJbnB1dFR5cGU6OndpbGxDYW5jZWxGb2N1cyhib29sIHJlc3RvcmVQcmV2aW91
c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQotewotICAgIHJldHVybiBkaXJl
Y3Rpb24gPT0gRm9jdXNEaXJlY3Rpb25Ob25lICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudCAmJiBt
X2RhdGVUaW1lRWRpdEVsZW1lbnQtPmhhc0ZvY3VzZWRGaWVsZCgpOwotfQotCi12b2lkIEJhc2VN
dWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KEZvY3Vz
RGlyZWN0aW9uIGRpcmVjdGlvbikKK3ZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSogb2xkRm9jdXNlZE5vZGUsIEZvY3VzRGly
ZWN0aW9uIGRpcmVjdGlvbikKIHsKICAgICBpZiAoIW1fZGF0ZVRpbWVFZGl0RWxlbWVudCkKICAg
ICAgICAgcmV0dXJuOwogICAgIGlmIChkaXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb25CYWNrd2Fy
ZCkgewogICAgICAgICBpZiAoZWxlbWVudCgpLT5kb2N1bWVudCgpLT5wYWdlKCkpCiAgICAgICAg
ICAgICBlbGVtZW50KCktPmRvY3VtZW50KCktPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmFk
dmFuY2VGb2N1cyhkaXJlY3Rpb24sIDApOworICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09IEZv
Y3VzRGlyZWN0aW9uTm9uZSkgeworICAgICAgICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPmZvY3Vz
QnlPd25lcihvbGRGb2N1c2VkTm9kZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIG1fZGF0ZVRpbWVF
ZGl0RWxlbWVudC0+Zm9jdXNCeU93bmVyKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKaW5k
ZXggYzA3MTNlZWUwYWYwYWZiMjVjYTcxYWU3YjY3MWJhY2I0NDE3MTJjNy4uOTMxZGUwNmZmMTZj
MDI1ZDBjMzYxZTcwZGM2NzgwZDYyN2EyMTQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaApA
QCAtODEsOSArODEsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVTaGFkb3dT
dWJ0cmVlKCkgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIGRlc3Ryb3lTaGFkb3dT
dWJ0cmVlKCkgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGVkQXR0cmli
dXRlQ2hhbmdlZCgpIE9WRVJSSURFIEZJTkFMOwotICAgIHZpcnR1YWwgYm9vbCB3aWxsQ2FuY2Vs
Rm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9uKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgZm9yd2FyZEV2ZW50KEV2ZW50KikgT1ZFUlJJREUgRklO
QUw7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUZvY3VzRXZlbnQoRm9jdXNEaXJlY3Rpb24pIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVGb2N1c0V2ZW50KE5vZGUqIG9sZEZvY3Vz
ZWROb2RlLCBGb2N1c0RpcmVjdGlvbikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUtleWRvd25FdmVudChLZXlib2FyZEV2ZW50KikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVh
bCBib29sIGhhc0JhZElucHV0KCkgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGhh
c0N1c3RvbUZvY3VzTG9naWMoKSBjb25zdCBPVkVSUklERSBGSU5BTDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDBjMjI2YTA4OWUxNmZkNzExMmIzM2U2YTIw
MGM5ZGU3ZGQwZDE2MDkuLjcwMTU3NmJlNDc3NzY0NjEwNGMyYmMwNDU1OTY1ZmU3NTJhN2JkMzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMzcwLDEyICsz
NzAsNiBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRCbHVyKCkKICAgICBIVE1MVGV4
dEZvcm1Db250cm9sRWxlbWVudDo6Ymx1cigpOwogfQogCi12b2lkIEhUTUxJbnB1dEVsZW1lbnQ6
OmZvY3VzKGJvb2wgcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBGb2N1c0RpcmVjdGlvbiBkaXJl
Y3Rpb24pCi17Ci0gICAgaWYgKCFtX2lucHV0VHlwZS0+d2lsbENhbmNlbEZvY3VzKHJlc3RvcmVQ
cmV2aW91c1NlbGVjdGlvbiwgZGlyZWN0aW9uKSkKLSAgICAgICAgSFRNTFRleHRGb3JtQ29udHJv
bEVsZW1lbnQ6OmZvY3VzKHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgZGlyZWN0aW9uKTsKLX0K
LQogYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpoYXNDdXN0b21Gb2N1c0xvZ2ljKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPmhhc0N1c3RvbUZvY3VzTG9naWMoKTsKQEAgLTQzMyw5
ICs0MjcsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnNob3VsZFVzZUlucHV0TWV0aG9kKCkK
ICAgICByZXR1cm4gbV9pbnB1dFR5cGUtPnNob3VsZFVzZUlucHV0TWV0aG9kKCk7CiB9CiAKLXZv
aWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlRm9jdXNFdmVudChGb2N1c0RpcmVjdGlvbiBkaXJl
Y3Rpb24pCit2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSogb2xk
Rm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKLSAgICBtX2lucHV0VHlw
ZS0+aGFuZGxlRm9jdXNFdmVudChkaXJlY3Rpb24pOworICAgIG1faW5wdXRUeXBlLT5oYW5kbGVG
b2N1c0V2ZW50KG9sZEZvY3VzZWROb2RlLCBkaXJlY3Rpb24pOwogfQogCiB2b2lkIEhUTUxJbnB1
dEVsZW1lbnQ6OmhhbmRsZUJsdXJFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5oCmluZGV4IGRlY2NkYzUzMTRlNDUxOTNjOTY2MTdlOTIyM2FmZTcyZmYyMzQyMGEuLmNm
ZmIwNzdkZTE4MGNjOWQ0N2U4ZTMzNTNiMzAxZmIzNGQ2NTI0YzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC0yODAsNyArMjgwLDYgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIGJsdXIoKSBPVkVSUklERTsKICAgICB2b2lkIGRlZmF1bHRCbHVyKCk7Ci0g
ICAgdmlydHVhbCB2b2lkIGZvY3VzKGJvb2wgcmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uID0gdHJ1
ZSwgRm9jdXNEaXJlY3Rpb24gPSBGb2N1c0RpcmVjdGlvbk5vbmUpIE9WRVJSSURFOwogCiAgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUoKSBjb25zdCBPVkVSUklERTsKIApAQCAt
Mzc4LDcgKzM3Nyw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVBsYWNlaG9s
ZGVyVGV4dCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc0VtcHR5VmFsdWUoKSBjb25zdCBPVkVSUklE
RSB7IHJldHVybiBpbm5lclRleHRWYWx1ZSgpLmlzRW1wdHkoKTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc0VtcHR5U3VnZ2VzdGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBzdWdnZXN0ZWRWYWx1ZSgp
LmlzRW1wdHkoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVGb2N1c0V2ZW50KEZvY3VzRGly
ZWN0aW9uKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVudChOb2Rl
KiBvbGRGb2N1c2VkTm9kZSwgRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVCbHVyRXZlbnQoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc09wdGlvbmFsRm9y
bUNvbnRyb2woKSBjb25zdCB7IHJldHVybiAhaXNSZXF1aXJlZEZvcm1Db250cm9sKCk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAK
aW5kZXggOTczOTUyMzRhYTMwZTkyZjhhMmFjMjI3MTFmOWNmYzE1ZjQzNzlhNi4uMmZjOWY0ODI4
ZTVmMGVkMGE2MzJlOGE5NTA5MTc4ODVjMTBkZDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTg4LDcgKzg4LDcgQEAg
dm9pZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0V2ZW50KFBhc3NS
ZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE4KIHsKICAgICBpZiAoc3VwcG9ydHNQbGFjZWhvbGRlcigp
KQogICAgICAgICB1cGRhdGVQbGFjZWhvbGRlclZpc2liaWxpdHkoZmFsc2UpOwotICAgIGhhbmRs
ZUZvY3VzRXZlbnQoZGlyZWN0aW9uKTsKKyAgICBoYW5kbGVGb2N1c0V2ZW50KG9sZEZvY3VzZWRO
b2RlLmdldCgpLCBkaXJlY3Rpb24pOwogICAgIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3Rh
dGU6OmRpc3BhdGNoRm9jdXNFdmVudChvbGRGb2N1c2VkTm9kZSwgZGlyZWN0aW9uKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCmlu
ZGV4IDM3ZDZhMzFhNmQzOGY5MGVhZmQ0OTUwOTBjZDE0MmY0ZmQ1NGM2Y2YuLjFhYzY1ZjU1ODM4
ZWUwOGU3NmMzNWI0ZGQ5MGNmN2JlYjU5YWYxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKQEAgLTEyNyw3ICsxMjcsNyBAQCBwcml2
YXRlOgogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBzdWdnZXN0ZWQgdmFsdWUgaXMgZW1wdHkuIFVz
ZWQgdG8gY2hlY2sgcGxhY2Vob2xkZXIgdmlzaWJpbGl0eS4KICAgICB2aXJ0dWFsIGJvb2wgaXNF
bXB0eVN1Z2dlc3RlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIC8vIENhbGxl
ZCBpbiBkaXNwYXRjaEZvY3VzRXZlbnQoKSwgYWZ0ZXIgcGxhY2Vob2xkZXIgcHJvY2VzcywgYmVm
b3JlIGNhbGxpbmcgcGFyZW50J3MgZGlzcGF0Y2hGb2N1c0V2ZW50KCkuCi0gICAgdmlydHVhbCB2
b2lkIGhhbmRsZUZvY3VzRXZlbnQoRm9jdXNEaXJlY3Rpb24pIHsgfQorICAgIHZpcnR1YWwgdm9p
ZCBoYW5kbGVGb2N1c0V2ZW50KE5vZGUqIC8qIG9sZEZvY3VzZWROb2RlICovLCBGb2N1c0RpcmVj
dGlvbikgeyB9CiAgICAgLy8gQ2FsbGVkIGluIGRpc3BhdGNoQmx1ckV2ZW50KCksIGFmdGVyIHBs
YWNlaG9sZGVyIHByb2Nlc3MsIGJlZm9yZSBjYWxsaW5nIHBhcmVudCdzIGRpc3BhdGNoQmx1ckV2
ZW50KCkuCiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpIHsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5jcHAKaW5kZXggZTBiMjk0MGY0MzMwNGMyOGE0NjBjODFhMDJkODBiNzI5
MDYzODYyMC4uZTA0Yzk0NjU5NDViNTNiNDkyZmYwNjdhYWFhYjhlM2Q2OTg5Y2Y0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNDcxLDExICs0NzEsNiBAQCB2b2lkIElucHV0VHlw
ZTo6Ymx1cigpCiAgICAgZWxlbWVudCgpLT5kZWZhdWx0Qmx1cigpOwogfQogCi1ib29sIElucHV0
VHlwZTo6d2lsbENhbmNlbEZvY3VzKGJvb2wsIEZvY3VzRGlyZWN0aW9uKQotewotICAgIHJldHVy
biBmYWxzZTsKLX0KLQogdm9pZCBJbnB1dFR5cGU6OmNyZWF0ZVNoYWRvd1N1YnRyZWUoKQogewog
fQpAQCAtNTYzLDcgKzU1OCw3IEBAIGJvb2wgSW5wdXRUeXBlOjpzaG91bGRVc2VJbnB1dE1ldGhv
ZCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIElucHV0VHlwZTo6aGFuZGxl
Rm9jdXNFdmVudChGb2N1c0RpcmVjdGlvbikKK3ZvaWQgSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2
ZW50KE5vZGUqLCBGb2N1c0RpcmVjdGlvbikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgK
aW5kZXggYjBmMTI1YjNkMjQzMWVkNTEwY2ViMzgxZTcyZDcwN2NhMmZmNGQxNC4uZjdlMjExZjUx
ZGQyOGY5MTU5N2RlNTM0NzFiNmI5YmVjZTdhMzY1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5o
CkBAIC0yMDQsNyArMjA0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJk
Rm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNb3Vz
ZUZvY3VzYWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRVc2VJbnB1dE1ldGhv
ZCgpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVGb2N1c0V2ZW50KEZvY3VzRGlyZWN0
aW9uKTsKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVudChOb2RlKiBvbGRGb2N1c2Vk
Tm9kZSwgRm9jdXNEaXJlY3Rpb24pOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVCbHVyRXZlbnQo
KTsKICAgICB2aXJ0dWFsIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRz
KTsKICAgICB2aXJ0dWFsIGJvb2wgY2FuQmVTdWNjZXNzZnVsU3VibWl0QnV0dG9uKCk7CkBAIC0y
MTQsNyArMjE0LDYgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYmx1cigp
OwotICAgIHZpcnR1YWwgYm9vbCB3aWxsQ2FuY2VsRm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNT
ZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9uKTsKIAogICAgIC8vIFNoYWRvdyB0cmVlIGhhbmRsaW5n
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUGFzc3dvcmRJbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9QYXNzd29yZElucHV0VHlwZS5jcHAKaW5kZXggOWZlMzFh
YzZkMzRiOGY0YjY5ODk4YzlkNDQyM2I1MzIxYWM0NWFmYi4uMjMwYTllYmI4YjQ2ODliMDUyMGI5
ZjZjMDA1YWQ1ZTJjMDFlZDViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9QYXNz
d29yZElucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9QYXNzd29yZElucHV0
VHlwZS5jcHAKQEAgLTk1LDkgKzk1LDkgQEAgYm9vbCBQYXNzd29yZElucHV0VHlwZTo6aXNQYXNz
d29yZEZpZWxkKCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBQYXNzd29yZElu
cHV0VHlwZTo6aGFuZGxlRm9jdXNFdmVudChGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCit2b2lk
IFBhc3N3b3JkSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KE5vZGUqIG9sZEZvY3VzZWROb2Rl
LCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCiB7Ci0gICAgQmFzZVRleHRJbnB1dFR5cGU6Omhh
bmRsZUZvY3VzRXZlbnQoZGlyZWN0aW9uKTsKKyAgICBCYXNlVGV4dElucHV0VHlwZTo6aGFuZGxl
Rm9jdXNFdmVudChvbGRGb2N1c2VkTm9kZSwgZGlyZWN0aW9uKTsKICAgICBpZiAoZWxlbWVudCgp
LT5kb2N1bWVudCgpLT5mcmFtZSgpKQogICAgICAgICBlbGVtZW50KCktPmRvY3VtZW50KCktPnNl
dFVzZVNlY3VyZUtleWJvYXJkRW50cnlXaGVuQWN0aXZlKHRydWUpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9QYXNzd29yZElucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9QYXNzd29yZElucHV0VHlwZS5oCmluZGV4IDJiMjdlNGM2ZDc2NTNlMzM2ZGE5ZjQ4YTRi
YWQzMjkxZTc5YzIyNGQuLjBiZWZhY2U0MjQ4NzBlN2M4MWM0ZTkwNmZjNWZiMDVjYWI4M2VkYmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUGFzc3dvcmRJbnB1dFR5cGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVzcGVjdExpc3RBdHRyaWJ1dGUo
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUmVzcGVjdFNwZWVjaEF0dHJpYnV0
ZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1Bhc3N3b3JkRmllbGQoKSBjb25zdCBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVudChGb2N1c0RpcmVjdGlv
bikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUZvY3VzRXZlbnQoTm9kZSogb2xk
Rm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlQmx1ckV2ZW50KCkgT1ZFUlJJREU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwCmluZGV4IDRlYTQwNjBmODNhNmU2
ZDJhMTI1NDMwZDUwODYwY2M4MDI0Y2ZhNjUuLmZjMjUxNzQ2MmZmNDVlY2Q1ZDljZDJlMTBjODM4
YjMwMjYxZWZjOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lRWRpdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVU
aW1lRWRpdEVsZW1lbnQuY3BwCkBAIC01MDksOCArNTA5LDE2IEBAIHZvaWQgRGF0ZVRpbWVFZGl0
RWxlbWVudDo6Zm9jdXNJZk5vRm9jdXMoKQogICAgIGZvY3VzT25OZXh0Rm9jdXNhYmxlRmllbGQo
MCk7CiB9CiAKLXZvaWQgRGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNCeU93bmVyKCkKK3ZvaWQg
RGF0ZVRpbWVFZGl0RWxlbWVudDo6Zm9jdXNCeU93bmVyKE5vZGUqIG9sZEZvY3VzZWROb2RlKQog
eworICAgIGlmIChvbGRGb2N1c2VkTm9kZSAmJiBvbGRGb2N1c2VkTm9kZS0+aXNFbGVtZW50Tm9k
ZSgpICYmIHRvRWxlbWVudChvbGRGb2N1c2VkTm9kZSktPmlzRGF0ZVRpbWVGaWVsZEVsZW1lbnQo
KSkgeworICAgICAgICBEYXRlVGltZUZpZWxkRWxlbWVudCogb2xkRm9jdXNlZEZpZWxkID0gc3Rh
dGljX2Nhc3Q8RGF0ZVRpbWVGaWVsZEVsZW1lbnQqPihvbGRGb2N1c2VkTm9kZSk7CisgICAgICAg
IHNpemVfdCBpbmRleCA9IGZpZWxkSW5kZXhPZigqb2xkRm9jdXNlZEZpZWxkKTsKKyAgICAgICAg
aWYgKGluZGV4ICE9IGludmFsaWRGaWVsZEluZGV4ICYmIG9sZEZvY3VzZWRGaWVsZC0+aXNGb2N1
c2FibGUoKSkgeworICAgICAgICAgICAgb2xkRm9jdXNlZEZpZWxkLT5mb2N1cygpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQogICAgIGZvY3VzT25OZXh0Rm9jdXNhYmxl
RmllbGQoMCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRWRpdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RWRpdEVsZW1lbnQuaAppbmRleCAyZjhjZjgwNjNkMzI0ZmZjMTE1NGJkZDFiOWU3MzQ0NmRlZGRj
MmZlLi45MjI4NTJiNDA4MGM3NzkwMjExNDYyM2E0NzNiYTRlYmVlYzc3NWRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCkBAIC04OSw3
ICs4OSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2FibGVkU3RhdGVDaGFuZ2VkKCk7CiAgICAg
RWxlbWVudCogZmllbGRzV3JhcHBlckVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIGZvY3VzSWZO
b0ZvY3VzKCk7Ci0gICAgdm9pZCBmb2N1c0J5T3duZXIoKTsKKyAgICAvLyBJZiBvbGRGb2N1c2Vk
Tm9kZSBpcyBvbmUgb2Ygc3ViLWZpZWxkcywgZm9jdXMgb24gaXQuIE90aGVyd2lzZSBmb2N1cyBv
bgorICAgIC8vIHRoZSBmaXJzdCBzdWItZmllbGQuCisgICAgdm9pZCBmb2N1c0J5T3duZXIoTm9k
ZSogb2xkRm9jdXNlZE5vZGUgPSAwKTsKICAgICBib29sIGhhc0ZvY3VzZWRGaWVsZCgpOwogICAg
IHZvaWQgcmVhZE9ubHlTdGF0ZUNoYW5nZWQoKTsKICAgICB2b2lkIHJlbW92ZUVkaXRDb250cm9s
T3duZXIoKSB7IG1fZWRpdENvbnRyb2xPd25lciA9IDA7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlODdkYTgwZjgwODQ1
ZDkzZjEyMGMxNGUxMGUwYWIxOWQxMTFlNDQzLi44OTAyNjhkOWE1MWQ4M2I4MWU2YTlhOWZkYzg0
N2I1ZmQ1NTBmYTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDItMTEgIEtlbnQgVGFt
dXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIElOUFVUX01VTFRJUExFX0ZJRUxE
U19VSTogTW91c2UgY2xpY2sgbm90IG9uIHN1Yi1maWVsZHMgaW4gbXVsdGlwbGUgZmllbGRzIGlu
cHV0ICBzaG91bGQgbm90IG1vdmUgZm9jdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwOTU0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9mb3Jt
cy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sOgor
ICAgICAgICBBZGQgdGVzdCB0byBjbGljayBhIGRlbGltaXRlci4KKwogMjAxMy0wMi0xMSAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIGRlbGV0aW9uVUkg
dGVzdHMgaW50byBwbGF0Zm9ybS9tYWMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1l
LW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQKaW5kZXggZjFkMDdjMjQyMjE0NzBh
OWM4MjY1ZjFmYTg0OTdkNGMwMGFkNGEzYy4uMWRlNGY3OTYzMGIxNzI0YWUyNDIxYjgzZjI0NDc3
YTRkMDg4OTk4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxl
LWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQKQEAgLTMsMTEgKzMsMTIgQEAgQ2hlY2sgaWYgZm9j
dXMoKSBmb3IgZm9jdXNlZCBpbnB1dCBkb2VzIG5vdCBjaGFuZ2UgZm9jdXNlZCBzdWItZmllbGQu
CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotTW92ZSBmb2N1cyB0byB0aGUgc2Vjb25k
IHN1Yi1maWVsZCwgdGhlbiBwcmVzcyBVcCBrZXk6CitNb3ZlIGZvY3VzIHRvIHRoZSBzZWNvbmQg
c3ViLWZpZWxkOgogUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIHRpbWVJbnB1dAotUEFT
UyB0aW1lSW5wdXQudmFsdWUgaXMgIjAxOjAyIgotQ2FsbHMgZm9jdXMoKSwgdGhlbiBwcmVzcyBV
cCBrZXk6Ci1QQVNTIHRpbWVJbnB1dC52YWx1ZSBpcyAiMDE6MDMiCitQQVNTIHBzZXVkb09mRm9j
dXNlZCh0aW1lSW5wdXQpIGlzICItd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkIgor
UEFTUyB0aW1lSW5wdXQuZm9jdXMoKTsgcHNldWRvT2ZGb2N1c2VkKHRpbWVJbnB1dCkgaXMgIi13
ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQiCitDbGljayBvbiBhIGRlbGltaXRlciBi
ZXR3ZWVuIHN1Yi1maWVsZHMsIHRoZW4gY2hlY2sgaWYgZm9jdXNlZCBlbGVtZW50IGlzIG5vdCBj
aGFuZ2VkOgorUEFTUyBwc2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KSBpcyAiLXdlYmtpdC1kYXRl
dGltZS1lZGl0LW1pbnV0ZS1maWVsZCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxk
cy1mb2N1cy5odG1sCmluZGV4IDExNjU1ODVhN2NlYzk0YWEzYTNiNzE0YWRhNjc4NDA4NzM3M2I2
NTUuLjc3OGY3MWY0MDk3ZjdjNDUzN2M4Mzg4OTA4NjhjNzdlNTU0YTY1N2MgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0aXBs
ZS1maWVsZHMtZm9jdXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVs
dGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRzLWZvY3VzLmh0bWwKQEAgLTEsNyArMSw3
IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxib2R5PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08aW5wdXQgaWQ9InRpbWVJbnB1dCIgdHlw
ZT0idGltZSIgdmFsdWU9IjAxOjAxIiBhdXRvZm9jdXM+Cis8aW5wdXQgaWQ9InRpbWVJbnB1dCIg
dHlwZT0idGltZSIgdmFsdWU9IjAxOjAxIiBzdHlsZT0iZm9udC1zaXplOjIwcHgiIGF1dG9mb2N1
cz4KIDxzY3JpcHQ+CiBmdW5jdGlvbiBkaXNwYXRjaEtleUV2ZW50VG8odHlwZSwga2V5LCB0YXJn
ZXQpIHsKICAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVu
dCcpOwpAQCAtOSwxOCArOSwyNCBAQCBmdW5jdGlvbiBkaXNwYXRjaEtleUV2ZW50VG8odHlwZSwg
a2V5LCB0YXJnZXQpIHsKICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChldmVudCk7CiB9CiAKK2Z1
bmN0aW9uIHBzZXVkb09mRm9jdXNlZCgpIHsKKyAgICByZXR1cm4gaW50ZXJuYWxzLnlvdW5nZXN0
U2hhZG93Um9vdCh0aW1lSW5wdXQpLmFjdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8i
KTsKK30KKwogZGVzY3JpcHRpb24oJ0NoZWNrIGlmIGZvY3VzKCkgZm9yIGZvY3VzZWQgaW5wdXQg
ZG9lcyBub3QgY2hhbmdlIGZvY3VzZWQgc3ViLWZpZWxkLicpOwotZGVidWcoJ01vdmUgZm9jdXMg
dG8gdGhlIHNlY29uZCBzdWItZmllbGQsIHRoZW4gcHJlc3MgVXAga2V5OicpOworZGVidWcoJ01v
dmUgZm9jdXMgdG8gdGhlIHNlY29uZCBzdWItZmllbGQ6Jyk7CiB2YXIgdGltZUlucHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVJbnB1dCcpOwogc2hvdWxkQmUoJ2RvY3VtZW50LmFj
dGl2ZUVsZW1lbnQnLCAndGltZUlucHV0Jyk7CiBkaXNwYXRjaEtleUV2ZW50VG8oJ2tleWRvd24n
LCAnUmlnaHQnLCB0aW1lSW5wdXQpOwotZGlzcGF0Y2hLZXlFdmVudFRvKCdrZXlkb3duJywgJ1Vw
JywgdGltZUlucHV0KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygndGltZUlucHV0LnZhbHVlJywg
JzAxOjAyJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3BzZXVkb09mRm9jdXNlZCh0aW1lSW5w
dXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygndGltZUlucHV0LmZvY3VzKCk7IHBzZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQp
JywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQnKTsKIAotZGVidWcoJ0NhbGxz
IGZvY3VzKCksIHRoZW4gcHJlc3MgVXAga2V5OicpOwotdGltZUlucHV0LmZvY3VzKCk7Ci1kaXNw
YXRjaEtleUV2ZW50VG8oJ2tleWRvd24nLCAnVXAnLCB0aW1lSW5wdXQpOwotc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0aW1lSW5wdXQudmFsdWUnLCAnMDE6MDMnKTsKK2RlYnVnKCdDbGljayBvbiBh
IGRlbGltaXRlciBiZXR3ZWVuIHN1Yi1maWVsZHMsIHRoZW4gY2hlY2sgaWYgZm9jdXNlZCBlbGVt
ZW50IGlzIG5vdCBjaGFuZ2VkOicpOwordmFyIGZvY3VzZWRGaWVsZCA9IGludGVybmFscy55b3Vu
Z2VzdFNoYWRvd1Jvb3QodGltZUlucHV0KS5hY3RpdmVFbGVtZW50OworZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oZm9jdXNlZEZpZWxkLm9mZnNldExlZnQgKyBmb2N1c2VkRmllbGQub2Zmc2V0V2lk
dGggKyAxMCwgZm9jdXNlZEZpZWxkLm9mZnNldFRvcCArIDEwKTsKK2V2ZW50U2VuZGVyLm1vdXNl
RG93bigpOworZXZlbnRTZW5kZXIubW91c2VVcCgpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdw
c2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KScsICctd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRl
LWZpZWxkJyk7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>187803</attachid>
            <date>2013-02-12 01:00:18 -0800</date>
            <delta_ts>2013-02-12 01:01:21 -0800</delta_ts>
            <desc>INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input  should not move focus</desc>
            <filename>bug-109544-20130212175648.patch</filename>
            <type>text/plain</type>
            <size>18810</size>
            <attacher name="Nils Barth">nbarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBkODM1OTBlYWVmZWVh
NDJlYTc4YmI3NTIzZTRmNzQ5MDliNWNhYS4uNzZhMmUzNjdiZTQ1MWNlOWEzYzdlMTBmMmYxYzdj
M2Y3OTZiNTFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEzLTAyLTEyICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUk6IE1vdXNlIGNsaWNrIG5vdCBvbiBzdWItZmllbGRzIGluIG11bHRpcGxlIGZpZWxk
cyBpbnB1dCAgc2hvdWxkIG5vdCBtb3ZlIGZvY3VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBLZW50
YXJvIEhhcmEuCisKKyAgICAgICAgVGhpcyBpcyBzaW1pbGFyIHRvIEJ1ZyAxMDg5MTQsICJTaG91
bGQgbm90IG1vdmUgZm9jdXMgaWYgdGhlIGVsZW1lbnQKKyAgICAgICAgYWxyZWFkeSBoYXMgZm9j
dXMuIiBXZSBmaXhlZCBhIGZvY3VzKCkgY2FzZSBpbiBCdWcgMTA4OTE0LiBIb3dldmVyIHdlCisg
ICAgICAgIHN0aWxsIGhhdmUgdGhlIHByb2JsZW0gaW4gYSBjYXNlIG9mIGZvY3VzaW5nIGJ5IG1v
dXNlIGNsaWNrLgorCisgICAgICAgIFRoZSBmaXggZm9yIEJ1ZyAxMDg5MTQgaW50ZXJjZXB0ZWQg
Zm9jdXMoKSBmdW5jdGlvbiB0byBjaGFuZ2UgdGhlCisgICAgICAgIGJlaGF2aW9yLiBIb3dldmVy
IGZvY3VzLWJ5LWNsaWNrIGRvZXNuJ3QgY2FsbCBmb2N1cygpLCBidXQgY2FsbHMKKyAgICAgICAg
Rm9jdXNDb250cm9sbGVyOjpzZXRGb2N1c2VkTm9kZS4gVG8gZml4IHRoaXMgcHJvYmxlbSwgd2Ug
aW50cm9kdWNlCisgICAgICAgIG9sZEZvY3VzZWROb2RlIGFyZ3VtZW50IHRvIGhhbmRsZUZvY3Vz
RXZlbnQsIGFuZAorICAgICAgICBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZTo6aGFuZGxlRm9jdXNFdmVudCByZXN0b3JlcyB0aGUKKyAgICAgICAgZm9jdXMgdG8gb2xkRm9j
dXNlZE5vZGUgaWYgb2xkRm9jdXNlZE5vZGUgaXMgb25lIG9mIHN1Yi1maWVsZHMuCisgICAgICAg
IGhhbmRsZUZvY3VzRXZlbnQgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSBmb2N1c2VkIG5vZGUgaXMg
Y2hhbmdlZC4KKworICAgICAgICBXZSBkb24ndCBuZWVkIElucHV0VHlwZTo6d2lsbENhbmNlbEZv
Y3VzIGFueSBtb3JlIGJlY2F1c2UgdGhlIG5ldyBjb2RlCisgICAgICAgIGluIGhhbmRsZUZvY3Vz
RXZlbnQgY292ZXJzIGl0LgorCisgICAgICAgIFRlc3RzOiBVcGRhdGUgZmFzdC9mb3Jtcy90aW1l
LW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sLgorCisgICAg
ICAgICogaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmhhbmRsZUZvY3VzRXZlbnQpOgorICAgICAg
ICBBZGQgb2xkRm9jdXNlZE5vZGUgYXJndW1lbnQuCisgICAgICAgICogaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudDo6ZGlzcGF0Y2hGb2N1c0V2ZW50KToKKyAgICAgICAgUGFzcyBvbGRGb2N1c2Vk
Tm9kZSB0byBoYW5kbGVGb2N1c0V2ZW50LgorCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50Lmg6CisgICAgICAgIChIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAgIC0gQWRkIG9sZEZv
Y3VzZWROb2RlIGFyZ3VtZW50IHRvIGhhbmRsZUZvY3VzRXZlbnQuCisgICAgICAgICAtIFJlbW92
ZSBmb2N1cygpIG92ZXJyaWRlLgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6
IFJlbW92ZSBmb2N1cygpIG92ZXJyaWRlLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudDo6aGFuZGxlRm9jdXNFdmVudCk6CisgICAgICAgIFBhc3Mgb2xkRm9jdXNlZE5vZGUgdG8g
SW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50LgorICAgICAgICAqIGh0bWwvSW5wdXRUeXBlLmNw
cDogUmVtb3ZlIHdpbGxDYW5jZWxGb2N1cy4KKyAgICAgICAgKFdlYkNvcmU6OklucHV0VHlwZTo6
aGFuZGxlRm9jdXNFdmVudCk6CisgICAgICAgIEFkZCBvbGRGb2N1c2VkTm9kZSBhcmd1bWVudC4K
KyAgICAgICAgKiBodG1sL0lucHV0VHlwZS5oOgorICAgICAgICAoSW5wdXRUeXBlKTogRGl0dG8u
CisgICAgICAgICogaHRtbC9QYXNzd29yZElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQYXNzd29yZElucHV0VHlwZTo6aGFuZGxlRm9jdXNFdmVudCk6IERpdHRvLgorICAgICAgICAq
IGh0bWwvUGFzc3dvcmRJbnB1dFR5cGUuaDoKKyAgICAgICAgKFBhc3N3b3JkSW5wdXRUeXBlKTog
RGl0dG8uCisKKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmg6CisgICAgICAgIChCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZSk6CisgICAgICAgIFJlbW92ZSB3aWxsQ2FuY2VsRm9jdXMsIGFuZCBhZGQgb2xkRm9jdXNlZE5v
ZGUgYXJndW1lbnQgdG8gaGFuZGxlRm9jdXNFdmVudC4KKyAgICAgICAgKiBodG1sL0Jhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJh
c2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KToK
KyAgICAgICAgUGFzcyBvbGRGb2N1c2VkTm9kZSB0byBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1
c0J5T3duZXIgaWYgdGhlCisgICAgICAgIGRpcmVjdGlvbiBpcyBGb2N1c0RpcmVjdGlvbk5vbmUu
CisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50Lmg6CisgICAgICAg
IChEYXRlVGltZUVkaXRFbGVtZW50KTogQWRkIG9sZEZvY3VzZWROb2RlIGFyZ3VtZW50IHRvIGZv
Y3VzQnlPd25lci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRWRpdEVsZW1lbnQ6OmZvY3VzQnlPd25lcik6
CisgICAgICAgIElmIG9sZEZvY3VzZWROb2RlIGlzIG9uZSBvZiBzdWItZmllbGRzLCBmb2N1cyBv
biBpdCBhZ2Fpbi4KKwogMjAxMy0wMi0xMiAgVGFrYXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgW1JlZmFjdG9yaW5nXSBNYWtlIG1fc2VsZWN0b3JDaGVja2VyIGlu
IFN0eWxlUmVzb2x2ZXIgYW4gb24tc3RhY2sgb2JqZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
LmNwcAppbmRleCA2MDY0NzA4MjM3MTA0YWM5MDdlNzY0MGVlMGEyMDIyMGZjYmVhM2E1Li5iNDM2
MWY2YWYyYzE4YTU1MzUxOTU3ODc3NTNhMzRiN2JhZDU5MTc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5w
dXRUeXBlLmNwcApAQCAtMjQxLDE4ICsyNDEsMTUgQEAgdm9pZCBCYXNlTXVsdGlwbGVGaWVsZHNE
YXRlQW5kVGltZUlucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKQogICAgIEJhc2VEYXRl
QW5kVGltZUlucHV0VHlwZTo6ZGVzdHJveVNoYWRvd1N1YnRyZWUoKTsKIH0KIAotYm9vbCBCYXNl
TXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6d2lsbENhbmNlbEZvY3VzKGJvb2wg
cmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCi17Ci0g
ICAgcmV0dXJuIGRpcmVjdGlvbiA9PSBGb2N1c0RpcmVjdGlvbk5vbmUgJiYgbV9kYXRlVGltZUVk
aXRFbGVtZW50ICYmIG1fZGF0ZVRpbWVFZGl0RWxlbWVudC0+aGFzRm9jdXNlZEZpZWxkKCk7Ci19
Ci0KLXZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUZv
Y3VzRXZlbnQoRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQordm9pZCBCYXNlTXVsdGlwbGVGaWVs
ZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6aGFuZGxlRm9jdXNFdmVudChOb2RlKiBvbGRGb2N1c2Vk
Tm9kZSwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQogewogICAgIGlmICghbV9kYXRlVGltZUVk
aXRFbGVtZW50KQogICAgICAgICByZXR1cm47CiAgICAgaWYgKGRpcmVjdGlvbiA9PSBGb2N1c0Rp
cmVjdGlvbkJhY2t3YXJkKSB7CiAgICAgICAgIGlmIChlbGVtZW50KCktPmRvY3VtZW50KCktPnBh
Z2UoKSkKICAgICAgICAgICAgIGVsZW1lbnQoKS0+ZG9jdW1lbnQoKS0+cGFnZSgpLT5mb2N1c0Nv
bnRyb2xsZXIoKS0+YWR2YW5jZUZvY3VzKGRpcmVjdGlvbiwgMCk7CisgICAgfSBlbHNlIGlmIChk
aXJlY3Rpb24gPT0gRm9jdXNEaXJlY3Rpb25Ob25lKSB7CisgICAgICAgIG1fZGF0ZVRpbWVFZGl0
RWxlbWVudC0+Zm9jdXNCeU93bmVyKG9sZEZvY3VzZWROb2RlKTsKICAgICB9IGVsc2UKICAgICAg
ICAgbV9kYXRlVGltZUVkaXRFbGVtZW50LT5mb2N1c0J5T3duZXIoKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaAppbmRleCBjMDcxM2VlZTBhZjBhZmIyNWNhNzFhZTdiNjcxYmFjYjQ0MTcxMmM3
Li45MzFkZTA2ZmYxNmMwMjVkMGMzNjFlNzBkYzY3ODBkNjI3YTIxNDEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oCkBAIC04MSw5ICs4MSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lk
IGNyZWF0ZVNoYWRvd1N1YnRyZWUoKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGVzdHJveVNoYWRvd1N1YnRyZWUoKSBPVkVSUklERSBGSU5BTDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlzYWJsZWRBdHRyaWJ1dGVDaGFuZ2VkKCkgT1ZFUlJJREUgRklOQUw7Ci0gICAgdmlydHVhbCBi
b29sIHdpbGxDYW5jZWxGb2N1cyhib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9jdXNE
aXJlY3Rpb24pIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBmb3J3YXJkRXZlbnQoRXZlbnQq
KSBPVkVSUklERSBGSU5BTDsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVudChGb2N1
c0RpcmVjdGlvbikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUZvY3VzRXZlbnQo
Tm9kZSogb2xkRm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgaGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKSBPVkVSUklERSBGSU5B
TDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQmFkSW5wdXQoKSBjb25zdCBPVkVSUklERTsKICAgICB2
aXJ0dWFsIGJvb2wgaGFzQ3VzdG9tRm9jdXNMb2dpYygpIGNvbnN0IE9WRVJSSURFIEZJTkFMOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMGMyMjZhMDg5ZTE2
ZmQ3MTEyYjMzZTZhMjAwYzlkZTdkZDBkMTYwOS4uNzAxNTc2YmU0Nzc3NjQ2MTA0YzJiYzA0NTU5
NjVmZTc1MmE3YmQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
CkBAIC0zNzAsMTIgKzM3MCw2IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6ZGVmYXVsdEJsdXIo
KQogICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpibHVyKCk7CiB9CiAKLXZvaWQgSFRN
TElucHV0RWxlbWVudDo6Zm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24sIEZvY3Vz
RGlyZWN0aW9uIGRpcmVjdGlvbikKLXsKLSAgICBpZiAoIW1faW5wdXRUeXBlLT53aWxsQ2FuY2Vs
Rm9jdXMocmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBkaXJlY3Rpb24pKQotICAgICAgICBIVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudDo6Zm9jdXMocmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uLCBk
aXJlY3Rpb24pOwotfQotCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6Omhhc0N1c3RvbUZvY3VzTG9n
aWMoKSBjb25zdAogewogICAgIHJldHVybiBtX2lucHV0VHlwZS0+aGFzQ3VzdG9tRm9jdXNMb2dp
YygpOwpAQCAtNDMzLDkgKzQyNyw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c2hvdWxkVXNl
SW5wdXRNZXRob2QoKQogICAgIHJldHVybiBtX2lucHV0VHlwZS0+c2hvdWxkVXNlSW5wdXRNZXRo
b2QoKTsKIH0KIAotdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpoYW5kbGVGb2N1c0V2ZW50KEZvY3Vz
RGlyZWN0aW9uIGRpcmVjdGlvbikKK3ZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlRm9jdXNF
dmVudChOb2RlKiBvbGRGb2N1c2VkTm9kZSwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQogewot
ICAgIG1faW5wdXRUeXBlLT5oYW5kbGVGb2N1c0V2ZW50KGRpcmVjdGlvbik7CisgICAgbV9pbnB1
dFR5cGUtPmhhbmRsZUZvY3VzRXZlbnQob2xkRm9jdXNlZE5vZGUsIGRpcmVjdGlvbik7CiB9CiAK
IHZvaWQgSFRNTElucHV0RWxlbWVudDo6aGFuZGxlQmx1ckV2ZW50KCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggZGVjY2RjNTMxNGU0NTE5M2M5NjYxN2U5MjIzYWZl
NzJmZjIzNDIwYS4uY2ZmYjA3N2RlMTgwY2M5ZDQ3ZThlMzM1M2IzMDFmYjM0ZDY1MjRjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKQEAgLTI4MCw3ICsyODAsNiBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYmx1cigpIE9WRVJSSURFOwogICAgIHZvaWQgZGVm
YXVsdEJsdXIoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNT
ZWxlY3Rpb24gPSB0cnVlLCBGb2N1c0RpcmVjdGlvbiA9IEZvY3VzRGlyZWN0aW9uTm9uZSkgT1ZF
UlJJREU7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSgpIGNvbnN0IE9W
RVJSSURFOwogCkBAIC0zNzgsNyArMzc3LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlUGxhY2Vob2xkZXJUZXh0KCk7CiAgICAgdmlydHVhbCBib29sIGlzRW1wdHlWYWx1ZSgp
IGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGlubmVyVGV4dFZhbHVlKCkuaXNFbXB0eSgpOyB9CiAg
ICAgdmlydHVhbCBib29sIGlzRW1wdHlTdWdnZXN0ZWRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHN1
Z2dlc3RlZFZhbHVlKCkuaXNFbXB0eSgpOyB9Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUZvY3Vz
RXZlbnQoRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVG
b2N1c0V2ZW50KE5vZGUqIG9sZEZvY3VzZWROb2RlLCBGb2N1c0RpcmVjdGlvbikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUJsdXJFdmVudCgpOwogCiAgICAgdmlydHVhbCBib29s
IGlzT3B0aW9uYWxGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuICFpc1JlcXVpcmVkRm9ybUNv
bnRyb2woKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1D
b250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50LmNwcAppbmRleCA5NzM5NTIzNGFhMzBlOTJmOGEyYWMyMjcxMWY5Y2ZjMTVmNDM3
OWE2Li4yZmM5ZjQ4MjhlNWYwZWQwYTYzMmU4YTk1MDkxNzg4NWMxMGRkMmIyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcApAQCAt
ODgsNyArODgsNyBAQCB2b2lkIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpkaXNwYXRjaEZv
Y3VzRXZlbnQoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTgogewogICAgIGlmIChzdXBwb3J0
c1BsYWNlaG9sZGVyKCkpCiAgICAgICAgIHVwZGF0ZVBsYWNlaG9sZGVyVmlzaWJpbGl0eShmYWxz
ZSk7Ci0gICAgaGFuZGxlRm9jdXNFdmVudChkaXJlY3Rpb24pOworICAgIGhhbmRsZUZvY3VzRXZl
bnQob2xkRm9jdXNlZE5vZGUuZ2V0KCksIGRpcmVjdGlvbik7CiAgICAgSFRNTEZvcm1Db250cm9s
RWxlbWVudFdpdGhTdGF0ZTo6ZGlzcGF0Y2hGb2N1c0V2ZW50KG9sZEZvY3VzZWROb2RlLCBkaXJl
Y3Rpb24pOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRy
b2xFbGVtZW50LmgKaW5kZXggMzdkNmEzMWE2ZDM4ZjkwZWFmZDQ5NTA5MGNkMTQyZjRmZDU0YzZj
Zi4uMWFjNjVmNTU4MzhlZTA4ZTc2YzM1YjRkZDkwY2Y3YmViNTlhZjFkNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTI3LDcg
KzEyNyw3IEBAIHByaXZhdGU6CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHN1Z2dlc3RlZCB2YWx1
ZSBpcyBlbXB0eS4gVXNlZCB0byBjaGVjayBwbGFjZWhvbGRlciB2aXNpYmlsaXR5LgogICAgIHZp
cnR1YWwgYm9vbCBpc0VtcHR5U3VnZ2VzdGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAgICAgLy8gQ2FsbGVkIGluIGRpc3BhdGNoRm9jdXNFdmVudCgpLCBhZnRlciBwbGFjZWhvbGRl
ciBwcm9jZXNzLCBiZWZvcmUgY2FsbGluZyBwYXJlbnQncyBkaXNwYXRjaEZvY3VzRXZlbnQoKS4K
LSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNFdmVudChGb2N1c0RpcmVjdGlvbikgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUZvY3VzRXZlbnQoTm9kZSogLyogb2xkRm9jdXNlZE5vZGUg
Ki8sIEZvY3VzRGlyZWN0aW9uKSB7IH0KICAgICAvLyBDYWxsZWQgaW4gZGlzcGF0Y2hCbHVyRXZl
bnQoKSwgYWZ0ZXIgcGxhY2Vob2xkZXIgcHJvY2VzcywgYmVmb3JlIGNhbGxpbmcgcGFyZW50J3Mg
ZGlzcGF0Y2hCbHVyRXZlbnQoKS4KICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQmx1ckV2ZW50KCkg
eyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmNwcAppbmRleCBlMGIyOTQwZjQzMzA0YzI4YTQ2
MGM4MWEwMmQ4MGI3MjkwNjM4NjIwLi5lMDRjOTQ2NTk0NWI1M2I0OTJmZjA2N2FhYWFiOGUzZDY5
ODljZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCkBAIC00NzEsMTEgKzQ3MSw2IEBA
IHZvaWQgSW5wdXRUeXBlOjpibHVyKCkKICAgICBlbGVtZW50KCktPmRlZmF1bHRCbHVyKCk7CiB9
CiAKLWJvb2wgSW5wdXRUeXBlOjp3aWxsQ2FuY2VsRm9jdXMoYm9vbCwgRm9jdXNEaXJlY3Rpb24p
Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIElucHV0VHlwZTo6Y3JlYXRlU2hhZG93
U3VidHJlZSgpCiB7CiB9CkBAIC01NjMsNyArNTU4LDcgQEAgYm9vbCBJbnB1dFR5cGU6OnNob3Vs
ZFVzZUlucHV0TWV0aG9kKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgSW5w
dXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KEZvY3VzRGlyZWN0aW9uKQordm9pZCBJbnB1dFR5cGU6
OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSosIEZvY3VzRGlyZWN0aW9uKQogewogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9JbnB1dFR5cGUuaAppbmRleCBiMGYxMjViM2QyNDMxZWQ1MTBjZWIzODFlNzJkNzA3Y2EyZmY0
ZDE0Li5mN2UyMTFmNTFkZDI4ZjkxNTk3ZGU1MzQ3MWI2YjliZWNlN2EzNjUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmgKQEAgLTIwNCw3ICsyMDQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIGlzS2V5Ym9hcmRGb2N1c2FibGUoS2V5Ym9hcmRFdmVudCopIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHNob3Vs
ZFVzZUlucHV0TWV0aG9kKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUZvY3VzRXZl
bnQoRm9jdXNEaXJlY3Rpb24pOworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVGb2N1c0V2ZW50KE5v
ZGUqIG9sZEZvY3VzZWROb2RlLCBGb2N1c0RpcmVjdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUJsdXJFdmVudCgpOwogICAgIHZpcnR1YWwgdm9pZCBhY2Nlc3NLZXlBY3Rpb24oYm9vbCBz
ZW5kTW91c2VFdmVudHMpOwogICAgIHZpcnR1YWwgYm9vbCBjYW5CZVN1Y2Nlc3NmdWxTdWJtaXRC
dXR0b24oKTsKQEAgLTIxNCw3ICsyMTQsNiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZpcnR1
YWwgdm9pZCBibHVyKCk7Ci0gICAgdmlydHVhbCBib29sIHdpbGxDYW5jZWxGb2N1cyhib29sIHJl
c3RvcmVQcmV2aW91c1NlbGVjdGlvbiwgRm9jdXNEaXJlY3Rpb24pOwogCiAgICAgLy8gU2hhZG93
IHRyZWUgaGFuZGxpbmcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9QYXNzd29y
ZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmNw
cAppbmRleCA5ZmUzMWFjNmQzNGI4ZjRiNjk4OThjOWQ0NDIzYjUzMjFhYzQ1YWZiLi4yMzBhOWVi
YjhiNDY4OWIwNTIwYjlmNmMwMDVhZDVlMmMwMWVkNWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1Bhc3N3b3JkSW5wdXRUeXBlLmNwcApAQCAtOTUsOSArOTUsOSBAQCBib29sIFBhc3N3b3JkSW5w
dXRUeXBlOjppc1Bhc3N3b3JkRmllbGQoKSBjb25zdAogICAgIHJldHVybiB0cnVlOwogfQogCi12
b2lkIFBhc3N3b3JkSW5wdXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KEZvY3VzRGlyZWN0aW9uIGRp
cmVjdGlvbikKK3ZvaWQgUGFzc3dvcmRJbnB1dFR5cGU6OmhhbmRsZUZvY3VzRXZlbnQoTm9kZSog
b2xkRm9jdXNlZE5vZGUsIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKLSAgICBCYXNlVGV4
dElucHV0VHlwZTo6aGFuZGxlRm9jdXNFdmVudChkaXJlY3Rpb24pOworICAgIEJhc2VUZXh0SW5w
dXRUeXBlOjpoYW5kbGVGb2N1c0V2ZW50KG9sZEZvY3VzZWROb2RlLCBkaXJlY3Rpb24pOwogICAg
IGlmIChlbGVtZW50KCktPmRvY3VtZW50KCktPmZyYW1lKCkpCiAgICAgICAgIGVsZW1lbnQoKS0+
ZG9jdW1lbnQoKS0+c2V0VXNlU2VjdXJlS2V5Ym9hcmRFbnRyeVdoZW5BY3RpdmUodHJ1ZSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL1Bhc3N3b3JkSW5wdXRUeXBlLmgKaW5kZXggMmIyN2U0YzZkNzY1
M2UzMzZkYTlmNDhhNGJhZDMyOTFlNzljMjI0ZC4uMGJlZmFjZTQyNDg3MGU3YzgxYzRlOTA2ZmM1
ZmIwNWNhYjgzZWRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9QYXNzd29yZElu
cHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUGFzc3dvcmRJbnB1dFR5cGUuaApA
QCAtNTAsNyArNTAsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSZXNwZWN0
TGlzdEF0dHJpYnV0ZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSZXNwZWN0
U3BlZWNoQXR0cmlidXRlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzUGFzc3dvcmRG
aWVsZCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVGb2N1c0V2ZW50
KEZvY3VzRGlyZWN0aW9uKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRm9jdXNF
dmVudChOb2RlKiBvbGRGb2N1c2VkTm9kZSwgRm9jdXNEaXJlY3Rpb24pIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVCbHVyRXZlbnQoKSBPVkVSUklERTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKaW5kZXgg
NGVhNDA2MGY4M2E2ZTZkMmExMjU0MzBkNTA4NjBjYzgwMjRjZmE2NS4uZmMyNTE3NDYyZmY0NWVj
ZDVkOWNkMmUxMGM4MzhiMzAyNjFlZmM5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAKQEAgLTUwOSw4ICs1MDksMTYgQEAgdm9p
ZCBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c0lmTm9Gb2N1cygpCiAgICAgZm9jdXNPbk5leHRG
b2N1c2FibGVGaWVsZCgwKTsKIH0KIAotdm9pZCBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c0J5
T3duZXIoKQordm9pZCBEYXRlVGltZUVkaXRFbGVtZW50Ojpmb2N1c0J5T3duZXIoTm9kZSogb2xk
Rm9jdXNlZE5vZGUpCiB7CisgICAgaWYgKG9sZEZvY3VzZWROb2RlICYmIG9sZEZvY3VzZWROb2Rl
LT5pc0VsZW1lbnROb2RlKCkgJiYgdG9FbGVtZW50KG9sZEZvY3VzZWROb2RlKS0+aXNEYXRlVGlt
ZUZpZWxkRWxlbWVudCgpKSB7CisgICAgICAgIERhdGVUaW1lRmllbGRFbGVtZW50KiBvbGRGb2N1
c2VkRmllbGQgPSBzdGF0aWNfY2FzdDxEYXRlVGltZUZpZWxkRWxlbWVudCo+KG9sZEZvY3VzZWRO
b2RlKTsKKyAgICAgICAgc2l6ZV90IGluZGV4ID0gZmllbGRJbmRleE9mKCpvbGRGb2N1c2VkRmll
bGQpOworICAgICAgICBpZiAoaW5kZXggIT0gaW52YWxpZEZpZWxkSW5kZXggJiYgb2xkRm9jdXNl
ZEZpZWxkLT5pc0ZvY3VzYWJsZSgpKSB7CisgICAgICAgICAgICBvbGRGb2N1c2VkRmllbGQtPmZv
Y3VzKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CiAgICAgZm9jdXNP
bk5leHRGb2N1c2FibGVGaWVsZCgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCmluZGV4IDJmOGNmODA2M2QzMjRmZmMxMTU0YmRk
MWI5ZTczNDQ2ZGVkZGMyZmUuLjkyMjg1MmI0MDgwYzc3OTAyMTE0NjIzYTQ3M2JhNGViZWVjNzc1
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVt
ZW50LmgKQEAgLTg5LDcgKzg5LDkgQEAgcHVibGljOgogICAgIHZvaWQgZGlzYWJsZWRTdGF0ZUNo
YW5nZWQoKTsKICAgICBFbGVtZW50KiBmaWVsZHNXcmFwcGVyRWxlbWVudCgpIGNvbnN0OwogICAg
IHZvaWQgZm9jdXNJZk5vRm9jdXMoKTsKLSAgICB2b2lkIGZvY3VzQnlPd25lcigpOworICAgIC8v
IElmIG9sZEZvY3VzZWROb2RlIGlzIG9uZSBvZiBzdWItZmllbGRzLCBmb2N1cyBvbiBpdC4gT3Ro
ZXJ3aXNlIGZvY3VzIG9uCisgICAgLy8gdGhlIGZpcnN0IHN1Yi1maWVsZC4KKyAgICB2b2lkIGZv
Y3VzQnlPd25lcihOb2RlKiBvbGRGb2N1c2VkTm9kZSA9IDApOwogICAgIGJvb2wgaGFzRm9jdXNl
ZEZpZWxkKCk7CiAgICAgdm9pZCByZWFkT25seVN0YXRlQ2hhbmdlZCgpOwogICAgIHZvaWQgcmVt
b3ZlRWRpdENvbnRyb2xPd25lcigpIHsgbV9lZGl0Q29udHJvbE93bmVyID0gMDsgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDVlYTcyODJiMTY5MTJjNzNhMGIxYjg4Zjc4MDBhNTkzNGVhNWQ5YmMuLjVjYTEyMWEyZmEzMGNh
M2EzZDEwODViYTIyOTllZTFlZGY1MTc3Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0w
Mi0xMiAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSU5QVVRf
TVVMVElQTEVfRklFTERTX1VJOiBNb3VzZSBjbGljayBub3Qgb24gc3ViLWZpZWxkcyBpbiBtdWx0
aXBsZSBmaWVsZHMgaW5wdXQgIHNob3VsZCBub3QgbW92ZSBmb2N1cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5NTQ0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgS2VudGFybyBIYXJhLgorCisgICAgICAgICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxl
LWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1m
b2N1cy5odG1sOgorICAgICAgICBBZGQgdGVzdCB0byBjbGljayBhIGRlbGltaXRlci4KKwogMjAx
My0wMi0xMSAgS3dhbmdZb25nIENob2kgIDxreTAuY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbRUZMXSBSZW1vdmUgd2ViaW50ZW50cyBmcm9tIFRlc3RFeHBlY3RhdGlvbnMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0aXBsZS1maWVsZHMvdGltZS1tdWx0
aXBsZS1maWVsZHMtZm9jdXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90
aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50
eHQKaW5kZXggZjFkMDdjMjQyMjE0NzBhOWM4MjY1ZjFmYTg0OTdkNGMwMGFkNGEzYy4uMWRlNGY3
OTYzMGIxNzI0YWUyNDIxYjgzZjI0NDc3YTRkMDg4OTk4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1m
b2N1cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRp
cGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy1leHBlY3RlZC50eHQKQEAgLTMs
MTEgKzMsMTIgQEAgQ2hlY2sgaWYgZm9jdXMoKSBmb3IgZm9jdXNlZCBpbnB1dCBkb2VzIG5vdCBj
aGFuZ2UgZm9jdXNlZCBzdWItZmllbGQuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAot
TW92ZSBmb2N1cyB0byB0aGUgc2Vjb25kIHN1Yi1maWVsZCwgdGhlbiBwcmVzcyBVcCBrZXk6CitN
b3ZlIGZvY3VzIHRvIHRoZSBzZWNvbmQgc3ViLWZpZWxkOgogUEFTUyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50IGlzIHRpbWVJbnB1dAotUEFTUyB0aW1lSW5wdXQudmFsdWUgaXMgIjAxOjAyIgotQ2Fs
bHMgZm9jdXMoKSwgdGhlbiBwcmVzcyBVcCBrZXk6Ci1QQVNTIHRpbWVJbnB1dC52YWx1ZSBpcyAi
MDE6MDMiCitQQVNTIHBzZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQpIGlzICItd2Via2l0LWRhdGV0
aW1lLWVkaXQtbWludXRlLWZpZWxkIgorUEFTUyB0aW1lSW5wdXQuZm9jdXMoKTsgcHNldWRvT2ZG
b2N1c2VkKHRpbWVJbnB1dCkgaXMgIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQi
CitDbGljayBvbiBhIGRlbGltaXRlciBiZXR3ZWVuIHN1Yi1maWVsZHMsIHRoZW4gY2hlY2sgaWYg
Zm9jdXNlZCBlbGVtZW50IGlzIG5vdCBjaGFuZ2VkOgorUEFTUyBwc2V1ZG9PZkZvY3VzZWQodGlt
ZUlucHV0KSBpcyAiLXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbnV0ZS1maWVsZCIKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZpZWxkcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy1mb2N1cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90aW1lLW11bHRpcGxlLWZp
ZWxkcy90aW1lLW11bHRpcGxlLWZpZWxkcy1mb2N1cy5odG1sCmluZGV4IDExNjU1ODVhN2NlYzk0
YWEzYTNiNzE0YWRhNjc4NDA4NzM3M2I2NTUuLjc3OGY3MWY0MDk3ZjdjNDUzN2M4Mzg4OTA4Njhj
NzdlNTU0YTY1N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGltZS1tdWx0
aXBsZS1maWVsZHMvdGltZS1tdWx0aXBsZS1maWVsZHMtZm9jdXMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL3RpbWUtbXVsdGlwbGUtZmllbGRzL3RpbWUtbXVsdGlwbGUtZmllbGRz
LWZvY3VzLmh0bWwKQEAgLTEsNyArMSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxib2R5PgogPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
aW5wdXQgaWQ9InRpbWVJbnB1dCIgdHlwZT0idGltZSIgdmFsdWU9IjAxOjAxIiBhdXRvZm9jdXM+
Cis8aW5wdXQgaWQ9InRpbWVJbnB1dCIgdHlwZT0idGltZSIgdmFsdWU9IjAxOjAxIiBzdHlsZT0i
Zm9udC1zaXplOjIwcHgiIGF1dG9mb2N1cz4KIDxzY3JpcHQ+CiBmdW5jdGlvbiBkaXNwYXRjaEtl
eUV2ZW50VG8odHlwZSwga2V5LCB0YXJnZXQpIHsKICAgICB2YXIgZXZlbnQgPSBkb2N1bWVudC5j
cmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOwpAQCAtOSwxOCArOSwyNCBAQCBmdW5jdGlvbiBk
aXNwYXRjaEtleUV2ZW50VG8odHlwZSwga2V5LCB0YXJnZXQpIHsKICAgICB0YXJnZXQuZGlzcGF0
Y2hFdmVudChldmVudCk7CiB9CiAKK2Z1bmN0aW9uIHBzZXVkb09mRm9jdXNlZCgpIHsKKyAgICBy
ZXR1cm4gaW50ZXJuYWxzLnlvdW5nZXN0U2hhZG93Um9vdCh0aW1lSW5wdXQpLmFjdGl2ZUVsZW1l
bnQuZ2V0QXR0cmlidXRlKCJwc2V1ZG8iKTsKK30KKwogZGVzY3JpcHRpb24oJ0NoZWNrIGlmIGZv
Y3VzKCkgZm9yIGZvY3VzZWQgaW5wdXQgZG9lcyBub3QgY2hhbmdlIGZvY3VzZWQgc3ViLWZpZWxk
LicpOwotZGVidWcoJ01vdmUgZm9jdXMgdG8gdGhlIHNlY29uZCBzdWItZmllbGQsIHRoZW4gcHJl
c3MgVXAga2V5OicpOworZGVidWcoJ01vdmUgZm9jdXMgdG8gdGhlIHNlY29uZCBzdWItZmllbGQ6
Jyk7CiB2YXIgdGltZUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVJbnB1dCcp
Owogc2hvdWxkQmUoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQnLCAndGltZUlucHV0Jyk7CiBkaXNw
YXRjaEtleUV2ZW50VG8oJ2tleWRvd24nLCAnUmlnaHQnLCB0aW1lSW5wdXQpOwotZGlzcGF0Y2hL
ZXlFdmVudFRvKCdrZXlkb3duJywgJ1VwJywgdGltZUlucHV0KTsKLXNob3VsZEJlRXF1YWxUb1N0
cmluZygndGltZUlucHV0LnZhbHVlJywgJzAxOjAyJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3BzZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51
dGUtZmllbGQnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndGltZUlucHV0LmZvY3VzKCk7IHBz
ZXVkb09mRm9jdXNlZCh0aW1lSW5wdXQpJywgJy13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUt
ZmllbGQnKTsKIAotZGVidWcoJ0NhbGxzIGZvY3VzKCksIHRoZW4gcHJlc3MgVXAga2V5OicpOwot
dGltZUlucHV0LmZvY3VzKCk7Ci1kaXNwYXRjaEtleUV2ZW50VG8oJ2tleWRvd24nLCAnVXAnLCB0
aW1lSW5wdXQpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0aW1lSW5wdXQudmFsdWUnLCAnMDE6
MDMnKTsKK2RlYnVnKCdDbGljayBvbiBhIGRlbGltaXRlciBiZXR3ZWVuIHN1Yi1maWVsZHMsIHRo
ZW4gY2hlY2sgaWYgZm9jdXNlZCBlbGVtZW50IGlzIG5vdCBjaGFuZ2VkOicpOwordmFyIGZvY3Vz
ZWRGaWVsZCA9IGludGVybmFscy55b3VuZ2VzdFNoYWRvd1Jvb3QodGltZUlucHV0KS5hY3RpdmVF
bGVtZW50OworZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oZm9jdXNlZEZpZWxkLm9mZnNldExlZnQg
KyBmb2N1c2VkRmllbGQub2Zmc2V0V2lkdGggKyAxMCwgZm9jdXNlZEZpZWxkLm9mZnNldFRvcCAr
IDEwKTsKK2V2ZW50U2VuZGVyLm1vdXNlRG93bigpOworZXZlbnRTZW5kZXIubW91c2VVcCgpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdwc2V1ZG9PZkZvY3VzZWQodGltZUlucHV0KScsICctd2Vi
a2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkJyk7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>