<?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>133781</bug_id>
          
          <creation_ts>2014-06-11 20:51:31 -0700</creation_ts>
          <short_desc>Subpixel rendering: Make &lt;select&gt; element&apos;s decoration subpixel aware.</short_desc>
          <delta_ts>2014-06-12 19:08:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>132005</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1015011</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-06-11 20:51:31 -0700</bug_when>
    <thetext>so that we can push both the text and the decoration to subpixel position.

&lt;rdar://problem/17272083&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015013</commentid>
    <comment_count>1</comment_count>
      <attachid>232928</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-06-11 21:09:23 -0700</bug_when>
    <thetext>Created attachment 232928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015102</commentid>
    <comment_count>2</comment_count>
      <attachid>232951</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-06-12 07:00:17 -0700</bug_when>
    <thetext>Created attachment 232951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015103</commentid>
    <comment_count>3</comment_count>
      <attachid>232951</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-06-12 07:00:38 -0700</bug_when>
    <thetext>Comment on attachment 232951
Patch

EWS testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015117</commentid>
    <comment_count>4</comment_count>
      <attachid>232951</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-06-12 07:54:21 -0700</bug_when>
    <thetext>Comment on attachment 232951
Patch

Clearing flags on attachment: 232951

Committed r169898: &lt;http://trac.webkit.org/changeset/169898&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232928</attachid>
            <date>2014-06-11 21:09:23 -0700</date>
            <delta_ts>2014-06-12 07:00:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133781-20140611210858.patch</filename>
            <type>text/plain</type>
            <size>12028</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5ODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE5NjVjYThhNGRlNTUw
