<?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>126592</bug_id>
          
          <creation_ts>2014-01-07 13:20:13 -0800</creation_ts>
          <short_desc>REGRESSION(r161447): needs some more work (Requested by thorton on #webkit).</short_desc>
          <delta_ts>2014-01-07 13:23:17 -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>New Bugs</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>
          
          <blocked>126536</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>andersca</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>965133</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-07 13:20:13 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/161447 broke the build:
needs some more work (Requested by thorton on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965135</commentid>
    <comment_count>1</comment_count>
      <attachid>220543</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-07 13:20:27 -0800</bug_when>
    <thetext>Created attachment 220543
ROLLOUT of r161447

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965136</commentid>
    <comment_count>2</comment_count>
      <attachid>220543</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-07 13:23:15 -0800</bug_when>
    <thetext>Comment on attachment 220543
ROLLOUT of r161447

Clearing flags on attachment: 220543

Committed r161452: &lt;http://trac.webkit.org/changeset/161452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965137</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-07 13:23:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220543</attachid>
            <date>2014-01-07 13:20:27 -0800</date>
            <delta_ts>2014-01-07 13:23:15 -0800</delta_ts>
            <desc>ROLLOUT of r161447</desc>
            <filename>bug-126592-20140107132027.patch</filename>
            <type>text/plain</type>
            <size>45313</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIxMjg3ZDE0ZjU2MGE2
MDY1N2ViMDBiMGZhZjUzYmEwNTU1OGI3Mi4uOGQ2ZWQyN2VjZmFhYjA1MGZiZDdlNmZjMzY0ODFj
ZGQ5NDdjOTJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE0LTAxLTA3ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTYxNDQ3LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xNjE0NDcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNjU5MgorCisgICAgICAgIG5lZWRzIHNvbWUgbW9yZSB3b3JrIChSZXF1ZXN0ZWQg
YnkgdGhvcnRvbiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAg
ICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
RnJhbWVWaWV3KToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9UaWxlZEJhY2tpbmcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9H
cmFwaGljc0xheWVyQ0EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9QbGF0Zm9y
bUNBTGF5ZXJDbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGls
ZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNv
bnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6VGlsZUNvbnRy
b2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnRpbGVzV291bGRDaGFu
Z2VGb3JWaXNpYmxlUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6c2V0
RXhwb3NlZFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnNldENsaXBz
VG9FeHBvc2VkUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6Y29tcHV0
ZVRpbGVDb3ZlcmFnZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNvbnRyb2xsZXI6OnJl
dmFsaWRhdGVUaWxlcyk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlQ29udHJvbGxlcjo6dXBkYXRl
VGlsZUNvdmVyYWdlTWFwKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVUaWxlQ292ZXJhZ2UpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaDoKKwogMjAxNC0wMS0wNyAgVGltIEhvcnRv
biAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBUaWxlQ29udHJvbGxlciBj
YW4gZmFpbCB0byByZWNlaXZlIGV4cG9zZWRSZWN0IGZyb20gdGhlIGRyYXdpbmcgYXJlYSBpZiBz
ZXQgYXQgdGhlIHdyb25nIHRpbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxZmRjYmI3MTkzMzZhNDRkMGFjMTVk
ZTM3NDc1YTM0MjI5ZGQ4OTNkLi44MjkwZTA5NmExZmQ3NDhlZmE5MzI0YjA0MmI3M2NiMzVkY2Ni
NjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTQtMDEtMDcgIENvbW1pdCBRdWV1
ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxNjE0NDcuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
LzE2MTQ0NworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI2NTkyCisKKyAgICAgICAgbmVlZHMgc29tZSBtb3JlIHdvcmsgKFJlcXVlc3RlZCBieSB0aG9y
dG9uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
OgorICAgICAgICAoLVtXS1ZpZXcgX3VwZGF0ZVZpZXdFeHBvc2VkUmVjdF0pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2lu
Z0FyZWFQcm94eTo6RHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpXZWJQYWdlUHJveHkpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
OjpleHBvc2VkUmVjdENoYW5nZWRUaW1lckZpcmVkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dmlld0V4cG9zZWRS
ZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5z
aXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0RXhwb3Nl
ZFJlY3QpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6c2V0Q2xpcHNUb0V4cG9zZWRS
ZWN0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMu
aW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjp2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEpOgorICAg
ICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6c2V0Q2xpcHNUb0V4cG9z
ZWRSZWN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnVw
ZGF0ZVNjcm9sbGVkRXhwb3NlZFJlY3QpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYTo6dXBkYXRlTWFpbkZyYW1lQ2xpcHNUb0V4cG9zZWRSZWN0KToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKToKKyAgICAgICAgKFdlYktpdDo6
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmZsdXNoTGF5ZXJzKToKKyAgICAgICAgKFdl
YktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNldENsaXBzVG9FeHBvc2VkUmVj
dCk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRh
dGVTY3JvbGxlZEV4cG9zZWRSZWN0KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZU1haW5GcmFtZUNsaXBzVG9FeHBvc2VkUmVjdCk6CisgICAg
ICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzZXRSb290Q29tcG9z
aXRpbmdMYXllcik6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjpjcmVhdGVQYWdlT3ZlcmxheUxheWVyKToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZENvbW1pdENoYW5nZXNGb3JMYXllcik6CisKIDIwMTQt
MDEtMDcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
VGlsZUNvbnRyb2xsZXIgY2FuIGZhaWwgdG8gcmVjZWl2ZSBleHBvc2VkUmVjdCBmcm9tIHRoZSBk
cmF3aW5nIGFyZWEgaWYgc2V0IGF0IHRoZSB3cm9uZyB0aW1lCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmlu
ZGV4IGEwMjA2NDFiZTZiMDJkYjcxN2I1YjQ3ZGM4OThkZDEwNGJmMDlhOGUuLjg2ZDc0OGZmMGE4
M2Q3NDIyODJlNzI2MGQ2YjhkMWYxZDU5ODBjZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0x
MjY1LDcgKzEyNjUsNiBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTNwYWludENvbnRlbnRzRVBO
U18xNUdyYXBoaWNzQ29udGV4dEVSS05TXzdJbnRSZWN0RQogX19aTjdXZWJDb3JlOUZyYW1lVmll
dzEzc2V0Tm9kZVRvRHJhd0VQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTRhZGp1
c3RWaWV3U2l6ZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTRpbnZhbGlkYXRlUmVjdEVSS05T
XzdJbnRSZWN0RQotX19aTjdXZWJDb3JlOUZyYW1lVmlldzE0c2V0RXhwb3NlZFJlY3RFTlNfOUZs
b2F0UmVjdEUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxNHNldE5lZWRzTGF5b3V0RXYKIF9fWk43
V2ViQ29yZTlGcmFtZVZpZXcxNHNldFRyYW5zcGFyZW50RWIKIF9fWk43V2ViQ29yZTlGcmFtZVZp
ZXcxNXNldEZvb3RlckhlaWdodEVpCkBAIC0xNTgxLDcgKzE1ODAsNiBAQCBfX1pOSzdXZWJDb3Jl
MTVHcmFwaGljc0xheWVyQ0EyMWNhblRocm90dGxlTGF5ZXJGbHVzaEV2CiBfX1pOSzdXZWJDb3Jl
MTVHcmFwaGljc0xheWVyQ0EyNGR1bXBBZGRpdGlvbmFsUHJvcGVydGllc0VSTlNfMTBUZXh0U3Ry
ZWFtRWlqCiBfX1pOSzdXZWJDb3JlMTVHcmFwaGljc0xheWVyQ0EyNXNob3VsZFJlcGFpbnRPblNp
emVDaGFuZ2VFdgogX19aTks3V2ViQ29yZTE1R3JhcGhpY3NMYXllckNBMjZiYWNraW5nU3RvcmVN
ZW1vcnlFc3RpbWF0ZUV2Ci1fX1pOSzdXZWJDb3JlMTVHcmFwaGljc0xheWVyQ0EyNnBsYXRmb3Jt
Q0FMYXllckV4cG9zZWRSZWN0RXYKIF9fWk5LN1dlYkNvcmUxNUdyYXBoaWNzTGF5ZXJDQTMwdmlz
aWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoRVJLTlNfOUZsb2F0UmVjdEUKIF9fWk5LN1dlYkNv
cmUxNUdyYXBoaWNzTGF5ZXJDQTMycGxhdGZvcm1DQUxheWVyRGV2aWNlU2NhbGVGYWN0b3JFdgog
X19aTks3V2ViQ29yZTE1R3JhcGhpY3NMYXllckNBMzNwbGF0Zm9ybUNBTGF5ZXJTaG93UmVwYWlu
dENvdW50ZXJFUE5TXzE1UGxhdGZvcm1DQUxheWVyRQpAQCAtMTg1OCw3ICsxODU2LDYgQEAgX19a
VGhuPz8/X043V2ViQ29yZTE1R3JhcGhpY3NMYXllckNBNDBwbGF0Zm9ybUNBTGF5ZXJTZXROZWVk
c1RvUmV2YWxpZGF0ZVRpbGVzRXYKIF9fWlRobj8/P19OSzdXZWJDb3JlMTVHcmFwaGljc0xheWVy
Q0EzMnBsYXRmb3JtQ0FMYXllckRldmljZVNjYWxlRmFjdG9yRXYKIF9fWlRobj8/P19OSzdXZWJD
b3JlMTVHcmFwaGljc0xheWVyQ0EzM3BsYXRmb3JtQ0FMYXllclNob3dSZXBhaW50Q291bnRlckVQ
TlNfMTVQbGF0Zm9ybUNBTGF5ZXJFCiBfX1pUaG4/Pz9fTks3V2ViQ29yZTE1R3JhcGhpY3NMYXll
ckNBNDlwbGF0Zm9ybUNBTGF5ZXJDb250ZW50c1NjYWxlTXVsdGlwbGllckZvck5ld1RpbGVzRVBO
U18xNVBsYXRmb3JtQ0FMYXllckUKLV9fWlRobj8/P19OSzdXZWJDb3JlMTVHcmFwaGljc0xheWVy
Q0EyNnBsYXRmb3JtQ0FMYXllckV4cG9zZWRSZWN0RXYKIF9maWxlbmFtZUJ5Rml4aW5nSWxsZWdh
bENoYXJhY3RlcnMKIF9oYXNDYXNlSW5zZW5zaXRpdmVQcmVmaXgKIF9oYXNDYXNlSW5zZW5zaXRp
dmVTdWJzdHJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAyZDBkOTg0OWQ0MGVk
ZTU5NzRiZTg3ZGE5ZTcxYzExZTA1ZWZjMjY0Li40ODYzZTMwNzNlMzFlYmRkOWQ5Y2I2YTAyMDY4
YzA1YjM0OWFiNjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMDEsNyArMjAx
LDYgQEAgRnJhbWVWaWV3OjpGcmFtZVZpZXcoRnJhbWUmIGZyYW1lKQogICAgICwgbV9kZWZlcnJl
ZFJlcGFpbnRUaW1lcih0aGlzLCAmRnJhbWVWaWV3OjpkZWZlcnJlZFJlcGFpbnRUaW1lckZpcmVk
KQogICAgICwgbV9pc1RyYWNraW5nUmVwYWludHMoZmFsc2UpCiAgICAgLCBtX3Nob3VsZFVwZGF0
ZVdoaWxlT2Zmc2NyZWVuKHRydWUpCi0gICAgLCBtX2V4cG9zZWRSZWN0KEZsb2F0UmVjdDo6aW5m
aW5pdGVSZWN0KCkpCiAgICAgLCBtX2RlZmVyU2V0TmVlZHNMYXlvdXRzKDApCiAgICAgLCBtX3Nl
dE5lZWRzTGF5b3V0V2FzRGVmZXJyZWQoZmFsc2UpCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDM3
MiwxNyArNDM3MSw0IEBAIHZvaWQgRnJhbWVWaWV3Ojpub3RpZnlXaWRnZXRzKFdpZGdldE5vdGlm
aWNhdGlvbiBub3RpZmljYXRpb24pCiAgICAgICAgIHByb3RlY3RlZFdpZGdldHNbaV0tPm5vdGlm
eVdpZGdldChub3RpZmljYXRpb24pOwogfQogCi12b2lkIEZyYW1lVmlldzo6c2V0RXhwb3NlZFJl
Y3QoRmxvYXRSZWN0IGV4cG9zZWRSZWN0KQotewotICAgIG1fZXhwb3NlZFJlY3QgPSBleHBvc2Vk
UmVjdDsKLQotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIHN1cHBvcnQgY2xpcHBpbmcgdG8gdGhlIGV4cG9zZWQgcmVjdCBmb3Igc3ViZnJh
bWVzIGFzIHdlbGwuCi0gICAgaWYgKG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpIHsKLSAgICAgICAg
aWYgKFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nID0gdGhpcy0+dGlsZWRCYWNraW5nKCkpCi0g
ICAgICAgICAgICB0aWxlZEJhY2tpbmctPmV4cG9zZWRSZWN0RGlkQ2hhbmdlKCk7Ci0gICAgfQot
I2VuZGlmCi19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CmluZGV4IGFlMWEzZWZmMDIyZmYxNjdjOTUxODM5NTZhYmI2MWFlMTE2NTAxYTYuLjFmNDU0YjQ1
MjYxZjliZWY0M2YyMDY4NGRkOTE5ZTQ2MGVmZTcyMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aApAQCAtNDQ1LDkgKzQ0NSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkVHJhY2tlZFJlcGFp
bnRSZWN0KGNvbnN0IEludFJlY3QmKTsKIAotICAgIHZvaWQgc2V0RXhwb3NlZFJlY3QoRmxvYXRS
ZWN0KTsKLSAgICBGbG9hdFJlY3QgZXhwb3NlZFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2V4cG9z
ZWRSZWN0OyB9Ci0KIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xsQ29udGVudHNG
YXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRv
U2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgT1ZF
UlJJREU7CkBAIC02MzMsOCArNjMwLDYgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9zaG91bGRV
cGRhdGVXaGlsZU9mZnNjcmVlbjsKIAotICAgIEZsb2F0UmVjdCBtX2V4cG9zZWRSZWN0OwotCiAg
ICAgdW5zaWduZWQgbV9kZWZlclNldE5lZWRzTGF5b3V0czsKICAgICBib29sIG1fc2V0TmVlZHNM
YXlvdXRXYXNEZWZlcnJlZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5oCmluZGV4IGRkODIzODE1OWU3YTIwMzg4MTc2
NDQ5OTIzYzVjMWJmNTg1NDg4ZjcuLjkwZjllODIzYjRhOTdlZDdkOTA0MDZlNWZkZWZmNGYwMTNj
MDM5OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyQ2xpZW50LmgKQEAgLTI4LDggKzI4LDYgQEAKIAogI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKIAotI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgotCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CkBAIC05Nyw4ICs5NSw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkU2tpcExheWVySW5EdW1wKGNvbnN0IEdyYXBoaWNzTGF5
ZXIqKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBzaG91bGREdW1w
UHJvcGVydHlGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyKiwgY29uc3QgY2hhciopIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KIAotICAgIHZpcnR1YWwgRmxvYXRSZWN0IGV4cG9zZWRSZWN0KCkg
Y29uc3QgeyByZXR1cm4gRmxvYXRSZWN0OjppbmZpbml0ZVJlY3QoKTsgfQotCiAjaWZuZGVmIE5E
RUJVRwogICAgIC8vIFJlbmRlckxheWVyQmFja2luZyBvdmVycmlkZXMgdGhpcyB0byB2ZXJpZnkg
dGhhdCBpdCBpcyBub3QKICAgICAvLyBjdXJyZW50bHkgcGFpbnRpbmcgY29udGVudHMuIEFuIEFT
U0VSVCBmYWlscywgaWYgaXQgaXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGVkQmFja2luZy5oCmluZGV4IDM1ODRkNDAyZTZmODI4YmVhN2U5MDhjNzc1M2JiZGQ3
YzY2Zjg3ZjMuLmEwNWRiZjlhZjVkOTUxMmVmYjJkNzcxMTM1NTlkMjRjMjZjYWU1YjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oCkBAIC00
Nyw3ICs0Nyw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEZsb2F0UmVjdCB2aXNpYmxlUmVjdCgp
IGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgdGlsZXNXb3VsZENoYW5nZUZvclZpc2libGVS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0ID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBleHBv
c2VkUmVjdERpZENoYW5nZSgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RXhwb3NlZFJlY3Qo
Y29uc3QgRmxvYXRSZWN0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRDbGlwc1RvRXhwb3Nl
ZFJlY3QoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBjbGlwc1RvRXhwb3NlZFJlY3QoKSA9
IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJlcG9wdWxhdGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYp
ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9H
cmFwaGljc0xheWVyQ0EuaAppbmRleCBiMmQxMmJhYzJkMTlmYWRkOWQ4ZWM4NzQyMzBhOWM5NDMz
Njc4ZTZjLi4xYzM3ZDAwZmRjMzQ1NmE2YWQwMWU3MTQzNzM0MGE2MWNkMGI2YTVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0Eu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVy
Q0EuaApAQCAtMTg0LDcgKzE4NCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBsYXRm
b3JtQ0FMYXllclNldE5lZWRzVG9SZXZhbGlkYXRlVGlsZXMoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIGZsb2F0IHBsYXRmb3JtQ0FMYXllckRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCBmbG9hdCBwbGF0Zm9ybUNBTGF5ZXJDb250ZW50c1NjYWxlTXVsdGlw
bGllckZvck5ld1RpbGVzKFBsYXRmb3JtQ0FMYXllciopIGNvbnN0IE9WRVJSSURFOwotICAgIHZp
cnR1YWwgRmxvYXRSZWN0IHBsYXRmb3JtQ0FMYXllckV4cG9zZWRSZWN0KCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gbV9jbGllbnQtPmV4cG9zZWRSZWN0KCk7IH0KKwogICAgIHZpcnR1YWwgYm9v
bCBpc0NvbW1pdHRpbmdDaGFuZ2VzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gbV9pc0NvbW1p
dHRpbmdDaGFuZ2VzOyB9CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBiYWNraW5nU3RvcmVNZW1vcnlF
c3RpbWF0ZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaAppbmRleCBlYmMwMTIwMzBmYzQw
MjE4NWEzOTRkNWEwYzlhMWMyMDYxOGM2ODQ5Li5hMjIzZjE2ZGM4OGMyMzZmMzRjOWE1YTcwODM3
ZDgwYTUzNmE2OGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9QbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9QbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaApAQCAtNjMsOCArNjMsNiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBmbG9hdCBwbGF0Zm9ybUNBTGF5ZXJEZXZpY2VTY2FsZUZhY3Rv
cigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGZsb2F0IHBsYXRmb3JtQ0FMYXllckNvbnRlbnRz
U2NhbGVNdWx0aXBsaWVyRm9yTmV3VGlsZXMoUGxhdGZvcm1DQUxheWVyKikgY29uc3QgeyByZXR1
cm4gMTsgfQogCi0gICAgdmlydHVhbCBGbG9hdFJlY3QgcGxhdGZvcm1DQUxheWVyRXhwb3NlZFJl
Y3QoKSBjb25zdCA9IDA7Ci0KICAgICB2aXJ0dWFsIGJvb2wgaXNDb21taXR0aW5nQ2hhbmdlcygp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9sbGVyLmgKaW5k
ZXggNzQ2ODNiYzRkZGQ5NWU5OTVkMGViYTE1ZWIyNTFhOTIwZGQ5ZWMyNS4uZjQ3NWRhOTE0YzQ1
ZDBlZjJmYzBiYzllOTI1ZjA0YmU5M2YyZDhkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9sbGVyLmgKQEAgLTEwMiw3
ICsxMDIsOSBAQCBwcml2YXRlOgogICAgIC8vIFRpbGVkQmFja2luZyBtZW1iZXIgZnVuY3Rpb25z
LgogICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlUmVjdChjb25zdCBGbG9hdFJlY3QmKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGJvb2wgdGlsZXNXb3VsZENoYW5nZUZvclZpc2libGVSZWN0KGNv
bnN0IEZsb2F0UmVjdCYpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBleHBvc2Vk
UmVjdERpZENoYW5nZSgpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRFeHBvc2VkUmVj
dChjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgY2xpcHNUb0V4
cG9zZWRSZWN0KCkgT1ZFUlJJREUgeyByZXR1cm4gbV9jbGlwc1RvRXhwb3NlZFJlY3Q7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0Q2xpcHNUb0V4cG9zZWRSZWN0KGJvb2wpIE9WRVJSSURFOwogICAg
IHZpcnR1YWwgdm9pZCBwcmVwb3B1bGF0ZVJlY3QoY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIHNldElzSW5XaW5kb3coYm9vbCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIHNldFRpbGVDb3ZlcmFnZShUaWxlQ292ZXJhZ2UpIE9WRVJSSURFOwpAQCAtMTQ0
LDcgKzE0Niw2IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DQUxheWVy
U2V0TmVlZHNUb1JldmFsaWRhdGVUaWxlcygpIE9WRVJSSURFIHsgfQogICAgIHZpcnR1YWwgZmxv
YXQgcGxhdGZvcm1DQUxheWVyRGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdCBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIEZsb2F0UmVjdCBwbGF0Zm9ybUNBTGF5ZXJFeHBvc2VkUmVjdCgpIGNvbnN0IE9W
RVJSSURFOwogCiAgICAgSW50UmVjdCBib3VuZHMoKSBjb25zdDsKICAgICBJbnRSZWN0IGJvdW5k
c1dpdGhvdXRNYXJnaW4oKSBjb25zdDsKQEAgLTE5OSw2ICsyMDAsNyBAQCBwcml2YXRlOgogICAg
IEludFNpemUgbV90aWxlU2l6ZTsKICAgICBGbG9hdFJlY3QgbV92aXNpYmxlUmVjdDsKICAgICBG
bG9hdFJlY3QgbV92aXNpYmxlUmVjdEF0TGFzdFJldmFsaWRhdGU7CisgICAgRmxvYXRSZWN0IG1f
ZXhwb3NlZFJlY3Q7IC8vIFRoZSBleHBvc2VkIGFyZWEgb2YgY29udGFpbmluZyBwbGF0Zm9ybSB2
aWV3cy4KICAgICBJbnRSZWN0IG1fYm91bmRzQXRMYXN0UmV2YWxpZGF0ZTsKICAgICAKICAgICBW
ZWN0b3I8RmxvYXRSZWN0PiBtX3NlY29uZGFyeVRpbGVDb3ZlcmFnZVJlY3RzOwpAQCAtMjQzLDYg
KzI0NSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3VucGFyZW50c09mZnNjcmVlblRpbGVzOwog
ICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmc7CiAgICAgYm9vbCBtX3RpbGVzQXJlT3BhcXVl
OworICAgIGJvb2wgbV9jbGlwc1RvRXhwb3NlZFJlY3Q7CiAgICAgYm9vbCBtX2hhc1RpbGVzV2l0
aFRlbXBvcmFyeVNjYWxlRmFjdG9yOyAvLyBVc2VkIHRvIG1ha2UgbG93LXJlcyB0aWxlcyB3aGVu
IHpvb21pbmcuCiAKICAgICBDb2xvciBtX3RpbGVEZWJ1Z0JvcmRlckNvbG9yOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9sbGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1RpbGVDb250cm9s
bGVyLm1tCmluZGV4IDg3YTVmYTdmYjE2NDBhMTgzNzFhMjUxOGRkZTBjNDI2NzlhZTllNTIuLjAy
ZmI5Zjc4YjQzOGI2N2JkYWIzM2Y4NjU2OTNmNDU0MDBlOWNkZTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ29udHJvbGxlci5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvVGlsZUNvbnRyb2xsZXIu
bW0KQEAgLTY3LDYgKzY3LDcgQEAgVGlsZUNvbnRyb2xsZXI6OlRpbGVDb250cm9sbGVyKFBsYXRm
b3JtQ0FMYXllciogcm9vdFBsYXRmb3JtTGF5ZXIpCiAgICAgLCBtX3VucGFyZW50c09mZnNjcmVl
blRpbGVzKGZhbHNlKQogICAgICwgbV9hY2NlbGVyYXRlc0RyYXdpbmcoZmFsc2UpCiAgICAgLCBt
X3RpbGVzQXJlT3BhcXVlKGZhbHNlKQorICAgICwgbV9jbGlwc1RvRXhwb3NlZFJlY3QoZmFsc2Up
CiAgICAgLCBtX2hhc1RpbGVzV2l0aFRlbXBvcmFyeVNjYWxlRmFjdG9yKGZhbHNlKQogICAgICwg
bV90aWxlRGVidWdCb3JkZXJXaWR0aCgwKQogICAgICwgbV9pbmRpY2F0b3JNb2RlKEFzeW5jU2Ny
b2xsaW5nSW5kaWNhdGlvbikKQEAgLTIwOSwxMSArMjEwLDYgQEAgYm9vbCBUaWxlQ29udHJvbGxl
cjo6cGxhdGZvcm1DQUxheWVyU2hvd1JlcGFpbnRDb3VudGVyKFBsYXRmb3JtQ0FMYXllciopIGNv
bnN0CiAgICAgcmV0dXJuIG93bmluZ0dyYXBoaWNzTGF5ZXIoKS0+cGxhdGZvcm1DQUxheWVyU2hv
d1JlcGFpbnRDb3VudGVyKDApOwogfQogCi1GbG9hdFJlY3QgVGlsZUNvbnRyb2xsZXI6OnBsYXRm
b3JtQ0FMYXllckV4cG9zZWRSZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gb3duaW5nR3JhcGhp
Y3NMYXllcigpLT5wbGF0Zm9ybUNBTGF5ZXJFeHBvc2VkUmVjdCgpOwotfQotCiB2b2lkIFRpbGVD
b250cm9sbGVyOjpzZXRTY2FsZShmbG9hdCBzY2FsZSkKIHsKICAgICBBU1NFUlQob3duaW5nR3Jh
cGhpY3NMYXllcigpLT5pc0NvbW1pdHRpbmdDaGFuZ2VzKCkpOwpAQCAtMjgxLDcgKzI3Nyw5IEBA
IHZvaWQgVGlsZUNvbnRyb2xsZXI6OnNldFZpc2libGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgdmlz
aWJsZVJlY3QpCiBib29sIFRpbGVDb250cm9sbGVyOjp0aWxlc1dvdWxkQ2hhbmdlRm9yVmlzaWJs
ZVJlY3QoY29uc3QgRmxvYXRSZWN0JiBuZXdWaXNpYmxlUmVjdCkgY29uc3QKIHsKICAgICBGbG9h
dFJlY3QgdmlzaWJsZVJlY3QgPSBuZXdWaXNpYmxlUmVjdDsKLSAgICB2aXNpYmxlUmVjdC5pbnRl
cnNlY3Qob3duaW5nR3JhcGhpY3NMYXllcigpLT5wbGF0Zm9ybUNBTGF5ZXJFeHBvc2VkUmVjdCgp
KTsKKworICAgIGlmIChtX2NsaXBzVG9FeHBvc2VkUmVjdCkKKyAgICAgICAgdmlzaWJsZVJlY3Qu
aW50ZXJzZWN0KG1fZXhwb3NlZFJlY3QpOwogCiAgICAgaWYgKHZpc2libGVSZWN0LmlzRW1wdHko
KSB8fCBib3VuZHMoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwNSwx
MSArMzAzLDI3IEBAIGJvb2wgVGlsZUNvbnRyb2xsZXI6OnRpbGVzV291bGRDaGFuZ2VGb3JWaXNp
YmxlUmVjdChjb25zdCBGbG9hdFJlY3QmIG5ld1Zpc2libGVSCiAgICAgcmV0dXJuIGNvdmVyYWdl
UmVjdCAhPSBtX3ByaW1hcnlUaWxlQ292ZXJhZ2VSZWN0OwogfQogCi12b2lkIFRpbGVDb250cm9s
bGVyOjpleHBvc2VkUmVjdERpZENoYW5nZSgpCit2b2lkIFRpbGVDb250cm9sbGVyOjpzZXRFeHBv
c2VkUmVjdChjb25zdCBGbG9hdFJlY3QmIGV4cG9zZWRSZWN0KQogeworICAgIGlmIChtX2V4cG9z
ZWRSZWN0ID09IGV4cG9zZWRSZWN0KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2V4cG9zZWRS
ZWN0ID0gZXhwb3NlZFJlY3Q7CiAgICAgc2V0TmVlZHNSZXZhbGlkYXRlVGlsZXMoKTsKIH0KIAor
dm9pZCBUaWxlQ29udHJvbGxlcjo6c2V0Q2xpcHNUb0V4cG9zZWRSZWN0KGJvb2wgY2xpcHNUb0V4
cG9zZWRSZWN0KQoreworICAgIGlmIChtX2NsaXBzVG9FeHBvc2VkUmVjdCA9PSBjbGlwc1RvRXhw
b3NlZFJlY3QpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpcHNUb0V4cG9zZWRSZWN0ID0g
Y2xpcHNUb0V4cG9zZWRSZWN0OworCisgICAgLy8gR29pbmcgZnJvbSBub3QgY2xpcHBpbmcgdG8g
Y2xpcHBpbmcsIHdlIGRvbid0IG5lZWQgdG8gcmV2YWxpZGF0ZSByaWdodCBhd2F5LgorICAgIGlm
IChjbGlwc1RvRXhwb3NlZFJlY3QpCisgICAgICAgIHNldE5lZWRzUmV2YWxpZGF0ZVRpbGVzKCk7
Cit9CisKIHZvaWQgVGlsZUNvbnRyb2xsZXI6OnByZXBvcHVsYXRlUmVjdChjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiB7CiAgICAgRmxvYXRSZWN0IHNjYWxlZFJlY3QocmVjdCk7CkBAIC00NzMsNyAr
NDg3LDkgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6Z2V0VGlsZUluZGV4UmFuZ2VGb3JSZWN0KGNv
bnN0IEludFJlY3QmIHJlY3QsIFRpbGVJbmRleCYgdG8KIEZsb2F0UmVjdCBUaWxlQ29udHJvbGxl
cjo6Y29tcHV0ZVRpbGVDb3ZlcmFnZVJlY3QoY29uc3QgRmxvYXRSZWN0JiBwcmV2aW91c1Zpc2li
bGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGN1cnJlbnRWaXNpYmxlUmVjdCkgY29uc3QKIHsKICAg
ICBGbG9hdFJlY3QgdmlzaWJsZVJlY3QgPSBjdXJyZW50VmlzaWJsZVJlY3Q7Ci0gICAgdmlzaWJs
ZVJlY3QuaW50ZXJzZWN0KG93bmluZ0dyYXBoaWNzTGF5ZXIoKS0+cGxhdGZvcm1DQUxheWVyRXhw
b3NlZFJlY3QoKSk7CisKKyAgICBpZiAobV9jbGlwc1RvRXhwb3NlZFJlY3QpCisgICAgICAgIHZp
c2libGVSZWN0LmludGVyc2VjdChtX2V4cG9zZWRSZWN0KTsKIAogICAgIC8vIElmIHRoZSBwYWdl
IGlzIG5vdCBpbiBhIHdpbmRvdyAoZm9yIGV4YW1wbGUgaWYgaXQncyBpbiBhIGJhY2tncm91bmQg
dGFiKSwgd2UgbGltaXQgdGhlIHRpbGUgY292ZXJhZ2UgcmVjdCB0byB0aGUgdmlzaWJsZSByZWN0
LgogICAgIGlmICghbV9pc0luV2luZG93KQpAQCAtNjcyLDcgKzY4OCw4IEBAIHZvaWQgVGlsZUNv
bnRyb2xsZXI6OnJldmFsaWRhdGVUaWxlcyhUaWxlVmFsaWRhdGlvblBvbGljeUZsYWdzIGZvcmVn
cm91bmRWYWxpZGF0CiAgICAgRmxvYXRSZWN0IHZpc2libGVSZWN0ID0gbV92aXNpYmxlUmVjdDsK
ICAgICBJbnRSZWN0IGJvdW5kcyA9IHRoaXMtPmJvdW5kcygpOwogCi0gICAgdmlzaWJsZVJlY3Qu
aW50ZXJzZWN0KG93bmluZ0dyYXBoaWNzTGF5ZXIoKS0+cGxhdGZvcm1DQUxheWVyRXhwb3NlZFJl
Y3QoKSk7CisgICAgaWYgKG1fY2xpcHNUb0V4cG9zZWRSZWN0KQorICAgICAgICB2aXNpYmxlUmVj
dC5pbnRlcnNlY3QobV9leHBvc2VkUmVjdCk7CiAKICAgICBpZiAodmlzaWJsZVJlY3QuaXNFbXB0
eSgpIHx8IGJvdW5kcy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTkxNSw3ICs5MzIs
OSBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjp1cGRhdGVUaWxlQ292ZXJhZ2VNYXAoKQogICAgIEZs
b2F0UmVjdCBjb250YWluZXJCb3VuZHMgPSBib3VuZHMoKTsKICAgICBGbG9hdFJlY3QgdmlzaWJs
ZVJlY3QgPSB0aGlzLT52aXNpYmxlUmVjdCgpOwogCi0gICAgdmlzaWJsZVJlY3QuaW50ZXJzZWN0
KG93bmluZ0dyYXBoaWNzTGF5ZXIoKS0+cGxhdGZvcm1DQUxheWVyRXhwb3NlZFJlY3QoKSk7Cisg
ICAgaWYgKG1fY2xpcHNUb0V4cG9zZWRSZWN0KQorICAgICAgICB2aXNpYmxlUmVjdC5pbnRlcnNl
Y3QobV9leHBvc2VkUmVjdCk7CisKICAgICB2aXNpYmxlUmVjdC5jb250cmFjdCg0LCA0KTsgLy8g
TGF5ZXIgaXMgcG9zaXRpb25lZCAycHggZnJvbSB0b3AgYW5kIGxlZnQgZWRnZXMuCiAKICAgICBm
bG9hdCB3aWR0aFNjYWxlID0gMTsKQEAgLTkyOSw4ICs5NDgsOCBAQCB2b2lkIFRpbGVDb250cm9s
bGVyOjp1cGRhdGVUaWxlQ292ZXJhZ2VNYXAoKQogICAgIEZsb2F0UmVjdCBtYXBCb3VuZHMgPSBj
b250YWluZXJCb3VuZHM7CiAgICAgbWFwQm91bmRzLnNjYWxlKGluZGljYXRvclNjYWxlLCBpbmRp
Y2F0b3JTY2FsZSk7CiAKLSAgICBpZiAoIW93bmluZ0dyYXBoaWNzTGF5ZXIoKS0+cGxhdGZvcm1D
QUxheWVyRXhwb3NlZFJlY3QoKS5pc0luZmluaXRlKCkpCi0gICAgICAgIG1fdGlsZWRTY3JvbGxp
bmdJbmRpY2F0b3JMYXllci0+c2V0UG9zaXRpb24ob3duaW5nR3JhcGhpY3NMYXllcigpLT5wbGF0
Zm9ybUNBTGF5ZXJFeHBvc2VkUmVjdCgpLmxvY2F0aW9uKCkgKyBGbG9hdFBvaW50KDIsIDIpKTsK
KyAgICBpZiAobV9jbGlwc1RvRXhwb3NlZFJlY3QpCisgICAgICAgIG1fdGlsZWRTY3JvbGxpbmdJ
bmRpY2F0b3JMYXllci0+c2V0UG9zaXRpb24obV9leHBvc2VkUmVjdC5sb2NhdGlvbigpICsgRmxv
YXRQb2ludCgyLCAyKSk7CiAgICAgZWxzZQogICAgICAgICBtX3RpbGVkU2Nyb2xsaW5nSW5kaWNh
dG9yTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0UG9pbnQoMiwgMikpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IGRjMDFmMDAyNGJh
YjdjMDEwNWEyYjdlNjg0OTFlYTk1MDJhZmQ2YWIuLjAxNzg5NzUzMjlhOTc5MDYwYTk3ZGMwMTBh
ZTg0YTc0ZGFjMGE0NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuY3BwCkBAIC0yMjgsNyArMjI4LDcgQEAgc3RhdGljIFRpbGVkQmFja2luZzo6
VGlsZUNvdmVyYWdlIGNvbXB1dGVUaWxlQ292ZXJhZ2UoUmVuZGVyTGF5ZXJCYWNraW5nKiBiYWNr
aW4KICAgICAgICAgICAgIGJhY2tpbmctPnNldERpZFN3aXRjaFRvRnVsbFRpbGVDb3ZlcmFnZUR1
cmluZ0xvYWRpbmcoKTsKICAgICB9CiAgICAgaWYgKCEodXNlTWluaW1hbFRpbGVzRHVyaW5nTG9h
ZGluZyB8fCB1c2VNaW5pbWFsVGlsZXNEdXJpbmdMaXZlUmVzaXplKSkgewotICAgICAgICBib29s
IGNsaXBzVG9FeHBvc2VkUmVjdCA9ICFmcmFtZVZpZXcuZXhwb3NlZFJlY3QoKS5pc0luZmluaXRl
KCk7CisgICAgICAgIGJvb2wgY2xpcHNUb0V4cG9zZWRSZWN0ID0gYmFja2luZy0+dGlsZWRCYWNr
aW5nKCktPmNsaXBzVG9FeHBvc2VkUmVjdCgpOwogICAgICAgICBpZiAoZnJhbWVWaWV3Lmhvcml6
b250YWxTY3JvbGxiYXJNb2RlKCkgIT0gU2Nyb2xsYmFyQWx3YXlzT2ZmIHx8IGNsaXBzVG9FeHBv
c2VkUmVjdCkKICAgICAgICAgICAgIHRpbGVDb3ZlcmFnZSB8PSBUaWxlZEJhY2tpbmc6OkNvdmVy
YWdlRm9ySG9yaXpvbnRhbFNjcm9sbGluZzsKIApAQCAtMjU5OCwxNSArMjU5OCw2IEBAIGRvdWJs
ZSBSZW5kZXJMYXllckJhY2tpbmc6OmJhY2tpbmdTdG9yZU1lbW9yeUVzdGltYXRlKCkgY29uc3QK
ICAgICByZXR1cm4gYmFja2luZ01lbW9yeTsKIH0KIAotRmxvYXRSZWN0IFJlbmRlckxheWVyQmFj
a2luZzo6ZXhwb3NlZFJlY3QoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3Vw
cG9ydCBjbGlwcGluZyB0byB0aGUgZXhwb3NlZCByZWN0IGZvciBzdWJmcmFtZXMgYXMgd2VsbC4K
LSAgICBpZiAobV9pc01haW5GcmFtZVJlbmRlclZpZXdMYXllcikKLSAgICAgICAgcmV0dXJuIG93
bmluZ0xheWVyKCkucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCkuZXhwb3NlZFJlY3QoKTsK
LQotICAgIHJldHVybiBGbG9hdFJlY3Q6OmluZmluaXRlUmVjdCgpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggNzAy
NDU3MDdkZDkxZWY1NDI2ZjMzZjZkY2UwMTMzNGYzNWVmNzlhMi4uM2IzZjBiMTA3OGQwYTYwY2E3
NjkwZTdlYjU2YWUxOWU5YTJlYjExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTgwLDggKzE4MCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkU2tpcExheWVySW5EdW1wKGNvbnN0IEdyYXBoaWNzTGF5ZXIqKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkRHVtcFByb3BlcnR5Rm9yTGF5ZXIo
Y29uc3QgR3JhcGhpY3NMYXllciosIGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSkgY29uc3QgT1ZF
UlJJREU7CiAKLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBleHBvc2VkUmVjdCgpIGNvbnN0IE9WRVJS
SURFOwotCiAjaWZuZGVmIE5ERUJVRwogICAgIHZpcnR1YWwgdm9pZCB2ZXJpZnlOb3RQYWludGlu
ZygpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0K
aW5kZXggY2I3NGUwMzZhMjIzMDE1Y2YwOGQxYTk3ZWY5MjA5MzUzZjVjMDM1MS4uOGI3MTdjMzJm
Yjg0MmExZDU5Yzk5MDdjYTQ0OTk0NmFiZTNjNThlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtMzkwLDcgKzM5MCw3IEBAIHN0cnVjdCBXS1ZpZXdJ
bnRlcnByZXRLZXlFdmVudHNQYXJhbWV0ZXJzIHsKICAgICBpZiAoX2RhdGEtPl91c2VDb250ZW50
UHJlcGFyYXRpb25SZWN0Rm9yVmlzaWJsZVJlY3QpCiAgICAgICAgIGV4cG9zZWRSZWN0ID0gTlNV
bmlvblJlY3QoX2RhdGEtPl9jb250ZW50UHJlcGFyYXRpb25SZWN0LCBleHBvc2VkUmVjdCk7CiAK
LSAgICBfZGF0YS0+X3BhZ2UtPmRyYXdpbmdBcmVhKCktPnNldEV4cG9zZWRSZWN0KF9kYXRhLT5f
Y2xpcHNUb1Zpc2libGVSZWN0ID8gRmxvYXRSZWN0KGV4cG9zZWRSZWN0KSA6IEZsb2F0UmVjdDo6
aW5maW5pdGVSZWN0KCkpOworICAgIF9kYXRhLT5fcGFnZS0+dmlld0V4cG9zZWRSZWN0Q2hhbmdl
ZChleHBvc2VkUmVjdCwgX2RhdGEtPl9jbGlwc1RvVmlzaWJsZVJlY3QgPyBXZWJQYWdlUHJveHk6
OkNsaXBzVG9FeHBvc2VkUmVjdDo6Q2xpcCA6IFdlYlBhZ2VQcm94eTo6Q2xpcHNUb0V4cG9zZWRS
ZWN0OjpEb05vdENsaXApOwogfQogCiAtICh2b2lkKXNldEZyYW1lU2l6ZTooTlNTaXplKXNpemUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcAppbmRleCA0
Y2YwYmI2ZDk3OGIxMWJlNDhmMzhmMDFmMTAwNWYyNmMyNDM2Zjc2Li4wNTVhN2ZjMmMyYzc1MzBk
MmZhNzQzMmVjNzkzN2IzNzhhYWUwODk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuY3BwCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFQcm94eS5oIgogCi0jaW5jbHVkZSAiRHJhd2luZ0Fy
ZWFNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgpAQCAt
MzksOSArMzgsNiBAQCBEcmF3aW5nQXJlYVByb3h5OjpEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdB
cmVhVHlwZSB0eXBlLCBXZWJQYWdlUHJveHkqIHdlYlBhZ2VQcgogICAgIDogbV90eXBlKHR5cGUp
CiAgICAgLCBtX3dlYlBhZ2VQcm94eSh3ZWJQYWdlUHJveHkpCiAgICAgLCBtX3NpemUod2ViUGFn
ZVByb3h5LT52aWV3U2l6ZSgpKQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICAsIG1fZXhwb3NlZFJl
Y3RDaGFuZ2VkVGltZXIodGhpcywgJkRyYXdpbmdBcmVhUHJveHk6OmV4cG9zZWRSZWN0Q2hhbmdl
ZFRpbWVyRmlyZWQpCi0jZW5kaWYKIHsKICAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLmFk
ZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpLCB3ZWJQYWdlUHJveHktPnBhZ2VJRCgpLCAqdGhpcyk7CiB9CkBAIC02MiwyOSAr
NTgsNCBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldFNpemUoY29uc3QgSW50U2l6ZSYgc2l6
ZSwgY29uc3QgSW50U2l6ZSYgbGF5ZXJQb3NpdGlvbgogICAgIHNpemVEaWRDaGFuZ2UoKTsKIH0K
IAotI2lmIFBMQVRGT1JNKE1BQykKLXZvaWQgRHJhd2luZ0FyZWFQcm94eTo6c2V0RXhwb3NlZFJl
Y3QoY29uc3QgRmxvYXRSZWN0JiBleHBvc2VkUmVjdCkKLXsKLSAgICBpZiAoIW1fd2ViUGFnZVBy
b3h5LT5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fZXhwb3NlZFJlY3QgPSBl
eHBvc2VkUmVjdDsKLQotICAgIGlmICghbV9leHBvc2VkUmVjdENoYW5nZWRUaW1lci5pc0FjdGl2
ZSgpKQotICAgICAgICBtX2V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
LX0KLQotdm9pZCBEcmF3aW5nQXJlYVByb3h5OjpleHBvc2VkUmVjdENoYW5nZWRUaW1lckZpcmVk
KFRpbWVyPERyYXdpbmdBcmVhUHJveHk+KikKLXsKLSAgICBpZiAoIW1fd2ViUGFnZVByb3h5LT5p
c1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX2V4cG9zZWRSZWN0ID09IG1f
bGFzdFNlbnRFeHBvc2VkUmVjdCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV93ZWJQYWdlUHJv
eHktPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6U2V0RXhwb3NlZFJlY3Qo
bV9leHBvc2VkUmVjdCksIG1fd2ViUGFnZVByb3h5LT5wYWdlSUQoKSk7Ci0gICAgbV9sYXN0U2Vu
dEV4cG9zZWRSZWN0ID0gbV9leHBvc2VkUmVjdDsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCmlu
ZGV4IDJiNWJkZGExZGIzYmZmYmUxNGZlZTg5OTExMDY4ZmNjZjNlMDc4MzQuLjQ1N2RjYTUyYjdk
YjcxYTE5YTI5NzMxNTc5ZjcxM2FkYzg5N2NlZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtMjksMTAgKzI5LDkgQEAKIAogI2luY2x1ZGUgIkRy
YXdpbmdBcmVhSW5mby5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9UaW1lci5oPgogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRl
IDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KQEAgLTczLDEyICs3Miw2
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0VHJhbnNpZW50Wm9vbShkb3VibGUs
IFdlYkNvcmU6OkZsb2F0UG9pbnQpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBjb21taXRUcmFuc2ll
bnRab29tKGRvdWJsZSwgV2ViQ29yZTo6RmxvYXRQb2ludCkgeyB9CiAKLSNpZiBQTEFURk9STShN
QUMpCi0gICAgdm9pZCBzZXRFeHBvc2VkUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKTsK
LSAgICBXZWJDb3JlOjpGbG9hdFJlY3QgZXhwb3NlZFJlY3QoKSBjb25zdCB7IHJldHVybiBtX2V4
cG9zZWRSZWN0OyB9Ci0gICAgdm9pZCBleHBvc2VkUmVjdENoYW5nZWRUaW1lckZpcmVkKFdlYkNv
cmU6OlRpbWVyPERyYXdpbmdBcmVhUHJveHk+Kik7Ci0jZW5kaWYKLQogcHJvdGVjdGVkOgogICAg
IGV4cGxpY2l0IERyYXdpbmdBcmVhUHJveHkoRHJhd2luZ0FyZWFUeXBlLCBXZWJQYWdlUHJveHkq
KTsKIApAQCAtMTA3LDEwICsxMDAsNiBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlR2VvbWV0cnkoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3
SW50cmluc2ljQ29udGVudFNpemUpIHsgfQotCi0gICAgV2ViQ29yZTo6VGltZXI8RHJhd2luZ0Fy
ZWFQcm94eT4gbV9leHBvc2VkUmVjdENoYW5nZWRUaW1lcjsKLSAgICBXZWJDb3JlOjpGbG9hdFJl
Y3QgbV9leHBvc2VkUmVjdDsKLSAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9sYXN0U2VudEV4cG9z
ZWRSZWN0OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCmluZGV4IDAwM2MxYTFhMmY4OWUzYTUyOWZhNzdjNGExYmZlMDVlZjQ0ZTFhM2QuLmM1
MjY4MjkzZGEzZWYxNTg0YmUyYTRiNWQ3NDhlMDZlZjlhZDYzMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zMDgsNiArMzA4LDExIEBAIFdlYlBhZ2VQ
cm94eTo6V2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmIHBhZ2VDbGllbnQsIFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzcywgV2ViCiAgICAgLCBtX21lZGlhVm9sdW1lKDEpCiAgICAgLCBtX21heVN0YXJ0
TWVkaWFXaGVuSW5XaW5kb3codHJ1ZSkKICAgICAsIG1fd2FpdGluZ0ZvckRpZFVwZGF0ZVZpZXdT
dGF0ZShmYWxzZSkKKyNpZiBQTEFURk9STShNQUMpCisgICAgLCBtX2V4cG9zZWRSZWN0Q2hhbmdl
ZFRpbWVyKHRoaXMsICZXZWJQYWdlUHJveHk6OmV4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQp
CisgICAgLCBtX2NsaXBzVG9FeHBvc2VkUmVjdChDbGlwc1RvRXhwb3NlZFJlY3Q6OkRvTm90Q2xp
cCkKKyAgICAsIG1fbGFzdFNlbnRDbGlwc1RvRXhwb3NlZFJlY3QoQ2xpcHNUb0V4cG9zZWRSZWN0
OjpEb05vdENsaXApCisjZW5kaWYKICAgICAsIG1fc2Nyb2xsUGlubmluZ0JlaGF2aW9yKERvTm90
UGluKQogewogICAgIHVwZGF0ZVZpZXdTdGF0ZSgpOwpAQCAtNTU3LDYgKzU2MiwxMCBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6Y2xvc2UoKQogICAgIG1fY29udGV4dE1lbnVDbGllbnQuaW5pdGlhbGl6
ZSgwKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKQorICAg
IG1fZXhwb3NlZFJlY3RDaGFuZ2VkVGltZXIuc3RvcCgpOworI2VuZGlmCisKICAgICBtX3Byb2Nl
c3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNsb3NlKCksIG1fcGFnZUlEKTsKICAgICBtX3By
b2Nlc3MtPnJlbW92ZVdlYlBhZ2UobV9wYWdlSUQpOwogICAgIG1fcHJvY2Vzcy0+cmVtb3ZlTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSwgbV9wYWdlSUQpOwpAQCAtNDQxMSw0ICs0NDIwLDMxIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpz
ZXRTY3JvbGxQaW5uaW5nQmVoYXZpb3IoU2Nyb2xsUGlubmluZ0JlaGF2aW9yIHBpbm5pbmcpCiAg
ICAgICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0U2Nyb2xsUGlubmlu
Z0JlaGF2aW9yKHBpbm5pbmcpLCBtX3BhZ2VJRCk7CiB9CiAKKyNpZiBQTEFURk9STShNQUMpIHx8
IFBMQVRGT1JNKElPUykKK3ZvaWQgV2ViUGFnZVByb3h5Ojp2aWV3RXhwb3NlZFJlY3RDaGFuZ2Vk
KGNvbnN0IEZsb2F0UmVjdCYgZXhwb3NlZFJlY3QsIENsaXBzVG9FeHBvc2VkUmVjdCBjbGlwc1Rv
RXhwb3NlZFJlY3QpCit7CisgICAgaWYgKCFpc1ZhbGlkKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fZXhwb3NlZFJlY3QgPSBleHBvc2VkUmVjdDsKKyAgICBtX2NsaXBzVG9FeHBvc2VkUmVj
dCA9IGNsaXBzVG9FeHBvc2VkUmVjdDsKKworICAgIGlmICghbV9leHBvc2VkUmVjdENoYW5nZWRU
aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX2V4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmV4cG9zZWRSZWN0Q2hhbmdlZFRp
bWVyRmlyZWQoVGltZXI8V2ViUGFnZVByb3h5PiopCit7CisgICAgaWYgKCFpc1ZhbGlkKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2V4cG9zZWRSZWN0ID09IG1fbGFzdFNlbnRFeHBv
c2VkUmVjdCAmJiBtX2NsaXBzVG9FeHBvc2VkUmVjdCA9PSBtX2xhc3RTZW50Q2xpcHNUb0V4cG9z
ZWRSZWN0KQorICAgICAgICByZXR1cm47CisKKyAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6Vmlld0V4cG9zZWRSZWN0Q2hhbmdlZChtX2V4cG9zZWRSZWN0LCBtX2NsaXBzVG9F
eHBvc2VkUmVjdCA9PSBDbGlwc1RvRXhwb3NlZFJlY3Q6OkNsaXApLCBtX3BhZ2VJRCk7CisgICAg
bV9sYXN0U2VudEV4cG9zZWRSZWN0ID0gbV9leHBvc2VkUmVjdDsKKyAgICBtX2xhc3RTZW50Q2xp
cHNUb0V4cG9zZWRSZWN0ID0gbV9jbGlwc1RvRXhwb3NlZFJlY3Q7Cit9CisjZW5kaWYKKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggMTViZGEzYTBjOGJhZWFmY2IwNTcwODMzOTUwM2NjYmNmZGFlZGMwYS4uYzI5ZDMxODU1
NTk4NjM3Y2IzZmIyZDYzNGZiMzg1ZDlmMzQxNzI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtNDcyLDYgKzQ3MiwxMCBAQCBwdWJsaWM6CiAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgdm9pZCB3aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZChjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIHZpZXdGcmFtZUluV2luZG93Q29vcmRpbmF0ZXMsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmIGFjY2Vzc2liaWxpdHlWaWV3Q29vcmRpbmF0ZXMpOworICAgIGVudW0g
Y2xhc3MgQ2xpcHNUb0V4cG9zZWRSZWN0IHsgRG9Ob3RDbGlwLCBDbGlwIH07CisgICAgdm9pZCB2
aWV3RXhwb3NlZFJlY3RDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgZXhwb3NlZFJl
Y3QsIENsaXBzVG9FeHBvc2VkUmVjdCk7CisgICAgV2ViQ29yZTo6RmxvYXRSZWN0IHZpZXdFeHBv
c2VkUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwb3NlZFJlY3Q7IH0KKyAgICB2b2lkIGV4cG9z
ZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8V2ViUGFnZVByb3h5PiopOwog
ICAgIHZvaWQgc2V0TWFpbkZyYW1lSXNTY3JvbGxhYmxlKGJvb2wpOwogCiAgICAgdm9pZCBzZXRD
b21wb3NpdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlv
blVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90
IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCBy
ZXBsYWNlbWVudFJhbmdlRW5kKTsKQEAgLTEzNzAsNiArMTM3NCwxNCBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV93YWl0aW5nRm9yRGlkVXBkYXRlVmlld1N0YXRlOwogCiAjaWYgUExBVEZPUk0oTUFD
KQorICAgIFdlYkNvcmU6OlRpbWVyPFdlYlBhZ2VQcm94eT4gbV9leHBvc2VkUmVjdENoYW5nZWRU
aW1lcjsKKyAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9leHBvc2VkUmVjdDsKKyAgICBXZWJDb3Jl
OjpGbG9hdFJlY3QgbV9sYXN0U2VudEV4cG9zZWRSZWN0OworICAgIENsaXBzVG9FeHBvc2VkUmVj
dCBtX2NsaXBzVG9FeHBvc2VkUmVjdDsKKyAgICBDbGlwc1RvRXhwb3NlZFJlY3QgbV9sYXN0U2Vu
dENsaXBzVG9FeHBvc2VkUmVjdDsKKyNlbmRpZgorCisjaWYgUExBVEZPUk0oTUFDKQogICAgIEhh
c2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1fdGVtcG9yYXJ5UERGRmlsZXM7CiAjZW5kaWYKICAgICAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDNjYzE4M2FkOWIzMmEx
NGM5MTdlYzE3MDk5NjQ2MTNkZWFhOWY2ZGMuLmE1NDFlOWM0NDY2ZTI4ZjQ4ZjA4OTEwODgyZjNh
MDZiNDFhODk4ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xMjM4
LDcgKzEyMzgsNiBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2l0aW9uVG9Db21t
aXR0ZWRGb3JOZXdQYWdlKCkKIAogICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNl
dFByb2hpYml0c1Njcm9sbGluZyhzaG91bGREaXNhYmxlU2Nyb2xsaW5nKTsKICAgICBtX2ZyYW1l
LT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXRWaXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xpZW50KCF3
ZWJQYWdlLT5zaG91bGRFeHRlbmRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uKCkpOwot
ICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldEV4cG9zZWRSZWN0KHdlYlBhZ2Ut
PmRyYXdpbmdBcmVhKCktPmV4cG9zZWRSZWN0KCkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBt
X2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5zZXREZWxlZ2F0ZXNTY3JvbGxpbmcodHJ1ZSk7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmgKaW5kZXggNjA4NTgzMjQzNmEwYjJjNjFhZTdiMDZiMjJhZWY4MTRjMmE0MTBlYi4uODcw
MjRkY2QzZjQ4OWRlOTUxZDVjM2RlZTkzMGZkMzExYjMzMDJhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTI4LDcgKzI4LDcgQEAK
IAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhSW5mby5oIgogI2luY2x1ZGUgIkxheWVyVHJlZUNvbnRl
eHQuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
RmxvYXRQb2ludC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvVmlld1N0YXRlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTg2LDggKzg2
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIG1haW5GcmFtZUNvbnRl
bnRTaXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgeyB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0RXhwb3NlZFJlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JikgPSAwOwotICAg
IHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGV4cG9zZWRSZWN0KCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgdm9pZCBzZXRFeHBvc2VkUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpcHNUb0V4cG9zZWRSZWN0KGJvb2wpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBtYWluRnJhbWVTY3JvbGxhYmlsaXR5Q2hhbmdlZChib29sKSB7IH0KIAog
ICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0FzeW5jU2Nyb2xsaW5nKCkgeyByZXR1cm4gZmFsc2U7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYS5tZXNzYWdlcy5pbgppbmRleCAwMDNmODA2ZjhlZTRkN2YxMTg4ZGVlMzgzOTRhNWEw
NWUxYzcyM2ZlLi5iZTQyMmJhNjc4Y2NmZTI2MDc1NzAwNjJmNzY3YjcxOWIyNDU1YTI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLm1lc3NhZ2VzLmluCkBAIC0yOSw4ICsyOSw3IEBAIG1lc3NhZ2VzIC0+IERyYXdpbmdBcmVh
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBVcGRhdGVHZW9tZXRyeShXZWJDb3JlOjpJbnRTaXplIHZp
ZXdTaXplLCBXZWJDb3JlOjpJbnRTaXplIGxheWVyUG9zaXRpb24pCiAgICAgU2V0RGV2aWNlU2Nh
bGVGYWN0b3IoZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpCiAgICAgU2V0Q29sb3JTcGFjZShXZWJL
aXQ6OkNvbG9yU3BhY2VEYXRhIGNvbG9yU3BhY2UpCi0gICAgU2V0RXhwb3NlZFJlY3QoV2ViQ29y
ZTo6RmxvYXRSZWN0IGV4cG9zZWRSZWN0KQotCisgICAgCiAgICAgQWRqdXN0VHJhbnNpZW50Wm9v
bShkb3VibGUgc2NhbGUsIFdlYkNvcmU6OkZsb2F0UG9pbnQgb3JpZ2luKQogICAgIENvbW1pdFRy
YW5zaWVudFpvb20oZG91YmxlIHNjYWxlLCBXZWJDb3JlOjpGbG9hdFBvaW50IG9yaWdpbikKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDNiZmMxZGQ2OTdlYmFiYTMxMjJiNTM4NDkyOTM3MTEyOGE5MDM2YzYuLjVmZjk2MDY4ODFi
NmIwZTBlMTQ0NzhkOWYzZDljZmY1NTMxYmM4Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMwNzUsNiArMzA3NSwxMiBAQCB2b2lkIFdl
YlBhZ2U6OndpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2VkKGNvbnN0IEZsb2F0UmVjdCYgd2luZG93
RnJhbWVJblNjcmVlbkNvbwogfQogI2VuZGlmCiAKK3ZvaWQgV2ViUGFnZTo6dmlld0V4cG9zZWRS
ZWN0Q2hhbmdlZChjb25zdCBGbG9hdFJlY3QmIGV4cG9zZWRSZWN0LCBib29sIGNsaXBzVG9FeHBv
c2VkUmVjdCkKK3sKKyAgICBtX2RyYXdpbmdBcmVhLT5zZXRFeHBvc2VkUmVjdChleHBvc2VkUmVj
dCk7CisgICAgbV9kcmF3aW5nQXJlYS0+c2V0Q2xpcHNUb0V4cG9zZWRSZWN0KGNsaXBzVG9FeHBv
c2VkUmVjdCk7Cit9CisKIHZvaWQgV2ViUGFnZTo6c2V0TWFpbkZyYW1lSXNTY3JvbGxhYmxlKGJv
b2wgaXNTY3JvbGxhYmxlKQogewogICAgIG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlID0gaXNTY3Jv
bGxhYmxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5k
ZXggNDM3ZDE5NDVlNzQ0OTZiYjU5OGRhNTk4ZWRmYWI5YWU0YjBmNjA2OS4uZGYyYjM3N2E0ZGE3
NWQwMWU1NzljYmNjYzA5ZDU5OWJjNTQwOTBmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC04MDIsNiArODAyLDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRyYXdQYWdlc1RvUERGRnJvbVBERkRvY3VtZW50KENHQ29udGV4dFJlZiwgUERGRG9jdW1l
bnQgKiwgY29uc3QgUHJpbnRJbmZvJiwgdWludDMyX3QgZmlyc3QsIHVpbnQzMl90IGNvdW50KTsK
ICNlbmRpZgogCisgICAgdm9pZCB2aWV3RXhwb3NlZFJlY3RDaGFuZ2VkKGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgZXhwb3NlZFJlY3QsIGJvb2wgY2xpcHNUb0V4cG9zZWRSZWN0KTsKICAgICB2
b2lkIHNldE1haW5GcmFtZUlzU2Nyb2xsYWJsZShib29sKTsKIAogICAgIHZvaWQgdW5hcHBseUVk
aXRDb21tYW5kKHVpbnQ2NF90IGNvbW1hbmRJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDk3OWNlMzhhMTVk
NDQwNzg1YzZmMjE5NjdiYzk1OTUwYmU2ZmM0NzMuLjRhMWY4OTFlNjAyYjlkMDJmNDIzNTNkOTk0
ZmUzNjM1ZGE1NDQ3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yNjgsNiArMjY4LDcgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2VuZENvbXBsZXhUZXh0SW5wdXRUb1Bs
dWdpbih1aW50NjRfdCBwbHVnaW5Db21wbGV4VGV4dElucHV0SWRlbnRpZmllciwgU3RyaW5nIHRl
eHRJbnB1dCkKIAogICAgIFdpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2VkKFdlYkNvcmU6OkZsb2F0
UmVjdCB3aW5kb3dGcmFtZUluU2NyZWVuQ29vcmRpbmF0ZXMsIFdlYkNvcmU6OkZsb2F0UmVjdCB3
aW5kb3dGcmFtZUluVW5mbGlwcGVkU2NyZWVuQ29vcmRpbmF0ZXMsIFdlYkNvcmU6OkZsb2F0UmVj
dCB2aWV3RnJhbWVJbldpbmRvd0Nvb3JkaW5hdGVzLCBXZWJDb3JlOjpGbG9hdFBvaW50IGFjY2Vz
c2liaWxpdHlWaWV3Q29vcmRpbmF0ZXMpCisgICAgVmlld0V4cG9zZWRSZWN0Q2hhbmdlZChXZWJD
b3JlOjpGbG9hdFJlY3QgZXhwb3NlZFJlY3QsIGJvb2wgY2xpcHNUb0V4cG9zZWRSZWN0KQogICAg
IFNldE1haW5GcmFtZUlzU2Nyb2xsYWJsZShib29sIGlzU2Nyb2xsYWJsZSkKICAgICBSZWdpc3Rl
clVJUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbnMoSVBDOjpEYXRhUmVmZXJlbmNlIGVsZW1lblRv
a2VuLCBJUEM6OkRhdGFSZWZlcmVuY2Ugd2luZG93VG9rZW4pCiAgICAgR2V0U3RyaW5nU2VsZWN0
aW9uRm9yUGFzdGVib2FyZCgpIC0+IChTdHJpbmcgc3RyaW5nVmFsdWUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhLmgKaW5kZXggYTg3NjM5NDQyMTI2MGZjNjU1MmU5OWVlM2QzNjhk
MTQ2ZjI1NDcyNy4uOTYzZjAzNGZiNWFhMzI5YjEyYzhmZDMxNjNkNzUxNmJhZWJlYWY1MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaApAQCAtNzIsNyArNzIsNyBAQCBwcml2
YXRlOgogICAgIHZpcnR1YWwgYm9vbCBmb3JjZVJlcGFpbnRBc3luYyh1aW50NjRfdCkgT1ZFUlJJ
REUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBzZXRFeHBvc2VkUmVjdChj
b25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6
OkZsb2F0UmVjdCBleHBvc2VkUmVjdCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fc2Nyb2xs
ZWRFeHBvc2VkUmVjdDsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXRDbGlwc1RvRXhwb3NlZFJlY3Qo
Ym9vbCkgT1ZFUlJJREU7CiAKICAgICAvLyBXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2xpZW50CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoY29uc3QgV2ViQ29yZTo6R3Jh
cGhpY3NMYXllciosIGRvdWJsZSB0aW1lKSBPVkVSUklERSB7IH0KQEAgLTg1LDYgKzg1LDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dDb21wb3NpdGluZ0xheWVyVmlzdWFsRGVn
cmFkYXRpb24oKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKKyAg
ICB2b2lkIHVwZGF0ZU1haW5GcmFtZUNsaXBzVG9FeHBvc2VkUmVjdCgpOwogICAgIHZvaWQgdXBk
YXRlU2Nyb2xsZWRFeHBvc2VkUmVjdCgpOwogCiAgICAgdm9pZCBsYXllckZsdXNoVGltZXJGaXJl
ZChXZWJDb3JlOjpUaW1lcjxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYT4qKTsKQEAgLTEwMSw2
ICsxMDIsNyBAQCBwcml2YXRlOgogCiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fZXhwb3NlZFJl
Y3Q7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fc2Nyb2xsZWRFeHBvc2VkUmVjdDsKKyAgICBi
b29sIG1fY2xpcHNUb0V4cG9zZWRSZWN0OwogCiAgICAgV2ViQ29yZTo6VGltZXI8UmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE+IG1fbGF5ZXJGbHVzaFRpbWVyOwogICAgIGJvb2wgbV9pc0ZsdXNo
aW5nU3VzcGVuZGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbSBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KaW5kZXgg
ZWNiZGQyYTFjOTk5NmQ2YmI4MzQxNjBhODg1MTFmMjdlNmVkNjYzNC4uNDNlZTJmZDdjOTI5Mzdl
ODU5Y2FhOWEyYzMzZmU5Mjk2MDhmYzFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLm1tCkBAIC00Niw4ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKFdlYlBhZ2UqIHdl
YlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKQogICAgIDogRHJhd2luZ0Fy
ZWEoRHJhd2luZ0FyZWFUeXBlUmVtb3RlTGF5ZXJUcmVlLCB3ZWJQYWdlKQogICAgICwgbV9yZW1v
dGVMYXllclRyZWVDb250ZXh0KHN0ZDo6bWFrZV91bmlxdWU8UmVtb3RlTGF5ZXJUcmVlQ29udGV4
dD4od2ViUGFnZSkpCi0gICAgLCBtX2V4cG9zZWRSZWN0KEZsb2F0UmVjdDo6aW5maW5pdGVSZWN0
KCkpCi0gICAgLCBtX3Njcm9sbGVkRXhwb3NlZFJlY3QoRmxvYXRSZWN0OjppbmZpbml0ZVJlY3Qo
KSkKKyAgICAsIG1fY2xpcHNUb0V4cG9zZWRSZWN0KGZhbHNlKQogICAgICwgbV9sYXllckZsdXNo
VGltZXIodGhpcywgJlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpsYXllckZsdXNoVGltZXJG
aXJlZCkKICAgICAsIG1faXNGbHVzaGluZ1N1c3BlbmRlZChmYWxzZSkKICAgICAsIG1faGFzRGVm
ZXJyZWRGbHVzaChmYWxzZSkKQEAgLTU1LDYgKzU0LDcgQEAgUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWE6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKFdlYlBhZ2UqIHdlYlBhZ2UsIGNvbnN0
IFcKICAgICB3ZWJQYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLnNldEZvcmNlQ29tcG9zaXRp
bmdNb2RlKHRydWUpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICB3ZWJQYWdlLT5jb3JlUGFnZSgp
LT5zZXR0aW5ncygpLnNldERlbGVnYXRlc1BhZ2VTY2FsaW5nKHRydWUpOworICAgIHNldENsaXBz
VG9FeHBvc2VkUmVjdCh0cnVlKTsKICNlbmRpZgogfQogCkBAIC0yMzQsOCArMjM0LDE4IEBAIHZv
aWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnNldEV4cG9zZWRSZWN0KGNvbnN0IEZsb2F0
UmVjdCYgZXhwb3NlZFJlY3QpCiAgICAgdXBkYXRlU2Nyb2xsZWRFeHBvc2VkUmVjdCgpOwogfQog
Cit2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpzZXRDbGlwc1RvRXhwb3NlZFJlY3Qo
Ym9vbCBjbGlwc1RvRXhwb3NlZFJlY3QpCit7CisgICAgbV9jbGlwc1RvRXhwb3NlZFJlY3QgPSBj
bGlwc1RvRXhwb3NlZFJlY3Q7CisgICAgdXBkYXRlU2Nyb2xsZWRFeHBvc2VkUmVjdCgpOworICAg
IHVwZGF0ZU1haW5GcmFtZUNsaXBzVG9FeHBvc2VkUmVjdCgpOworfQorCiB2b2lkIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhOjp1cGRhdGVTY3JvbGxlZEV4cG9zZWRSZWN0KCkKIHsKKyAgICBp
ZiAoIW1fY2xpcHNUb0V4cG9zZWRSZWN0KQorICAgICAgICByZXR1cm47CisKICAgICBGcmFtZVZp
ZXcqIGZyYW1lVmlldyA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkudmlldygp
OwogICAgIGlmICghZnJhbWVWaWV3KQogICAgICAgICByZXR1cm47CkBAIC0yNDMsMTggKzI1Mywz
MCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjp1cGRhdGVTY3JvbGxlZEV4cG9z
ZWRSZWN0KCkKICAgICBtX3Njcm9sbGVkRXhwb3NlZFJlY3QgPSBtX2V4cG9zZWRSZWN0OwogCiAj
aWYgIVBMQVRGT1JNKElPUykKLSAgICBpZiAoIW1fZXhwb3NlZFJlY3QuaXNJbmZpbml0ZSgpKSB7
Ci0gICAgICAgIEludFBvaW50IHNjcm9sbFBvc2l0aW9uV2l0aE9yaWdpbiA9IGZyYW1lVmlldy0+
c2Nyb2xsUG9zaXRpb24oKSArIHRvSW50U2l6ZShmcmFtZVZpZXctPnNjcm9sbE9yaWdpbigpKTsK
LSAgICAgICAgbV9zY3JvbGxlZEV4cG9zZWRSZWN0Lm1vdmVCeShzY3JvbGxQb3NpdGlvbldpdGhP
cmlnaW4pOwotICAgIH0KKyAgICBJbnRQb2ludCBzY3JvbGxQb3NpdGlvbldpdGhPcmlnaW4gPSBm
cmFtZVZpZXctPnNjcm9sbFBvc2l0aW9uKCkgKyB0b0ludFNpemUoZnJhbWVWaWV3LT5zY3JvbGxP
cmlnaW4oKSk7CisgICAgbV9zY3JvbGxlZEV4cG9zZWRSZWN0Lm1vdmVCeShzY3JvbGxQb3NpdGlv
bldpdGhPcmlnaW4pOwogI2VuZGlmCiAKLSAgICBmcmFtZVZpZXctPnNldEV4cG9zZWRSZWN0KG1f
c2Nyb2xsZWRFeHBvc2VkUmVjdCk7CisgICAgbWFpbkZyYW1lVGlsZWRCYWNraW5nKCktPnNldEV4
cG9zZWRSZWN0KG1fc2Nyb2xsZWRFeHBvc2VkUmVjdCk7CiAKLSAgICBmb3IgKGNvbnN0IGF1dG8m
IGxheWVyIDogbV9wYWdlT3ZlcmxheUxheWVycy52YWx1ZXMoKSkgewotICAgICAgICBpZiAoVGls
ZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcgPSBsYXllci0+dGlsZWRCYWNraW5nKCkpCi0gICAgICAg
ICAgICB0aWxlZEJhY2tpbmctPmV4cG9zZWRSZWN0RGlkQ2hhbmdlKCk7CisgICAgZm9yIChhdXRv
IGl0ID0gbV9wYWdlT3ZlcmxheUxheWVycy5iZWdpbigpLCBlbmQgPSBtX3BhZ2VPdmVybGF5TGF5
ZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgaWYgKFRpbGVkQmFja2luZyog
dGlsZWRCYWNraW5nID0gaXQtPnZhbHVlLT50aWxlZEJhY2tpbmcoKSkKKyAgICAgICAgICAgIHRp
bGVkQmFja2luZy0+c2V0RXhwb3NlZFJlY3QobV9zY3JvbGxlZEV4cG9zZWRSZWN0KTsKICAgICB9
Cit9CisKK3ZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnVwZGF0ZU1haW5GcmFtZUNs
aXBzVG9FeHBvc2VkUmVjdCgpCit7CisgICAgaWYgKFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5n
ID0gbWFpbkZyYW1lVGlsZWRCYWNraW5nKCkpCisgICAgICAgIHRpbGVkQmFja2luZy0+c2V0Q2xp
cHNUb0V4cG9zZWRSZWN0KG1fY2xpcHNUb0V4cG9zZWRSZWN0KTsKKworICAgIGZvciAoYXV0byBp
dCA9IG1fcGFnZU92ZXJsYXlMYXllcnMuYmVnaW4oKSwgZW5kID0gbV9wYWdlT3ZlcmxheUxheWVy
cy5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICBpZiAoVGlsZWRCYWNraW5nKiB0aWxl
ZEJhY2tpbmcgPSBpdC0+dmFsdWUtPnRpbGVkQmFja2luZygpKQorICAgICAgICAgICAgdGlsZWRC
YWNraW5nLT5zZXRDbGlwc1RvRXhwb3NlZFJlY3QobV9jbGlwc1RvRXhwb3NlZFJlY3QpOworCisg
ICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFt
ZSgpLnZpZXcoKTsKKyAgICBpZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0dXJuOwogICAgIAog
ICAgIGZyYW1lVmlldy0+YWRqdXN0VGlsZWRCYWNraW5nQ292ZXJhZ2UoKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaAppbmRleCAwOWE2MjNmNGVmY2M4NzBlNDM1
MDJhOWJkOTRhMjQ2NmI3MzE0MWQzLi4yYjIwODE0MWIxYjFhNDY0ZDFiNDliOWMzMDAwNDI4ZmUx
YTZlNmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCkBAIC03
OCw4ICs3OCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIG1haW5GcmFtZUNvbnRlbnRT
aXplQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgT1ZFUlJJREU7CiAKICAgICB2aXJ0
dWFsIHZvaWQgc2V0RXhwb3NlZFJlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JikgT1ZFUlJJ
REU7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpGbG9hdFJlY3QgZXhwb3NlZFJlY3QoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBtX3Njcm9sbGVkRXhwb3NlZFJlY3Q7IH0KLQorICAgIHZpcnR1YWwg
dm9pZCBzZXRDbGlwc1RvRXhwb3NlZFJlY3QoYm9vbCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBi
b29sIHN1cHBvcnRzQXN5bmNTY3JvbGxpbmcoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0Rm9yQW55RnJhbWUoKSBPVkVS
UklERTsKQEAgLTEyMCw2ICsxMTksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlRGVidWdJ
bmZvTGF5ZXIoYm9vbCBzaG93TGF5ZXIpOwogCiAgICAgdm9pZCB1cGRhdGVJbnRyaW5zaWNDb250
ZW50U2l6ZVRpbWVyRmlyZWQoV2ViQ29yZTo6VGltZXI8VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWE+Kik7CisgICAgdm9pZCB1cGRhdGVNYWluRnJhbWVDbGlwc1RvRXhwb3NlZFJlY3QoKTsK
ICAgICB2b2lkIHVwZGF0ZVNjcm9sbGVkRXhwb3NlZFJlY3QoKTsKICAgICAKICAgICB2b2lkIGlu
dmFsaWRhdGVBbGxQYWdlT3ZlcmxheXMoKTsKQEAgLTE0Myw2ICsxNDMsNyBAQCBwcml2YXRlOgog
CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fZXhwb3NlZFJlY3Q7CiAgICAgV2ViQ29yZTo6Rmxv
YXRSZWN0IG1fc2Nyb2xsZWRFeHBvc2VkUmVjdDsKKyAgICBib29sIG1fY2xpcHNUb0V4cG9zZWRS
ZWN0OwogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xhc3RTZW50SW50cmluc2ljQ29udGVudFNp
emU7CiAgICAgV2ViQ29yZTo6VGltZXI8VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE+IG1f
dXBkYXRlSW50cmluc2ljQ29udGVudFNpemVUaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDYxN2U5ZGEzMmQzYTExYmNiOGJiYTg4OGQ2YjVjY2Rk
NjhkYTA0ZmUuLjJiNjI3ZjMxMDRjZmExNzBiOGM4NWQ0YzhjNTQyNTgzYTAxZmY1NTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNzEsOCArNzEsNyBA
QCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWEoV2ViUGFnZSogd2ViUGFnZSwgYwogICAgICwgbV9sYXllclRyZWVTdGF0ZUlzRnJvemVu
KGZhbHNlKQogICAgICwgbV9sYXllckZsdXNoU2NoZWR1bGVyKHRoaXMpCiAgICAgLCBtX2lzUGFp
bnRpbmdTdXNwZW5kZWQoIShwYXJhbWV0ZXJzLnZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNWaXNp
YmxlKSkKLSAgICAsIG1fZXhwb3NlZFJlY3QoRmxvYXRSZWN0OjppbmZpbml0ZVJlY3QoKSkKLSAg
ICAsIG1fc2Nyb2xsZWRFeHBvc2VkUmVjdChGbG9hdFJlY3Q6OmluZmluaXRlUmVjdCgpKQorICAg
ICwgbV9jbGlwc1RvRXhwb3NlZFJlY3QoZmFsc2UpCiAgICAgLCBtX3VwZGF0ZUludHJpbnNpY0Nv
bnRlbnRTaXplVGltZXIodGhpcywgJlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRh
dGVJbnRyaW5zaWNDb250ZW50U2l6ZVRpbWVyRmlyZWQpCiAgICAgLCBtX3RyYW5zaWVudFpvb21T
Y2FsZSgxKQogewpAQCAtMzc1LDggKzM3NCw5IEBAIGJvb2wgVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWE6OmZsdXNoTGF5ZXJzKCkKICAgICAgICAgbV9wZW5kaW5nUm9vdENvbXBvc2l0aW5n
TGF5ZXIgPSBudWxscHRyOwogICAgIH0KIAotICAgIEZsb2F0UmVjdCB2aXNpYmxlUmVjdCA9IFtt
X3Jvb3RMYXllciBmcmFtZV07Ci0gICAgdmlzaWJsZVJlY3QuaW50ZXJzZWN0KG1fc2Nyb2xsZWRF
eHBvc2VkUmVjdCk7CisgICAgSW50UmVjdCB2aXNpYmxlUmVjdCA9IGVuY2xvc2luZ0ludFJlY3Qo
bV9yb290TGF5ZXIuZ2V0KCkuZnJhbWUpOworICAgIGlmIChtX2NsaXBzVG9FeHBvc2VkUmVjdCkK
KyAgICAgICAgdmlzaWJsZVJlY3QuaW50ZXJzZWN0KGVuY2xvc2luZ0ludFJlY3QobV9zY3JvbGxl
ZEV4cG9zZWRSZWN0KSk7CiAKICAgICBmb3IgKFBhZ2VPdmVybGF5TGF5ZXJNYXA6Oml0ZXJhdG9y
IGl0ID0gbV9wYWdlT3ZlcmxheUxheWVycy5iZWdpbigpLCBlbmQgPSBtX3BhZ2VPdmVybGF5TGF5
ZXJzLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgR3JhcGhpY3NMYXllciogbGF5
ZXIgPSBpdC0+dmFsdWUuZ2V0KCk7CkBAIC00MjcsMjkgKzQyNywzMyBAQCB2b2lkIFRpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzZXRFeHBvc2VkUmVjdChjb25zdCBGbG9hdFJlY3QmIGV4
cG9zZWRSZWN0KQogICAgIHVwZGF0ZVNjcm9sbGVkRXhwb3NlZFJlY3QoKTsKIH0KIAordm9pZCBU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6c2V0Q2xpcHNUb0V4cG9zZWRSZWN0KGJvb2wg
Y2xpcHNUb0V4cG9zZWRSZWN0KQoreworICAgIG1fY2xpcHNUb0V4cG9zZWRSZWN0ID0gY2xpcHNU
b0V4cG9zZWRSZWN0OworICAgIHVwZGF0ZVNjcm9sbGVkRXhwb3NlZFJlY3QoKTsKKyAgICB1cGRh
dGVNYWluRnJhbWVDbGlwc1RvRXhwb3NlZFJlY3QoKTsKK30KKwogdm9pZCBUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlU2Nyb2xsZWRFeHBvc2VkUmVjdCgpCiB7CisgICAgaWYg
KCFtX2NsaXBzVG9FeHBvc2VkUmVjdCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgRnJhbWVWaWV3
KiBmcmFtZVZpZXcgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKTsK
ICAgICBpZiAoIWZyYW1lVmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zY3JvbGxlZEV4
cG9zZWRSZWN0ID0gbV9leHBvc2VkUmVjdDsKKyAgICBJbnRQb2ludCBzY3JvbGxQb3NpdGlvbldp
dGhPcmlnaW4gPSBmcmFtZVZpZXctPnNjcm9sbFBvc2l0aW9uKCkgKyB0b0ludFNpemUoZnJhbWVW
aWV3LT5zY3JvbGxPcmlnaW4oKSk7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIGlmICghbV9l
eHBvc2VkUmVjdC5pc0luZmluaXRlKCkpIHsKLSAgICAgICAgSW50UG9pbnQgc2Nyb2xsUG9zaXRp
b25XaXRoT3JpZ2luID0gZnJhbWVWaWV3LT5zY3JvbGxQb3NpdGlvbigpICsgdG9JbnRTaXplKGZy
YW1lVmlldy0+c2Nyb2xsT3JpZ2luKCkpOwotICAgICAgICBtX3Njcm9sbGVkRXhwb3NlZFJlY3Qu
bW92ZUJ5KHNjcm9sbFBvc2l0aW9uV2l0aE9yaWdpbik7Ci0gICAgfQotI2VuZGlmCisgICAgbV9z
Y3JvbGxlZEV4cG9zZWRSZWN0ID0gbV9leHBvc2VkUmVjdDsKKyAgICBtX3Njcm9sbGVkRXhwb3Nl
ZFJlY3QubW92ZUJ5KHNjcm9sbFBvc2l0aW9uV2l0aE9yaWdpbik7CiAKLSAgICBmcmFtZVZpZXct
PnNldEV4cG9zZWRSZWN0KG1fc2Nyb2xsZWRFeHBvc2VkUmVjdCk7CisgICAgbWFpbkZyYW1lVGls
ZWRCYWNraW5nKCktPnNldEV4cG9zZWRSZWN0KG1fc2Nyb2xsZWRFeHBvc2VkUmVjdCk7CiAKLSAg
ICBmb3IgKGNvbnN0IGF1dG8mIGxheWVyIDogbV9wYWdlT3ZlcmxheUxheWVycy52YWx1ZXMoKSkg
ewotICAgICAgICBpZiAoVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcgPSBsYXllci0+dGlsZWRC
YWNraW5nKCkpCi0gICAgICAgICAgICB0aWxlZEJhY2tpbmctPmV4cG9zZWRSZWN0RGlkQ2hhbmdl
KCk7CisgICAgZm9yIChQYWdlT3ZlcmxheUxheWVyTWFwOjppdGVyYXRvciBpdCA9IG1fcGFnZU92
ZXJsYXlMYXllcnMuYmVnaW4oKSwgZW5kID0gbV9wYWdlT3ZlcmxheUxheWVycy5lbmQoKTsgaXQg
IT0gZW5kOyArK2l0KSB7CisgICAgICAgIGlmIChUaWxlZEJhY2tpbmcqIHRpbGVkQmFja2luZyA9
IGl0LT52YWx1ZS0+dGlsZWRCYWNraW5nKCkpCisgICAgICAgICAgICB0aWxlZEJhY2tpbmctPnNl
dEV4cG9zZWRSZWN0KG1fc2Nyb2xsZWRFeHBvc2VkUmVjdCk7CiAgICAgfQotCi0gICAgZnJhbWVW
aWV3LT5hZGp1c3RUaWxlZEJhY2tpbmdDb3ZlcmFnZSgpOwogfQogCiB2b2lkIFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeShjb25zdCBJbnRTaXplJiB2aWV3U2l6
ZSwgY29uc3QgSW50U2l6ZSYgbGF5ZXJQb3NpdGlvbikKQEAgLTU1Niw2ICs1NjAsMjIgQEAgdm9p
ZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlTGF5ZXJIb3N0aW5nQ29udGV4
dCgpCiAgICAgICAgIG1fbGF5ZXJIb3N0aW5nQ29udGV4dC0+c2V0Q29sb3JTcGFjZShjb2xvclNw
YWNlLmdldCgpKTsKIH0KIAordm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBk
YXRlTWFpbkZyYW1lQ2xpcHNUb0V4cG9zZWRSZWN0KCkKK3sKKyAgICBpZiAoVGlsZWRCYWNraW5n
KiB0aWxlZEJhY2tpbmcgPSBtYWluRnJhbWVUaWxlZEJhY2tpbmcoKSkKKyAgICAgICAgdGlsZWRC
YWNraW5nLT5zZXRDbGlwc1RvRXhwb3NlZFJlY3QobV9jbGlwc1RvRXhwb3NlZFJlY3QpOworCisg
ICAgZm9yIChQYWdlT3ZlcmxheUxheWVyTWFwOjppdGVyYXRvciBpdCA9IG1fcGFnZU92ZXJsYXlM
YXllcnMuYmVnaW4oKSwgZW5kID0gbV9wYWdlT3ZlcmxheUxheWVycy5lbmQoKTsgaXQgIT0gZW5k
OyArK2l0KQorICAgICAgICBpZiAoVGlsZWRCYWNraW5nKiB0aWxlZEJhY2tpbmcgPSBpdC0+dmFs
dWUtPnRpbGVkQmFja2luZygpKQorICAgICAgICAgICAgdGlsZWRCYWNraW5nLT5zZXRDbGlwc1Rv
RXhwb3NlZFJlY3QobV9jbGlwc1RvRXhwb3NlZFJlY3QpOworCisgICAgRnJhbWVWaWV3KiBmcmFt
ZVZpZXcgPSBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKTsKKyAgICBp
ZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgZnJhbWVWaWV3LT5hZGp1c3RU
aWxlZEJhY2tpbmdDb3ZlcmFnZSgpOworfQorCiB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhOjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihDQUxheWVyICpsYXllcikKIHsKICAgICBB
U1NFUlQoIW1fbGF5ZXJUcmVlU3RhdGVJc0Zyb3plbik7CkBAIC01NzQsOCArNTk0LDEyIEBAIHZv
aWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNldFJvb3RDb21wb3NpdGluZ0xheWVy
KENBTGF5ZXIgKmxheWVyKQogICAgIGZvciAoUGFnZU92ZXJsYXlMYXllck1hcDo6aXRlcmF0b3Ig
aXQgPSBtX3BhZ2VPdmVybGF5TGF5ZXJzLmJlZ2luKCksIGVuZCA9IG1fcGFnZU92ZXJsYXlMYXll
cnMuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkKICAgICAgICAgW21fcm9vdExheWVyLmdldCgpIGFk
ZFN1YmxheWVyOml0LT52YWx1ZS0+cGxhdGZvcm1MYXllcigpXTsKIAotICAgIGlmIChUaWxlZEJh
Y2tpbmcqIHRpbGVkQmFja2luZyA9IG1haW5GcmFtZVRpbGVkQmFja2luZygpKQorICAgIGlmIChU
aWxlZEJhY2tpbmcqIHRpbGVkQmFja2luZyA9IG1haW5GcmFtZVRpbGVkQmFja2luZygpKSB7CiAg
ICAgICAgIHRpbGVkQmFja2luZy0+c2V0QWdncmVzc2l2ZWx5UmV0YWluc1RpbGVzKG1fd2ViUGFn
ZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5hZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQo
KSk7CisgICAgICAgIHRpbGVkQmFja2luZy0+c2V0RXhwb3NlZFJlY3QobV9zY3JvbGxlZEV4cG9z
ZWRSZWN0KTsKKyAgICB9CisKKyAgICB1cGRhdGVNYWluRnJhbWVDbGlwc1RvRXhwb3NlZFJlY3Qo
KTsKIAogICAgIHVwZGF0ZURlYnVnSW5mb0xheWVyKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0
dGluZ3MoKS5zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoKSk7CiAKQEAgLTU5NSw2ICs2MTks
MTEgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6Y3JlYXRlUGFnZU92ZXJs
YXlMYXllcihQYWdlT3ZlcmxheSogcGFnZU92ZXIKIAogICAgIG1fcGFnZU92ZXJsYXlQbGF0Zm9y
bUxheWVycy5zZXQobGF5ZXIuZ2V0KCksIGxheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwogCisgICAg
aWYgKFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nID0gbGF5ZXItPnRpbGVkQmFja2luZygpKSB7
CisgICAgICAgIHRpbGVkQmFja2luZy0+c2V0RXhwb3NlZFJlY3QobV9zY3JvbGxlZEV4cG9zZWRS
ZWN0KTsKKyAgICAgICAgdGlsZWRCYWNraW5nLT5zZXRDbGlwc1RvRXhwb3NlZFJlY3QobV9jbGlw
c1RvRXhwb3NlZFJlY3QpOworICAgIH0KKwogICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKICAg
ICBbQ0FUcmFuc2FjdGlvbiBzZXREaXNhYmxlQWN0aW9uczpZRVNdOwogCkBAIC02MzgsNiArNjY3
LDExIEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OmRpZENvbW1pdENoYW5n
ZXNGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyCiAKICAgICBbQ0FUcmFuc2FjdGlvbiBjb21t
aXRdOwogCisgICAgaWYgKFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nID0gbGF5ZXItPnRpbGVk
QmFja2luZygpKSB7CisgICAgICAgIHRpbGVkQmFja2luZy0+c2V0RXhwb3NlZFJlY3QobV9zY3Jv
bGxlZEV4cG9zZWRSZWN0KTsKKyAgICAgICAgdGlsZWRCYWNraW5nLT5zZXRDbGlwc1RvRXhwb3Nl
ZFJlY3QobV9jbGlwc1RvRXhwb3NlZFJlY3QpOworICAgIH0KKwogICAgIG1fcGFnZU92ZXJsYXlQ
bGF0Zm9ybUxheWVycy5zZXQobGF5ZXIsIGxheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>