M2Y3YmYwNWMyNWVhYjU4NjdiNWIwYTRjNS4uNzg1Y2NlYzQyOTAxZDg0MWE2YTEyYTljYjIwNWQ1
Y2ZiYjgyMWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTA2LTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5n
OiBNYWtlIDxzZWxlY3Q+IGVsZW1lbnQncyBkZWNvcmF0aW9uIHN1YnBpeGVsIGF3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNzgxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xNzI3MjA4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgPHNlbGVjdD4gZGVjb3JhdGlvbiBwYWludGlu
ZyBvbiBzdWJwaXhlbCBwb3NpdGlvbnMuCisgICAgICAgIFRoZSB0aGVtZSBzaXplIGlzIHN0aWxs
IGludGVncmFsLCBidXQgaXRzIHBvc2l0aW9uIGlzIHNuYXBwZWQgdG8gZGV2aWNlIHBpeGVscy4K
KyAgICAgICAgVGhlbWUncyBsYWJlbCwgdGhlIElubGluZVRleHRCb3ggaXMgYWxyZWFkeSBzdWJw
aXhlbCBwb3NpdGlvbiBhd2FyZS4KKyAgICAgICAgd2Via2l0Lm9yZy9iLzEzMjAwNSB0cmFja3Mg
dGhlIHJlc3Qgb2YgdGhlIHRoZW1lcy4KKworICAgICAgICBOb3QgdGVzdGFibGUuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OnBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludE1lbnVMaXN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjppbmZsYXRlUmVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZU1hYzo6YWRqdXN0UmVwYWludFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVNYWM6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVNYWM6OnByb2dyZXNzQmFyUmVjdEZvckJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZU1hYzo6c2V0UG9wdXBCdXR0b25DZWxsU3RhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVNYWM6OmluZmxhdGVSZWN0KTogRGVsZXRlZC4KKwogMjAxNC0wNi0xMSAg
WmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgQXZvaWQgRm9u
dEdseXBoc0NhY2hlS2V5IGNvcHkgaW4gRm9udEdseXBoc0NhY2hlRW50cnkgY29uc3RydWN0b3IK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IGM5OGFiNDBmZGQz
OGE5Zjc3NWYyOTYxZWNiNWEwMmNjNjc2MWQ1NjkuLjFjODM3YTExMzFmMDM2OTdjNjUwYzU0Mjhh
MDNhZTg5ZWIzZjc4OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cApAQCAtMjc4LDYgKzI3OCw3IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KGNvbnN0IFJlbmRl
ck9iamVjdCYgbywgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXRlcywgY29uCiAKICAgICBDb250
cm9sUGFydCBwYXJ0ID0gby5zdHlsZSgpLmFwcGVhcmFuY2UoKTsKICAgICBJbnRSZWN0IGludGVn
cmFsU25hcHBlZFJlY3QgPSBwaXhlbFNuYXBwZWRJbnRSZWN0KHIpOworICAgIEZsb2F0UmVjdCBk
ZXZpY2VQaXhlbFNuYXBwZWRSZWN0ID0gcGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcociwgby5kb2N1
bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpOwogCiAjaWYgVVNFKE5FV19USEVNRSkKICAgICBz
d2l0Y2ggKHBhcnQpIHsKQEAgLTMxNCw3ICszMTUsNyBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dChjb25zdCBSZW5kZXJPYmplY3QmIG8sIENvbnRyb2xTdGF0ZXMqIGNvbnRyb2xTdGF0ZXMsIGNv
bgogICAgICAgICByZXR1cm4gcGFpbnRJbm5lclNwaW5CdXR0b24obywgcGFpbnRJbmZvLCBpbnRl
Z3JhbFNuYXBwZWRSZWN0KTsKICNlbmRpZgogICAgIGNhc2UgTWVudWxpc3RQYXJ0OgotICAgICAg
ICByZXR1cm4gcGFpbnRNZW51TGlzdChvLCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3Qp
OworICAgICAgICByZXR1cm4gcGFpbnRNZW51TGlzdChvLCBwYWludEluZm8sIGRldmljZVBpeGVs
U25hcHBlZFJlY3QpOwogI2lmIEVOQUJMRShNRVRFUl9FTEVNRU5UKQogICAgIGNhc2UgTWV0ZXJQ
YXJ0OgogICAgIGNhc2UgUmVsZXZhbmN5TGV2ZWxJbmRpY2F0b3JQYXJ0OgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCAwMjM5ZjI4YjFlNzVhZjc5OWI1NWZjMDI1OGJl
YjQyZjM3N2UzZGRhLi5lMDUyMjE2ZTNkOWRkZTY4MjgxODBhNzhiYzc2NmQ5MjhlOGYyY2NkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMjk5LDcgKzI5OSw3IEBA
IHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRUZXh0QXJlYURlY29yYXRpb25zKGNv
bnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEZsb2F0UmVjdCYpIHsg
cmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlzdFN0eWxlKFN0
eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRNZW51TGlzdChjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBwYWlu
dE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEZs
b2F0UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlz
dERlY29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0
IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWVu
dUxpc3RCdXR0b25TdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50Kikg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGQ0
N2M3NGY0MTcwNTQ4MDMyZjFmMmNhMTFkZDM5ZWNmYjM4ODcwMzMuLjkxMGVlMzZmYmFhZGI1YmY3
MzNkZjc2YzMzNjY5ZTRjNTdlMjc0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5oCkBAIC0xMzAsNyArMTMwLDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
Ym9vbCBwYWludFRleHRBcmVhKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYs
IGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RUZXh0
QXJlYVN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdCBv
dmVycmlkZTsKIAotICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0KGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdChjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWlu
dEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgYWRq
dXN0TWVudUxpc3RTdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50Kikg
Y29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbkRl
Y29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEZs
b2F0UmVjdCYpIG92ZXJyaWRlOwpAQCAtMTczLDggKzE3Myw2IEBAIHByb3RlY3RlZDoKIHByaXZh
dGU6CiAgICAgdmlydHVhbCBTdHJpbmcgZmlsZUxpc3ROYW1lRm9yV2lkdGgoY29uc3QgRmlsZUxp
c3QqLCBjb25zdCBGb250JiwgaW50IHdpZHRoLCBib29sIG11bHRpcGxlRmlsZXNBbGxvd2VkKSBj
b25zdCBvdmVycmlkZTsKIAotICAgIEludFJlY3QgaW5mbGF0ZVJlY3QoY29uc3QgSW50UmVjdCYs
IGNvbnN0IEludFNpemUmLCBjb25zdCBpbnQqIG1hcmdpbnMsIGZsb2F0IHpvb21MZXZlbCA9IDEu
MGYpIGNvbnN0OwotCiAgICAgRmxvYXRSZWN0IGNvbnZlcnRUb1BhaW50aW5nUmVjdChjb25zdCBS
ZW5kZXJPYmplY3QmIGlucHV0UmVuZGVyZXIsIGNvbnN0IFJlbmRlck9iamVjdCYgcGFydFJlbmRl
cmVyLCBjb25zdCBGbG9hdFJlY3QmIGlucHV0UmVjdCwgY29uc3QgSW50UmVjdCYpIGNvbnN0Owog
CiAgICAgLy8gR2V0IHRoZSBjb250cm9sIHNpemUgYmFzZWQgb2ZmIHRoZSBmb250LiBVc2VkIGJ5
IHNvbWUgb2YgdGhlIGNvbnRyb2xzIChsaWtlIGJ1dHRvbnMpLgpAQCAtMTk0LDcgKzE5Miw3IEBA
IHByaXZhdGU6CiAKICAgICAvLyBIZWxwZXJzIGZvciBhZGp1c3RpbmcgYXBwZWFyYW5jZSBhbmQg
Zm9yIHBhaW50aW5nCiAKLSAgICB2b2lkIHNldFBvcHVwQnV0dG9uQ2VsbFN0YXRlKGNvbnN0IFJl
bmRlck9iamVjdCYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2b2lkIHNldFBvcHVwQnV0dG9uQ2Vs
bFN0YXRlKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IEludFNpemUmKTsKICAgICBjb25zdCBJ
bnRTaXplKiBwb3B1cEJ1dHRvblNpemVzKCkgY29uc3Q7CiAgICAgY29uc3QgaW50KiBwb3B1cEJ1
dHRvbk1hcmdpbnMoKSBjb25zdDsKICAgICBjb25zdCBpbnQqIHBvcHVwQnV0dG9uUGFkZGluZyhO
U0NvbnRyb2xTaXplKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbQppbmRleCA2MGZiZWEyNDhhYjM3MWMyNGE2ZmY2ZjEwNThjNGQ5YjI2Y2M5MDU1Li44
MDE2MDE2NTMzMjViNGFlMDcxZGJkOGNjZjY2OTU3MTM5OTYzMzU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC02MTUsNiArNjE1LDI0IEBAIGJvb2wg
UmVuZGVyVGhlbWVNYWM6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUs
IGNvbnN0IEJvcmRlckRhdGEmCiAgICAgcmV0dXJuIFJlbmRlclRoZW1lOjppc0NvbnRyb2xTdHls
ZWQoc3R5bGUsIGJvcmRlciwgYmFja2dyb3VuZCwgYmFja2dyb3VuZENvbG9yKTsKIH0KIAorc3Rh
dGljIEZsb2F0UmVjdCBpbmZsYXRlUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IElu
dFNpemUmIHNpemUsIGNvbnN0IGludCogbWFyZ2lucywgZmxvYXQgem9vbUxldmVsKQoreworICAg
IC8vIE9ubHkgZG8gdGhlIGluZmxhdGlvbiBpZiB0aGUgYXZhaWxhYmxlIHdpZHRoL2hlaWdodCBh
cmUgdG9vIHNtYWxsLiBPdGhlcndpc2UgdHJ5IHRvCisgICAgLy8gZml0IHRoZSBnbG93L2NoZWNr
IHNwYWNlIGludG8gdGhlIGF2YWlsYWJsZSBib3gncyB3aWR0aC9oZWlnaHQuCisgICAgaW50IHdp
ZHRoRGVsdGEgPSByZWN0LndpZHRoKCkgLSAoc2l6ZS53aWR0aCgpICsgbWFyZ2luc1tsZWZ0TWFy
Z2luXSAqIHpvb21MZXZlbCArIG1hcmdpbnNbcmlnaHRNYXJnaW5dICogem9vbUxldmVsKTsKKyAg
ICBpbnQgaGVpZ2h0RGVsdGEgPSByZWN0LmhlaWdodCgpIC0gKHNpemUuaGVpZ2h0KCkgKyBtYXJn
aW5zW3RvcE1hcmdpbl0gKiB6b29tTGV2ZWwgKyBtYXJnaW5zW2JvdHRvbU1hcmdpbl0gKiB6b29t
TGV2ZWwpOworICAgIEZsb2F0UmVjdCByZXN1bHQocmVjdCk7CisgICAgaWYgKHdpZHRoRGVsdGEg
PCAwKSB7CisgICAgICAgIHJlc3VsdC5zZXRYKHJlc3VsdC54KCkgLSBtYXJnaW5zW2xlZnRNYXJn
aW5dICogem9vbUxldmVsKTsKKyAgICAgICAgcmVzdWx0LnNldFdpZHRoKHJlc3VsdC53aWR0aCgp
IC0gd2lkdGhEZWx0YSk7CisgICAgfQorICAgIGlmIChoZWlnaHREZWx0YSA8IDApIHsKKyAgICAg
ICAgcmVzdWx0LnNldFkocmVzdWx0LnkoKSAtIG1hcmdpbnNbdG9wTWFyZ2luXSAqIHpvb21MZXZl
bCk7CisgICAgICAgIHJlc3VsdC5zZXRIZWlnaHQocmVzdWx0LmhlaWdodCgpIC0gaGVpZ2h0RGVs
dGEpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFJlbmRlclRoZW1lTWFj
OjphZGp1c3RSZXBhaW50UmVjdChjb25zdCBSZW5kZXJPYmplY3QmIG8sIEludFJlY3QmIHIpCiB7
CiAgICAgQ29udHJvbFBhcnQgcGFydCA9IG8uc3R5bGUoKS5hcHBlYXJhbmNlKCk7CkBAIC02Mzcs
MzIgKzY1NSwxNCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RSZXBhaW50UmVjdChjb25z
dCBSZW5kZXJPYmplY3QmIG8sIEludFJlY3QmIHIpCiAgICAgZmxvYXQgem9vbUxldmVsID0gby5z
dHlsZSgpLmVmZmVjdGl2ZVpvb20oKTsKIAogICAgIGlmIChwYXJ0ID09IE1lbnVsaXN0UGFydCkg
ewotICAgICAgICBzZXRQb3B1cEJ1dHRvbkNlbGxTdGF0ZShvLCByKTsKKyAgICAgICAgc2V0UG9w
dXBCdXR0b25DZWxsU3RhdGUobywgci5zaXplKCkpOwogICAgICAgICBJbnRTaXplIHNpemUgPSBw
b3B1cEJ1dHRvblNpemVzKClbW3BvcHVwQnV0dG9uKCkgY29udHJvbFNpemVdXTsKICAgICAgICAg
c2l6ZS5zZXRIZWlnaHQoc2l6ZS5oZWlnaHQoKSAqIHpvb21MZXZlbCk7CiAgICAgICAgIHNpemUu
c2V0V2lkdGgoci53aWR0aCgpKTsKLSAgICAgICAgciA9IGluZmxhdGVSZWN0KHIsIHNpemUsIHBv
cHVwQnV0dG9uTWFyZ2lucygpLCB6b29tTGV2ZWwpOworICAgICAgICByID0gSW50UmVjdChpbmZs
YXRlUmVjdChyLCBzaXplLCBwb3B1cEJ1dHRvbk1hcmdpbnMoKSwgem9vbUxldmVsKSk7CiAgICAg
fQogfQogCi1JbnRSZWN0IFJlbmRlclRoZW1lTWFjOjppbmZsYXRlUmVjdChjb25zdCBJbnRSZWN0
JiByLCBjb25zdCBJbnRTaXplJiBzaXplLCBjb25zdCBpbnQqIG1hcmdpbnMsIGZsb2F0IHpvb21M
ZXZlbCkgY29uc3QKLXsKLSAgICAvLyBPbmx5IGRvIHRoZSBpbmZsYXRpb24gaWYgdGhlIGF2YWls
YWJsZSB3aWR0aC9oZWlnaHQgYXJlIHRvbyBzbWFsbC4gIE90aGVyd2lzZSB0cnkgdG8KLSAgICAv
LyBmaXQgdGhlIGdsb3cvY2hlY2sgc3BhY2UgaW50byB0aGUgYXZhaWxhYmxlIGJveCdzIHdpZHRo
L2hlaWdodC4KLSAgICBpbnQgd2lkdGhEZWx0YSA9IHIud2lkdGgoKSAtIChzaXplLndpZHRoKCkg
KyBtYXJnaW5zW2xlZnRNYXJnaW5dICogem9vbUxldmVsICsgbWFyZ2luc1tyaWdodE1hcmdpbl0g
KiB6b29tTGV2ZWwpOwotICAgIGludCBoZWlnaHREZWx0YSA9IHIuaGVpZ2h0KCkgLSAoc2l6ZS5o
ZWlnaHQoKSArIG1hcmdpbnNbdG9wTWFyZ2luXSAqIHpvb21MZXZlbCArIG1hcmdpbnNbYm90dG9t
TWFyZ2luXSAqIHpvb21MZXZlbCk7Ci0gICAgSW50UmVjdCByZXN1bHQocik7Ci0gICAgaWYgKHdp
ZHRoRGVsdGEgPCAwKSB7Ci0gICAgICAgIHJlc3VsdC5zZXRYKHJlc3VsdC54KCkgLSBtYXJnaW5z
W2xlZnRNYXJnaW5dICogem9vbUxldmVsKTsKLSAgICAgICAgcmVzdWx0LnNldFdpZHRoKHJlc3Vs
dC53aWR0aCgpIC0gd2lkdGhEZWx0YSk7Ci0gICAgfQotICAgIGlmIChoZWlnaHREZWx0YSA8IDAp
IHsKLSAgICAgICAgcmVzdWx0LnNldFkocmVzdWx0LnkoKSAtIG1hcmdpbnNbdG9wTWFyZ2luXSAq
IHpvb21MZXZlbCk7Ci0gICAgICAgIHJlc3VsdC5zZXRIZWlnaHQocmVzdWx0LmhlaWdodCgpIC0g
aGVpZ2h0RGVsdGEpOwotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiBGbG9hdFJlY3Qg
UmVuZGVyVGhlbWVNYWM6OmNvbnZlcnRUb1BhaW50aW5nUmVjdChjb25zdCBSZW5kZXJPYmplY3Qm
IGlucHV0UmVuZGVyZXIsIGNvbnN0IFJlbmRlck9iamVjdCYgcGFydFJlbmRlcmVyLCBjb25zdCBG
bG9hdFJlY3QmIGlucHV0UmVjdCwgY29uc3QgSW50UmVjdCYgcikgY29uc3QKIHsKICAgICBGbG9h
dFJlY3QgcGFydFJlY3QoaW5wdXRSZWN0KTsKQEAgLTg5OSwyMiArODk5LDIyIEBAIGNvbnN0IGlu
dCogUmVuZGVyVGhlbWVNYWM6OnBvcHVwQnV0dG9uUGFkZGluZyhOU0NvbnRyb2xTaXplIHNpemUp
IGNvbnN0CiAgICAgcmV0dXJuIHBhZGRpbmdbc2l6ZV07CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVN
YWM6OnBhaW50TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKK2Jvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50
TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKICAgICBMb2NhbEN1cnJlbnRHcmFw
aGljc0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KTsKLSAgICBzZXRQb3B1
cEJ1dHRvbkNlbGxTdGF0ZShvLCByKTsKKyAgICBzZXRQb3B1cEJ1dHRvbkNlbGxTdGF0ZShyZW5k
ZXJlciwgSW50U2l6ZShyZWN0LnNpemUoKSkpOwogCiAgICAgTlNQb3BVcEJ1dHRvbkNlbGwqIHBv
cHVwQnV0dG9uID0gdGhpcy0+cG9wdXBCdXR0b24oKTsKIAotICAgIGZsb2F0IHpvb21MZXZlbCA9
IG8uc3R5bGUoKS5lZmZlY3RpdmVab29tKCk7CisgICAgZmxvYXQgem9vbUxldmVsID0gcmVuZGVy
ZXIuc3R5bGUoKS5lZmZlY3RpdmVab29tKCk7CiAgICAgSW50U2l6ZSBzaXplID0gcG9wdXBCdXR0
b25TaXplcygpW1twb3B1cEJ1dHRvbiBjb250cm9sU2l6ZV1dOwogICAgIHNpemUuc2V0SGVpZ2h0
KHNpemUuaGVpZ2h0KCkgKiB6b29tTGV2ZWwpOwotICAgIHNpemUuc2V0V2lkdGgoci53aWR0aCgp
KTsKKyAgICBzaXplLnNldFdpZHRoKHJlY3Qud2lkdGgoKSk7CiAKICAgICAvLyBOb3cgaW5mbGF0
ZSBpdCB0byBhY2NvdW50IGZvciB0aGUgc2hhZG93LgotICAgIEludFJlY3QgaW5mbGF0ZWRSZWN0
ID0gcjsKLSAgICBpZiAoci53aWR0aCgpID49IG1pbmltdW1NZW51TGlzdFNpemUoJm8uc3R5bGUo
KSkpCi0gICAgICAgIGluZmxhdGVkUmVjdCA9IGluZmxhdGVSZWN0KGluZmxhdGVkUmVjdCwgc2l6
ZSwgcG9wdXBCdXR0b25NYXJnaW5zKCksIHpvb21MZXZlbCk7CisgICAgRmxvYXRSZWN0IGluZmxh
dGVkUmVjdCA9IHJlY3Q7CisgICAgaWYgKHJlY3Qud2lkdGgoKSA+PSBtaW5pbXVtTWVudUxpc3RT
aXplKCZyZW5kZXJlci5zdHlsZSgpKSkKKyAgICAgICAgaW5mbGF0ZWRSZWN0ID0gaW5mbGF0ZVJl
Y3QocmVjdCwgc2l6ZSwgcG9wdXBCdXR0b25NYXJnaW5zKCksIHpvb21MZXZlbCk7CiAKICAgICBH
cmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIoKnBhaW50SW5mby5jb250ZXh0KTsK
IApAQCAtOTI5LDExICs5MjksMTEgQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRNZW51TGlz
dChjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKICAgICAgICAg
cGFpbnRJbmZvLmNvbnRleHQtPnRyYW5zbGF0ZSgtaW5mbGF0ZWRSZWN0LngoKSwgLWluZmxhdGVk
UmVjdC55KCkpOwogICAgIH0KIAotICAgIE5TVmlldyAqdmlldyA9IGRvY3VtZW50Vmlld0Zvcihv
KTsKKyAgICBOU1ZpZXcgKnZpZXcgPSBkb2N1bWVudFZpZXdGb3IocmVuZGVyZXIpOwogICAgIFtw
b3B1cEJ1dHRvbiBkcmF3V2l0aEZyYW1lOmluZmxhdGVkUmVjdCBpblZpZXc6dmlld107Ci0gICAg
aWYgKGlzRm9jdXNlZChvKSAmJiBvLnN0eWxlKCkub3V0bGluZVN0eWxlSXNBdXRvKCkpIHsKKyAg
ICBpZiAoaXNGb2N1c2VkKHJlbmRlcmVyKSAmJiByZW5kZXJlci5zdHlsZSgpLm91dGxpbmVTdHls
ZUlzQXV0bygpKSB7CiAgICAgICAgIGlmICh3a0RyYXdDZWxsRm9jdXNSaW5nV2l0aEZyYW1lQXRU
aW1lKHBvcHVwQnV0dG9uLCBpbmZsYXRlZFJlY3QsIHZpZXcsIHN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6bWF4KCkpKQotICAgICAgICAgICAgby5kb2N1bWVudCgpLnBhZ2UoKS0+Zm9jdXND
b250cm9sbGVyKCkuc2V0Rm9jdXNlZEVsZW1lbnROZWVkc1JlcGFpbnQoKTsKKyAgICAgICAgICAg
IHJlbmRlcmVyLmRvY3VtZW50KCkucGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRGb2N1c2Vk
RWxlbWVudE5lZWRzUmVwYWludCgpOwogICAgIH0KIAogICAgIFtwb3B1cEJ1dHRvbiBzZXRDb250
cm9sVmlldzpuaWxdOwpAQCAtMTA4MCw3ICsxMDgwLDcgQEAgSW50UmVjdCBSZW5kZXJUaGVtZU1h
Yzo6cHJvZ3Jlc3NCYXJSZWN0Rm9yQm91bmRzKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2Jq
ZWMKICAgICAvLyBOb3cgaW5mbGF0ZSBpdCB0byBhY2NvdW50IGZvciB0aGUgc2hhZG93LgogICAg
IEludFJlY3QgaW5mbGF0ZWRSZWN0ID0gcHJvZ3Jlc3NCYXJCb3VuZHM7CiAgICAgaWYgKHByb2dy
ZXNzQmFyQm91bmRzLmhlaWdodCgpIDw9IG1pbmltdW1Qcm9ncmVzc0JhckhlaWdodCgmcmVuZGVy
T2JqZWN0LnN0eWxlKCkpKQotICAgICAgICBpbmZsYXRlZFJlY3QgPSBpbmZsYXRlUmVjdChpbmZs
YXRlZFJlY3QsIHNpemUsIHByb2dyZXNzQmFyTWFyZ2lucyhjb250cm9sU2l6ZSksIHpvb21MZXZl
bCk7CisgICAgICAgIGluZmxhdGVkUmVjdCA9IEludFJlY3QoaW5mbGF0ZVJlY3QoaW5mbGF0ZWRS
ZWN0LCBzaXplLCBwcm9ncmVzc0Jhck1hcmdpbnMoY29udHJvbFNpemUpLCB6b29tTGV2ZWwpKTsK
IAogICAgIHJldHVybiBpbmZsYXRlZFJlY3Q7CiB9CkBAIC0xNDMzLDEyICsxNDMzLDEyIEBAIHZv
aWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZl
ciosIFJlbmRlclN0eWxlKiBzdHlsCiAgICAgc3R5bGUtPnNldExpbmVIZWlnaHQoUmVuZGVyU3R5
bGU6OmluaXRpYWxMaW5lSGVpZ2h0KCkpOwogfQogCi12b2lkIFJlbmRlclRoZW1lTWFjOjpzZXRQ
b3B1cEJ1dHRvbkNlbGxTdGF0ZShjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IEludFJlY3Qm
IHIpCit2b2lkIFJlbmRlclRoZW1lTWFjOjpzZXRQb3B1cEJ1dHRvbkNlbGxTdGF0ZShjb25zdCBS
ZW5kZXJPYmplY3QmIG8sIGNvbnN0IEludFNpemUmIGJ1dHRvblNpemUpCiB7CiAgICAgTlNQb3BV
cEJ1dHRvbkNlbGwqIHBvcHVwQnV0dG9uID0gdGhpcy0+cG9wdXBCdXR0b24oKTsKIAogICAgIC8v
IFNldCB0aGUgY29udHJvbCBzaXplIGJhc2VkIG9mZiB0aGUgcmVjdGFuZ2xlIHdlJ3JlIHBhaW50
aW5nIGludG8uCi0gICAgc2V0Q29udHJvbFNpemUocG9wdXBCdXR0b24sIHBvcHVwQnV0dG9uU2l6
ZXMoKSwgci5zaXplKCksIG8uc3R5bGUoKS5lZmZlY3RpdmVab29tKCkpOworICAgIHNldENvbnRy
b2xTaXplKHBvcHVwQnV0dG9uLCBwb3B1cEJ1dHRvblNpemVzKCksIGJ1dHRvblNpemUsIG8uc3R5
bGUoKS5lZmZlY3RpdmVab29tKCkpOwogCiAgICAgLy8gVXBkYXRlIHRoZSB2YXJpb3VzIHN0YXRl
cyB3ZSByZXNwb25kIHRvLgogICAgIHVwZGF0ZUNoZWNrZWRTdGF0ZShwb3B1cEJ1dHRvbiwgbyk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232951</attachid>
            <date>2014-06-12 07:00:17 -0700</date>
            <delta_ts>2014-06-12 07:54:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133781-20140612065954.patch</filename>
            <type>text/plain</type>
            <size>17889</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5ODA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE5NjVjYThhNGRlNTUw
M2Y3YmYwNWMyNWVhYjU4NjdiNWIwYTRjNS4uNjQ2YzdkOWRkMTA1MzczN2EwMGM1MWQwZGEyZjFi
Yjk1ZmJmODMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTA2LTExICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3VicGl4ZWwgcmVuZGVyaW5n
OiBNYWtlIDxzZWxlY3Q+IGVsZW1lbnQncyBkZWNvcmF0aW9uIHN1YnBpeGVsIGF3YXJlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNzgxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8xNzI3MjA4Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBGcmFzZXIuCisKKyAgICAgICAgRW5hYmxlIDxzZWxlY3Q+IGRlY29yYXRpb24gcGFpbnRpbmcg
b24gc3VicGl4ZWwgcG9zaXRpb25zLgorICAgICAgICBUaGUgdGhlbWUgc2l6ZSBpcyBzdGlsbCBp
bnRlZ3JhbCwgYnV0IGl0cyBwb3NpdGlvbiBpcyBzbmFwcGVkIHRvIGRldmljZSBwaXhlbHMuCisg
ICAgICAgIFRoZW1lJ3MgbGFiZWwsIHRoZSBJbmxpbmVUZXh0Qm94IGlzIGFscmVhZHkgc3VicGl4
ZWwgcG9zaXRpb24gYXdhcmUuCisgICAgICAgIHdlYmtpdC5vcmcvYi8xMzIwMDUgdHJhY2tzIHRo
ZSByZXN0IG9mIHRoZSB0aGVtZXMuCisKKyAgICAgICAgTm90IHRlc3RhYmxlLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lOjpwYWludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnRNZW51TGlzdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6aW5mbGF0ZVJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVNYWM6OmFkanVzdFJlcGFpbnRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lTWFjOjpwYWludE1lbnVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lTWFjOjpwcm9ncmVzc0JhclJlY3RGb3JCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVNYWM6OnNldFBvcHVwQnV0dG9uQ2VsbFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjppbmZsYXRlUmVjdCk6IERlbGV0ZWQuCisKIDIwMTQtMDYtMTEgIFph
biBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEF2b2lkIEZvbnRH
bHlwaHNDYWNoZUtleSBjb3B5IGluIEZvbnRHbHlwaHNDYWNoZUVudHJ5IGNvbnN0cnVjdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1JlbmRlclRoZW1lRWZsLmNwcAppbmRleCAz
MDkxYmMyMmQ0ODA5ZGQzZDIwZDk0YzkxMDM3N2ZkZWIzYTM4MmQyLi5kNzAxZmRlNzE2NGZiNmI2
NGRkNDFjZjRkY2FlNzVhOThkMTBiNDlhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2VmbC9SZW5kZXJUaGVtZUVmbC5jcHAKQEAgLTg0Miw5ICs4NDIsOSBAQCB2b2lkIFJlbmRlclRo
ZW1lRWZsOjphZGp1c3RNZW51TGlzdFN0eWxlKFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIs
IFJlbmRlclN0eQogICAgIHN0eWxlLT5zZXRMaW5lSGVpZ2h0KFJlbmRlclN0eWxlOjppbml0aWFs
TGluZUhlaWdodCgpKTsKIH0KIAotYm9vbCBSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZW51TGlzdChj
b25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBpbmZvLCBjb25zdCBJ
bnRSZWN0JiByZWN0KQorYm9vbCBSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZW51TGlzdChjb25zdCBS
ZW5kZXJPYmplY3QmIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBpbmZvLCBjb25zdCBGbG9hdFJl
Y3QmIHJlY3QpCiB7Ci0gICAgcmV0dXJuIHBhaW50VGhlbWVQYXJ0KG9iamVjdCwgQ29tYm9Cb3gs
IGluZm8sIHJlY3QpOworICAgIHJldHVybiBwYWludFRoZW1lUGFydChvYmplY3QsIENvbWJvQm94
LCBpbmZvLCBJbnRSZWN0KHJlY3QpKTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZUVmbDo6YWRqdXN0
TWVudUxpc3RCdXR0b25TdHlsZShTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBSZW5kZXJT
dHlsZSogc3R5bGUsIEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CkBAIC04NjUsNyArODY1LDcgQEAg
dm9pZCBSZW5kZXJUaGVtZUVmbDo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZShTdHlsZVJlc29s
dmVyKiBzdHlsZVJlc29sdmVyLCBSZW4KIAogYm9vbCBSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZW51
TGlzdEJ1dHRvbkRlY29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0LCBjb25zdCBQ
YWludEluZm8mIGluZm8sIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKLSAgICByZXR1cm4gcGFp
bnRNZW51TGlzdChvYmplY3QsIGluZm8sIEludFJlY3QocmVjdCkpOworICAgIHJldHVybiBwYWlu
dE1lbnVMaXN0KG9iamVjdCwgaW5mbywgcmVjdCk7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVFZmw6
OmFkanVzdFRleHRGaWVsZFN0eWxlKFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIFJlbmRl
clN0eWxlKiBzdHlsZSwgRWxlbWVudCogZWxlbWVudCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZWZsL1JlbmRlclRoZW1lRWZsLmgKaW5kZXggZDJjYTI4NmE1MWIwNjU3NzVmYjA0
MDU3ZGVkZDNkZGU1ZmM4MjMzYy4uNjFkOWQ2YzZkMDU2ZjY2MzA4YTQ1OWU2OWY4MjE1ZDA4MzAx
N2ViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1JlbmRlclRoZW1l
RWZsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1JlbmRlclRoZW1lRWZsLmgK
QEAgLTEyNiw3ICsxMjYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHBhaW50VGV4dEFy
ZWEoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0
Jikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWVudUxpc3RTdHlsZShTdHls
ZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Qgb3ZlcnJpZGU7Ci0gICAg
dmlydHVhbCBib29sIHBhaW50TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBwYWlu
dE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEZs
b2F0UmVjdCYpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0
dG9uU3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMo
Y29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0Jikg
b3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVy
VGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3Rr
LmNwcAppbmRleCBlYjM4MWM5ZmMwMmJmYzcxOGNhNGU3MzkyMWJhMmI5MjEwMDBjZWIzLi4yNjU2
MTdmZWNlNDExYTc2Zjk1MmM1NDU1Nzk3NjMyMTkyZjBlNjE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0ay5jcHAKQEAgLTI0Myw3ICsyNDMsNyBAQCB2
b2lkIFJlbmRlclRoZW1lR3RrOjphZGp1c3RNZW51TGlzdEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2
ZXIqIHN0eWxlUmVzb2x2ZXIsIFJlbgogCiBib29sIFJlbmRlclRoZW1lR3RrOjpwYWludE1lbnVM
aXN0QnV0dG9uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QsIGNvbnN0IFBh
aW50SW5mbyYgaW5mbywgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewotICAgIHJldHVybiBwYWlu
dE1lbnVMaXN0KG9iamVjdCwgaW5mbywgSW50UmVjdChyZWN0KSk7CisgICAgcmV0dXJuIHBhaW50
TWVudUxpc3Qob2JqZWN0LCBpbmZvLCByZWN0KTsKIH0KIAogYm9vbCBSZW5kZXJUaGVtZUd0azo6
cGFpbnRUZXh0QXJlYShjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwg
Y29uc3QgRmxvYXRSZWN0JiByKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1JlbmRlclRoZW1lR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVy
VGhlbWVHdGsuaAppbmRleCAwMDQwOWZiOWJlZmU5NjllMmViMTYxYzZlZWY4MjdlMzgwMWRlZmY2
Li42NDUxYjY2YWFlZTMzYWY4ZmI2ZDQ0ODRhYzA0ZWRlZTBkOGNiZTU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaApAQCAtMTM3LDcgKzEzNyw3IEBA
IHByaXZhdGU6CiAgICAgLy8gd2UgZG9uJ3QgbWFpbnRhaW4gdGhpcyBkaWZmZXJlbnRpYXRpb24u
CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0U3R5bGUoU3R5bGVSZXNvbHZlciosIFJl
bmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RNZW51TGlzdEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVs
ZW1lbnQqKSBjb25zdCBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdChj
b25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jikgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0
JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJPYmpl
Y3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKIAogICAg
IHZpcnR1YWwgdm9pZCBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydFN0eWxl
KFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdCBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVtZUd0azIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrMi5jcHAKaW5k
ZXggZjY5NTc1NGJmZWQzYjU2ZDMwZjY0YThiNDk3MDRiNzVmNjBhMjkzMi4uMzkyN2IwMTNmZWE4
MTNjMzkyNjM4YTI2YTAxYTZhMzAxYzY5ZmU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrMi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrMi5jcHAKQEAgLTM2NSw4ICszNjUsMTAgQEAgaW50IFJl
bmRlclRoZW1lR3RrOjpwb3B1cEludGVybmFsUGFkZGluZ0JvdHRvbShSZW5kZXJTdHlsZSogc3R5
bGUpIGNvbnN0CiAgICAgcmV0dXJuIGJvdHRvbTsKIH0KIAotYm9vbCBSZW5kZXJUaGVtZUd0azo6
cGFpbnRNZW51TGlzdChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCwgY29uc3QgUGFpbnRJbmZv
JiBpbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQorYm9vbCBSZW5kZXJUaGVtZUd0azo6cGFpbnRN
ZW51TGlzdChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBpbmZv
LCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CisgICAgLy8gRklYTUU6IGFkb3B0IHN1YnBpeGVsIHRo
ZW1lcy4KKyAgICBJbnRSZWN0IHJlY3QgPSBJbnRSZWN0KHIpOyAgIAogICAgIGlmIChwYWludEJ1
dHRvbihvYmplY3QsIGluZm8sIHJlY3QpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrMy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGszLmNwcAppbmRleCA1ODhh
ZjBlYWVlMTRkNWVjNDcyZGJjODdmMTE4MmNmNDk1ZjRkMDgxLi45NWI1ZDgzZjllOTE0MDY5MDIw
YTkzOGUxNzNhMmNkYjNlNGQ4NjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvUmVuZGVyVGhlbWVHdGszLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvUmVuZGVyVGhlbWVHdGszLmNwcApAQCAtNDY0LDggKzQ2NCwxMSBAQCBpbnQgUmVuZGVyVGhl
bWVHdGs6OnBvcHVwSW50ZXJuYWxQYWRkaW5nQm90dG9tKFJlbmRlclN0eWxlKiBzdHlsZSkgY29u
c3QKICAgICByZXR1cm4gYm9yZGVyV2lkdGguYm90dG9tICsgZm9jdXNXaWR0aDsKIH0KIAotYm9v
bCBSZW5kZXJUaGVtZUd0azo6cGFpbnRNZW51TGlzdChjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRl
ck9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3Qp
Citib29sIFJlbmRlclRoZW1lR3RrOjpwYWludE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyT2JqZWN0LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0
JiByKQogeworICAgIC8vIEZJWE1FOiBhZG9wdCBzdWJwaXhlbCB0aGVtZXMuCisgICAgSW50UmVj
dCByZWN0ID0gSW50UmVjdChyKTsgICAKKwogICAgIGNhaXJvX3QqIGNhaXJvQ29udGV4dCA9IHBh
aW50SW5mby5jb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKS0+Y3IoKTsKICAgICBHdGtUZXh0RGly
ZWN0aW9uIGRpcmVjdGlvbiA9IHN0YXRpY19jYXN0PEd0a1RleHREaXJlY3Rpb24+KGd0a1RleHRE
aXJlY3Rpb24ocmVuZGVyT2JqZWN0LnN0eWxlKCkuZGlyZWN0aW9uKCkpKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggYzk4YWI0MGZkZDM4YTlmNzc1ZjI5
NjFlY2I1YTAyY2M2NzYxZDU2OS4uMWM4MzdhMTEzMWYwMzY5N2M2NTBjNTQyOGEwM2FlODllYjNm
Nzg5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC0yNzgs
NiArMjc4LDcgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyT2JqZWN0JiBv
LCBDb250cm9sU3RhdGVzKiBjb250cm9sU3RhdGVzLCBjb24KIAogICAgIENvbnRyb2xQYXJ0IHBh
cnQgPSBvLnN0eWxlKCkuYXBwZWFyYW5jZSgpOwogICAgIEludFJlY3QgaW50ZWdyYWxTbmFwcGVk
UmVjdCA9IHBpeGVsU25hcHBlZEludFJlY3Qocik7CisgICAgRmxvYXRSZWN0IGRldmljZVBpeGVs
U25hcHBlZFJlY3QgPSBwaXhlbFNuYXBwZWRGb3JQYWludGluZyhyLCBvLmRvY3VtZW50KCkuZGV2
aWNlU2NhbGVGYWN0b3IoKSk7CiAKICNpZiBVU0UoTkVXX1RIRU1FKQogICAgIHN3aXRjaCAocGFy
dCkgewpAQCAtMzE0LDcgKzMxNSw3IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KGNvbnN0IFJl
bmRlck9iamVjdCYgbywgQ29udHJvbFN0YXRlcyogY29udHJvbFN0YXRlcywgY29uCiAgICAgICAg
IHJldHVybiBwYWludElubmVyU3BpbkJ1dHRvbihvLCBwYWludEluZm8sIGludGVncmFsU25hcHBl
ZFJlY3QpOwogI2VuZGlmCiAgICAgY2FzZSBNZW51bGlzdFBhcnQ6Ci0gICAgICAgIHJldHVybiBw
YWludE1lbnVMaXN0KG8sIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CisgICAgICAg
IHJldHVybiBwYWludE1lbnVMaXN0KG8sIHBhaW50SW5mbywgZGV2aWNlUGl4ZWxTbmFwcGVkUmVj
dCk7CiAjaWYgRU5BQkxFKE1FVEVSX0VMRU1FTlQpCiAgICAgY2FzZSBNZXRlclBhcnQ6CiAgICAg
Y2FzZSBSZWxldmFuY3lMZXZlbEluZGljYXRvclBhcnQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCmluZGV4IDAyMzlmMjhiMWU3NWFmNzk5YjU1ZmMwMjU4YmViNDJmMzc3ZTNk
ZGEuLmUwNTIyMTZlM2Q5ZGRlNjgyODE4MGE3OGJjNzY2ZDkyOGU4ZjJjY2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0yOTksNyArMjk5LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgYm9vbCBwYWludFRleHRBcmVhRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVy
T2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0JikgeyByZXR1cm4gdHJ1
ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0U3R5bGUoU3R5bGVSZXNvbHZl
ciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBwYWlu
dE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3Qo
Y29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0Jikg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0RGVjb3JhdGlv
bnMoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYp
IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlzdEJ1dHRv
blN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggZDQ3Yzc0ZjQxNzA1
NDgwMzJmMWYyY2ExMWRkMzllY2ZiMzg4NzAzMy4uOTEwZWUzNmZiYWFkYjViZjczM2RmNzZjMzM2
NjllNGM1N2UyNzQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
LmgKQEAgLTEzMCw3ICsxMzAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHBhaW50
VGV4dEFyZWEoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxv
YXRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFRleHRBcmVhU3R5bGUo
U3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0IG92ZXJyaWRlOwog
Ci0gICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3QoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29u
c3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9v
bCBwYWludE1lbnVMaXN0KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNv
bnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RNZW51TGlz
dFN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdCBvdmVy
cmlkZTsKIAogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMo
Y29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0Jikg
b3ZlcnJpZGU7CkBAIC0xNzMsOCArMTczLDYgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIFN0cmluZyBmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCosIGNvbnN0
IEZvbnQmLCBpbnQgd2lkdGgsIGJvb2wgbXVsdGlwbGVGaWxlc0FsbG93ZWQpIGNvbnN0IG92ZXJy
aWRlOwogCi0gICAgSW50UmVjdCBpbmZsYXRlUmVjdChjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50
U2l6ZSYsIGNvbnN0IGludCogbWFyZ2lucywgZmxvYXQgem9vbUxldmVsID0gMS4wZikgY29uc3Q7
Ci0KICAgICBGbG9hdFJlY3QgY29udmVydFRvUGFpbnRpbmdSZWN0KGNvbnN0IFJlbmRlck9iamVj
dCYgaW5wdXRSZW5kZXJlciwgY29uc3QgUmVuZGVyT2JqZWN0JiBwYXJ0UmVuZGVyZXIsIGNvbnN0
IEZsb2F0UmVjdCYgaW5wdXRSZWN0LCBjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAKICAgICAvLyBH
ZXQgdGhlIGNvbnRyb2wgc2l6ZSBiYXNlZCBvZmYgdGhlIGZvbnQuIFVzZWQgYnkgc29tZSBvZiB0
aGUgY29udHJvbHMgKGxpa2UgYnV0dG9ucykuCkBAIC0xOTQsNyArMTkyLDcgQEAgcHJpdmF0ZToK
IAogICAgIC8vIEhlbHBlcnMgZm9yIGFkanVzdGluZyBhcHBlYXJhbmNlIGFuZCBmb3IgcGFpbnRp
bmcKIAotICAgIHZvaWQgc2V0UG9wdXBCdXR0b25DZWxsU3RhdGUoY29uc3QgUmVuZGVyT2JqZWN0
JiwgY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgc2V0UG9wdXBCdXR0b25DZWxsU3RhdGUoY29u
c3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgSW50U2l6ZSYpOwogICAgIGNvbnN0IEludFNpemUqIHBv
cHVwQnV0dG9uU2l6ZXMoKSBjb25zdDsKICAgICBjb25zdCBpbnQqIHBvcHVwQnV0dG9uTWFyZ2lu
cygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcG9wdXBCdXR0b25QYWRkaW5nKE5TQ29udHJvbFNp
emUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmlu
ZGV4IDYwZmJlYTI0OGFiMzcxYzI0YTZmZjZmMTA1OGM0ZDliMjZjYzkwNTUuLjgwMTYwMTY1MzMy
NWI0YWUwNzFkYmQ4Y2NmNjY5NTcxMzk5NjMzNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTYxNSw2ICs2MTUsMjQgQEAgYm9vbCBSZW5kZXJUaGVt
ZU1hYzo6aXNDb250cm9sU3R5bGVkKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29uc3QgQm9y
ZGVyRGF0YSYKICAgICByZXR1cm4gUmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZChzdHlsZSwg
Ym9yZGVyLCBiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kQ29sb3IpOwogfQogCitzdGF0aWMgRmxvYXRS
ZWN0IGluZmxhdGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgSW50U2l6ZSYgc2l6
ZSwgY29uc3QgaW50KiBtYXJnaW5zLCBmbG9hdCB6b29tTGV2ZWwpCit7CisgICAgLy8gT25seSBk
byB0aGUgaW5mbGF0aW9uIGlmIHRoZSBhdmFpbGFibGUgd2lkdGgvaGVpZ2h0IGFyZSB0b28gc21h
bGwuIE90aGVyd2lzZSB0cnkgdG8KKyAgICAvLyBmaXQgdGhlIGdsb3cvY2hlY2sgc3BhY2UgaW50
byB0aGUgYXZhaWxhYmxlIGJveCdzIHdpZHRoL2hlaWdodC4KKyAgICBpbnQgd2lkdGhEZWx0YSA9
IHJlY3Qud2lkdGgoKSAtIChzaXplLndpZHRoKCkgKyBtYXJnaW5zW2xlZnRNYXJnaW5dICogem9v
bUxldmVsICsgbWFyZ2luc1tyaWdodE1hcmdpbl0gKiB6b29tTGV2ZWwpOworICAgIGludCBoZWln
aHREZWx0YSA9IHJlY3QuaGVpZ2h0KCkgLSAoc2l6ZS5oZWlnaHQoKSArIG1hcmdpbnNbdG9wTWFy
Z2luXSAqIHpvb21MZXZlbCArIG1hcmdpbnNbYm90dG9tTWFyZ2luXSAqIHpvb21MZXZlbCk7Cisg
ICAgRmxvYXRSZWN0IHJlc3VsdChyZWN0KTsKKyAgICBpZiAod2lkdGhEZWx0YSA8IDApIHsKKyAg
ICAgICAgcmVzdWx0LnNldFgocmVzdWx0LngoKSAtIG1hcmdpbnNbbGVmdE1hcmdpbl0gKiB6b29t
TGV2ZWwpOworICAgICAgICByZXN1bHQuc2V0V2lkdGgocmVzdWx0LndpZHRoKCkgLSB3aWR0aERl
bHRhKTsKKyAgICB9CisgICAgaWYgKGhlaWdodERlbHRhIDwgMCkgeworICAgICAgICByZXN1bHQu
c2V0WShyZXN1bHQueSgpIC0gbWFyZ2luc1t0b3BNYXJnaW5dICogem9vbUxldmVsKTsKKyAgICAg
ICAgcmVzdWx0LnNldEhlaWdodChyZXN1bHQuaGVpZ2h0KCkgLSBoZWlnaHREZWx0YSk7CisgICAg
fQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdFJl
cGFpbnRSZWN0KGNvbnN0IFJlbmRlck9iamVjdCYgbywgSW50UmVjdCYgcikKIHsKICAgICBDb250
cm9sUGFydCBwYXJ0ID0gby5zdHlsZSgpLmFwcGVhcmFuY2UoKTsKQEAgLTYzNywzMiArNjU1LDE0
IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdFJlcGFpbnRSZWN0KGNvbnN0IFJlbmRlck9i
amVjdCYgbywgSW50UmVjdCYgcikKICAgICBmbG9hdCB6b29tTGV2ZWwgPSBvLnN0eWxlKCkuZWZm
ZWN0aXZlWm9vbSgpOwogCiAgICAgaWYgKHBhcnQgPT0gTWVudWxpc3RQYXJ0KSB7Ci0gICAgICAg
IHNldFBvcHVwQnV0dG9uQ2VsbFN0YXRlKG8sIHIpOworICAgICAgICBzZXRQb3B1cEJ1dHRvbkNl
bGxTdGF0ZShvLCByLnNpemUoKSk7CiAgICAgICAgIEludFNpemUgc2l6ZSA9IHBvcHVwQnV0dG9u
U2l6ZXMoKVtbcG9wdXBCdXR0b24oKSBjb250cm9sU2l6ZV1dOwogICAgICAgICBzaXplLnNldEhl
aWdodChzaXplLmhlaWdodCgpICogem9vbUxldmVsKTsKICAgICAgICAgc2l6ZS5zZXRXaWR0aChy
LndpZHRoKCkpOwotICAgICAgICByID0gaW5mbGF0ZVJlY3Qociwgc2l6ZSwgcG9wdXBCdXR0b25N
YXJnaW5zKCksIHpvb21MZXZlbCk7CisgICAgICAgIHIgPSBJbnRSZWN0KGluZmxhdGVSZWN0KHIs
IHNpemUsIHBvcHVwQnV0dG9uTWFyZ2lucygpLCB6b29tTGV2ZWwpKTsKICAgICB9CiB9CiAKLUlu
dFJlY3QgUmVuZGVyVGhlbWVNYWM6OmluZmxhdGVSZWN0KGNvbnN0IEludFJlY3QmIHIsIGNvbnN0
IEludFNpemUmIHNpemUsIGNvbnN0IGludCogbWFyZ2lucywgZmxvYXQgem9vbUxldmVsKSBjb25z
dAotewotICAgIC8vIE9ubHkgZG8gdGhlIGluZmxhdGlvbiBpZiB0aGUgYXZhaWxhYmxlIHdpZHRo
L2hlaWdodCBhcmUgdG9vIHNtYWxsLiAgT3RoZXJ3aXNlIHRyeSB0bwotICAgIC8vIGZpdCB0aGUg
Z2xvdy9jaGVjayBzcGFjZSBpbnRvIHRoZSBhdmFpbGFibGUgYm94J3Mgd2lkdGgvaGVpZ2h0Lgot
ICAgIGludCB3aWR0aERlbHRhID0gci53aWR0aCgpIC0gKHNpemUud2lkdGgoKSArIG1hcmdpbnNb
bGVmdE1hcmdpbl0gKiB6b29tTGV2ZWwgKyBtYXJnaW5zW3JpZ2h0TWFyZ2luXSAqIHpvb21MZXZl
bCk7Ci0gICAgaW50IGhlaWdodERlbHRhID0gci5oZWlnaHQoKSAtIChzaXplLmhlaWdodCgpICsg
bWFyZ2luc1t0b3BNYXJnaW5dICogem9vbUxldmVsICsgbWFyZ2luc1tib3R0b21NYXJnaW5dICog
em9vbUxldmVsKTsKLSAgICBJbnRSZWN0IHJlc3VsdChyKTsKLSAgICBpZiAod2lkdGhEZWx0YSA8
IDApIHsKLSAgICAgICAgcmVzdWx0LnNldFgocmVzdWx0LngoKSAtIG1hcmdpbnNbbGVmdE1hcmdp
bl0gKiB6b29tTGV2ZWwpOwotICAgICAgICByZXN1bHQuc2V0V2lkdGgocmVzdWx0LndpZHRoKCkg
LSB3aWR0aERlbHRhKTsKLSAgICB9Ci0gICAgaWYgKGhlaWdodERlbHRhIDwgMCkgewotICAgICAg
ICByZXN1bHQuc2V0WShyZXN1bHQueSgpIC0gbWFyZ2luc1t0b3BNYXJnaW5dICogem9vbUxldmVs
KTsKLSAgICAgICAgcmVzdWx0LnNldEhlaWdodChyZXN1bHQuaGVpZ2h0KCkgLSBoZWlnaHREZWx0
YSk7Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIEZsb2F0UmVjdCBSZW5kZXJUaGVt
ZU1hYzo6Y29udmVydFRvUGFpbnRpbmdSZWN0KGNvbnN0IFJlbmRlck9iamVjdCYgaW5wdXRSZW5k
ZXJlciwgY29uc3QgUmVuZGVyT2JqZWN0JiBwYXJ0UmVuZGVyZXIsIGNvbnN0IEZsb2F0UmVjdCYg
aW5wdXRSZWN0LCBjb25zdCBJbnRSZWN0JiByKSBjb25zdAogewogICAgIEZsb2F0UmVjdCBwYXJ0
UmVjdChpbnB1dFJlY3QpOwpAQCAtODk5LDIyICs4OTksMjIgQEAgY29uc3QgaW50KiBSZW5kZXJU
aGVtZU1hYzo6cG9wdXBCdXR0b25QYWRkaW5nKE5TQ29udHJvbFNpemUgc2l6ZSkgY29uc3QKICAg
ICByZXR1cm4gcGFkZGluZ1tzaXplXTsKIH0KIAotYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRN
ZW51TGlzdChjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZv
LCBjb25zdCBJbnRSZWN0JiByKQorYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRNZW51TGlzdChj
b25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQpOwotICAgIHNldFBvcHVwQnV0dG9uQ2Vs
bFN0YXRlKG8sIHIpOworICAgIHNldFBvcHVwQnV0dG9uQ2VsbFN0YXRlKHJlbmRlcmVyLCBJbnRT
aXplKHJlY3Quc2l6ZSgpKSk7CiAKICAgICBOU1BvcFVwQnV0dG9uQ2VsbCogcG9wdXBCdXR0b24g
PSB0aGlzLT5wb3B1cEJ1dHRvbigpOwogCi0gICAgZmxvYXQgem9vbUxldmVsID0gby5zdHlsZSgp
LmVmZmVjdGl2ZVpvb20oKTsKKyAgICBmbG9hdCB6b29tTGV2ZWwgPSByZW5kZXJlci5zdHlsZSgp
LmVmZmVjdGl2ZVpvb20oKTsKICAgICBJbnRTaXplIHNpemUgPSBwb3B1cEJ1dHRvblNpemVzKClb
W3BvcHVwQnV0dG9uIGNvbnRyb2xTaXplXV07CiAgICAgc2l6ZS5zZXRIZWlnaHQoc2l6ZS5oZWln
aHQoKSAqIHpvb21MZXZlbCk7Ci0gICAgc2l6ZS5zZXRXaWR0aChyLndpZHRoKCkpOworICAgIHNp
emUuc2V0V2lkdGgocmVjdC53aWR0aCgpKTsKIAogICAgIC8vIE5vdyBpbmZsYXRlIGl0IHRvIGFj
Y291bnQgZm9yIHRoZSBzaGFkb3cuCi0gICAgSW50UmVjdCBpbmZsYXRlZFJlY3QgPSByOwotICAg
IGlmIChyLndpZHRoKCkgPj0gbWluaW11bU1lbnVMaXN0U2l6ZSgmby5zdHlsZSgpKSkKLSAgICAg
ICAgaW5mbGF0ZWRSZWN0ID0gaW5mbGF0ZVJlY3QoaW5mbGF0ZWRSZWN0LCBzaXplLCBwb3B1cEJ1
dHRvbk1hcmdpbnMoKSwgem9vbUxldmVsKTsKKyAgICBGbG9hdFJlY3QgaW5mbGF0ZWRSZWN0ID0g
cmVjdDsKKyAgICBpZiAocmVjdC53aWR0aCgpID49IG1pbmltdW1NZW51TGlzdFNpemUoJnJlbmRl
cmVyLnN0eWxlKCkpKQorICAgICAgICBpbmZsYXRlZFJlY3QgPSBpbmZsYXRlUmVjdChyZWN0LCBz
aXplLCBwb3B1cEJ1dHRvbk1hcmdpbnMoKSwgem9vbUxldmVsKTsKIAogICAgIEdyYXBoaWNzQ29u
dGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcigqcGFpbnRJbmZvLmNvbnRleHQpOwogCkBAIC05Mjks
MTEgKzkyOSwxMSBAQCBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludE1lbnVMaXN0KGNvbnN0IFJl
bmRlck9iamVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludAogICAgICAgICBwYWludEluZm8u
Y29udGV4dC0+dHJhbnNsYXRlKC1pbmZsYXRlZFJlY3QueCgpLCAtaW5mbGF0ZWRSZWN0LnkoKSk7
CiAgICAgfQogCi0gICAgTlNWaWV3ICp2aWV3ID0gZG9jdW1lbnRWaWV3Rm9yKG8pOworICAgIE5T
VmlldyAqdmlldyA9IGRvY3VtZW50Vmlld0ZvcihyZW5kZXJlcik7CiAgICAgW3BvcHVwQnV0dG9u
IGRyYXdXaXRoRnJhbWU6aW5mbGF0ZWRSZWN0IGluVmlldzp2aWV3XTsKLSAgICBpZiAoaXNGb2N1
c2VkKG8pICYmIG8uc3R5bGUoKS5vdXRsaW5lU3R5bGVJc0F1dG8oKSkgeworICAgIGlmIChpc0Zv
Y3VzZWQocmVuZGVyZXIpICYmIHJlbmRlcmVyLnN0eWxlKCkub3V0bGluZVN0eWxlSXNBdXRvKCkp
IHsKICAgICAgICAgaWYgKHdrRHJhd0NlbGxGb2N1c1JpbmdXaXRoRnJhbWVBdFRpbWUocG9wdXBC
dXR0b24sIGluZmxhdGVkUmVjdCwgdmlldywgc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpt
YXgoKSkpCi0gICAgICAgICAgICBvLmRvY3VtZW50KCkucGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIo
KS5zZXRGb2N1c2VkRWxlbWVudE5lZWRzUmVwYWludCgpOworICAgICAgICAgICAgcmVuZGVyZXIu
ZG9jdW1lbnQoKS5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldEZvY3VzZWRFbGVtZW50TmVl
ZHNSZXBhaW50KCk7CiAgICAgfQogCiAgICAgW3BvcHVwQnV0dG9uIHNldENvbnRyb2xWaWV3Om5p
bF07CkBAIC0xMDgwLDcgKzEwODAsNyBAQCBJbnRSZWN0IFJlbmRlclRoZW1lTWFjOjpwcm9ncmVz
c0JhclJlY3RGb3JCb3VuZHMoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJPYmplYwogICAgIC8v
IE5vdyBpbmZsYXRlIGl0IHRvIGFjY291bnQgZm9yIHRoZSBzaGFkb3cuCiAgICAgSW50UmVjdCBp
bmZsYXRlZFJlY3QgPSBwcm9ncmVzc0JhckJvdW5kczsKICAgICBpZiAocHJvZ3Jlc3NCYXJCb3Vu
ZHMuaGVpZ2h0KCkgPD0gbWluaW11bVByb2dyZXNzQmFySGVpZ2h0KCZyZW5kZXJPYmplY3Quc3R5
bGUoKSkpCi0gICAgICAgIGluZmxhdGVkUmVjdCA9IGluZmxhdGVSZWN0KGluZmxhdGVkUmVjdCwg
c2l6ZSwgcHJvZ3Jlc3NCYXJNYXJnaW5zKGNvbnRyb2xTaXplKSwgem9vbUxldmVsKTsKKyAgICAg
ICAgaW5mbGF0ZWRSZWN0ID0gSW50UmVjdChpbmZsYXRlUmVjdChpbmZsYXRlZFJlY3QsIHNpemUs
IHByb2dyZXNzQmFyTWFyZ2lucyhjb250cm9sU2l6ZSksIHpvb21MZXZlbCkpOwogCiAgICAgcmV0
dXJuIGluZmxhdGVkUmVjdDsKIH0KQEAgLTE0MzMsMTIgKzE0MzMsMTIgQEAgdm9pZCBSZW5kZXJU
aGVtZU1hYzo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVy
U3R5bGUqIHN0eWwKICAgICBzdHlsZS0+c2V0TGluZUhlaWdodChSZW5kZXJTdHlsZTo6aW5pdGlh
bExpbmVIZWlnaHQoKSk7CiB9CiAKLXZvaWQgUmVuZGVyVGhlbWVNYWM6OnNldFBvcHVwQnV0dG9u
Q2VsbFN0YXRlKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3QgSW50UmVjdCYgcikKK3ZvaWQg
UmVuZGVyVGhlbWVNYWM6OnNldFBvcHVwQnV0dG9uQ2VsbFN0YXRlKGNvbnN0IFJlbmRlck9iamVj
dCYgbywgY29uc3QgSW50U2l6ZSYgYnV0dG9uU2l6ZSkKIHsKICAgICBOU1BvcFVwQnV0dG9uQ2Vs
bCogcG9wdXBCdXR0b24gPSB0aGlzLT5wb3B1cEJ1dHRvbigpOwogCiAgICAgLy8gU2V0IHRoZSBj
b250cm9sIHNpemUgYmFzZWQgb2ZmIHRoZSByZWN0YW5nbGUgd2UncmUgcGFpbnRpbmcgaW50by4K
LSAgICBzZXRDb250cm9sU2l6ZShwb3B1cEJ1dHRvbiwgcG9wdXBCdXR0b25TaXplcygpLCByLnNp
emUoKSwgby5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CisgICAgc2V0Q29udHJvbFNpemUocG9w
dXBCdXR0b24sIHBvcHVwQnV0dG9uU2l6ZXMoKSwgYnV0dG9uU2l6ZSwgby5zdHlsZSgpLmVmZmVj
dGl2ZVpvb20oKSk7CiAKICAgICAvLyBVcGRhdGUgdGhlIHZhcmlvdXMgc3RhdGVzIHdlIHJlc3Bv
bmQgdG8uCiAgICAgdXBkYXRlQ2hlY2tlZFN0YXRlKHBvcHVwQnV0dG9uLCBvKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>