<?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>125193</bug_id>
          
          <creation_ts>2013-12-03 15:14:12 -0800</creation_ts>
          <short_desc>Rename RenderTheme::paintMenuListButton()</short_desc>
          <delta_ts>2013-12-04 12:31:53 -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>WebCore Misc.</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>125239</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>956155</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-03 15:14:12 -0800</bug_when>
    <thetext>Towards upstreaming the iOS concept of render theme decorations, we should rename RenderTheme::paintMenuListButton() to RenderTheme::paintMenuListButtonDecorations() to better describe its purpose - to paint the menu list button on top of the CSS-specified border and background.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956190</commentid>
    <comment_count>1</comment_count>
      <attachid>218356</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-03 15:49:45 -0800</bug_when>
    <thetext>Created attachment 218356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956515</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-04 12:15:00 -0800</bug_when>
    <thetext>Committed r160113: &lt;http://trac.webkit.org/changeset/160113&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956520</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-04 12:31:53 -0800</bug_when>
    <thetext>Committed Apple Windows build fix in &lt;http://trac.webkit.org/changeset/160114&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218356</attachid>
            <date>2013-12-03 15:49:45 -0800</date>
            <delta_ts>2013-12-03 17:25:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125193-20131203154945.patch</filename>
            <type>text/plain</type>
            <size>27889</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkODRhYzUxMjQ1OTZi
Y2VmNzEzNWFiZGYxNTdmNjlhYmUzMTc5OS4uNGIwMmJiMjczZTg4ZDJjMWE5YmZkN2VlZmQzN2U5
NjkzZDVhMDM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTEyLTAzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hbWUgUmVuZGVyVGhl
bWU6OnBhaW50TWVudUxpc3RCdXR0b24oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVG93YXJkcyB1cHN0cmVhbWluZyB0aGUgaU9TIGNvbmNlcHQgb2Yg
cmVuZGVyIHRoZW1lIGRlY29yYXRpb25zIHdlIHNob3VsZCByZW5hbWUKKyAgICAgICAgUmVuZGVy
VGhlbWU6OnBhaW50TWVudUxpc3RCdXR0b24oKSB0byBSZW5kZXJUaGVtZTo6cGFpbnRNZW51TGlz
dEJ1dHRvbkRlY29yYXRpb25zKCkKKyAgICAgICAgdG8gYmV0dGVyIGRlc2NyaWJlIGl0cyBwdXJw
b3NlLgorCisgICAgICAgIEFsc28sIGZpeCBjb2RlIHN0eWxlIGlzc3Vlcy4KKworICAgICAgICAq
IHBsYXRmb3JtL2JsYWNrYmVycnkvUmVuZGVyVGhlbWVCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lQmxhY2tCZXJyeTo6cGFpbnRNZW51TGlzdEJ1dHRvbkRlY29y
YXRpb25zKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1JlbmRlclRoZW1lQmxhY2tC
ZXJyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVmbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUVmbDo6cGFpbnRNZW51TGlzdEJ1dHRvbkRlY29yYXRp
b25zKToKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVHdGs6OnBhaW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9ucyk6CisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmg6CisgICAgICAgICogcGxhdGZvcm0vbml4L1Jl
bmRlclRoZW1lTml4Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWludERlY29yYXRpb25zKTogUmVuYW1lIGFy
Z3VtZW50IG8sIHIgdG8gcmVuZGVyZXIgYW5kIHJlY3QsIHJlc3BlY3RpdmVseS4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
OjpwYWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpwYWludE1lbnVMaXN0QnV0dG9uRGVj
b3JhdGlvbnMpOiBSZW5hbWUgYXJndW1lbnQgbywgciB0byByZW5kZXJlciBhbmQgcmVjdCwKKyAg
ICAgICAgcmVzcGVjdGl2ZWx5OyBhbHNvIHJlbW92ZSBleHRyYW5lb3VzIHdoaXRlIHNwYWNlIGFu
ZCBzdWJzdGl0dXRlIDEgZm9yIDEuMGYuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
U2FmYXJpLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lU2FmYXJpOjpwYWludE1l
bnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGhlbWVTYWZhcmkuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46OnBhaW50TWVudUxpc3QpOiBSZW5h
bWUgYXJndW1lbnQgbywgaSwgciB0byByZW5kZXJlciwgcGFpbnRJbmZvLCBhbmQgcmVjdCwKKyAg
ICAgICAgcmVzcGVjdGl2ZWx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46OnBh
aW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9ucyk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZVdpbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNF
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luQ0U6OnBhaW50TWVudUxpc3Qp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luQ0U6OnBhaW50TWVudUxp
c3RCdXR0b25EZWNvcmF0aW9ucyk6IERpdHRvLiAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVXaW5DRS5oOgorCiAyMDEzLTEyLTAzICBSYWR1IFN0YXZpbGEgIDxzdGF2aWxhQGFkb2Jl
LmNvbT4KIAogICAgICAgICBUaGUgb3ZlcmZsb3cgYm9yZGVyIG9mIGEgcmVsYXRpdmVseSBwb3Np
dGlvbmVkIGVsZW1lbnQgaW5zaWRlIGEgcmVnaW9uIGlzIG5vdCBwYWludGVkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1JlbmRlclRoZW1lQmxhY2tCZXJy
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1JlbmRlclRoZW1lQmxh
Y2tCZXJyeS5jcHAKaW5kZXggYmNhNzhhYTkzMzczYzg4OTI4ZmUxM2U0ZTcwZTEyN2RkMjE2NTdm
YS4uOTJlMTdkOWZhMDM4YzQxYmVjODYyYmJiYzFmODQ3OGQwMDE1NzJmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9SZW5kZXJUaGVtZUJsYWNrQmVycnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUmVuZGVyVGhlbWVC
bGFja0JlcnJ5LmNwcApAQCAtNjE4LDcgKzYxOCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVCbGFja0Jl
cnJ5OjpwYWludE1lbnVMaXN0KFJlbmRlck9iamVjdCogb2JqZWN0LCBjb25zdCBQYWludEluZm8m
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFJlbmRlclRoZW1lQmxhY2tCZXJyeTo6cGFp
bnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3QgUGFpbnRJbmZvJiBp
bmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQorYm9vbCBSZW5kZXJUaGVtZUJsYWNrQmVycnk6OnBh
aW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9ucyhSZW5kZXJPYmplY3QqIG9iamVjdCwgY29uc3Qg
UGFpbnRJbmZvJiBpbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIHJldHVybiBwYWlu
dE1lbnVMaXN0KG9iamVjdCwgaW5mbywgcmVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1JlbmRlclRoZW1lQmxhY2tCZXJyeS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9SZW5kZXJUaGVtZUJsYWNrQmVycnkuaAppbmRl
eCBmYWVhODk1NjAzY2U4ZDZjMzg1Yzc4ZjMyMmRmYTFjODhiYjU1NGI5Li40YTkxNjBmYmJhZjhk
YWI3OTU3Y2ZjMTkzZDFhMTRhMzg1NGQ3MWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ibGFja2JlcnJ5L1JlbmRlclRoZW1lQmxhY2tCZXJyeS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUmVuZGVyVGhlbWVCbGFja0JlcnJ5LmgKQEAgLTQ5
LDcgKzQ5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBwYWludEJ1dHRvbihSZW5kZXJP
YmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdm9pZCBjYWxj
dWxhdGVCdXR0b25TaXplKFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGFk
anVzdE1lbnVMaXN0U3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCop
IGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVj
dCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRNZW51TGlzdEJ1dHRvbkRlY29yYXRpb25zKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50
SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2xpZGVyVGh1
bWJTaXplKFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBw
YWludFNsaWRlclRyYWNrKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTbGlkZXJUaHVtYihSZW5kZXJPYmplY3Qq
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZWZsL1JlbmRlclRoZW1lRWZsLmNwcAppbmRleCBjYmM1Y2FiMjQwYzA3NmI1NTVl
Nzk2YjFiOWYxOTI2MDVhZjY5MWUzLi40NjE5ZTg4MDAwYjZjNzVlMjc2Y2Y2Njg5NDllMzkyM2Y0
ODhiNmEwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhl
bWVFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9SZW5kZXJUaGVtZUVm
bC5jcHAKQEAgLTg5Miw3ICs4OTIsNyBAQCB2b2lkIFJlbmRlclRoZW1lRWZsOjphZGp1c3RNZW51
TGlzdEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIFJlbgogICAgIGFk
anVzdE1lbnVMaXN0U3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGVsZW1lbnQpOwogfQogCi1i
b29sIFJlbmRlclRoZW1lRWZsOjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogb2Jq
ZWN0LCBjb25zdCBQYWludEluZm8mIGluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCitib29sIFJl
bmRlclRoZW1lRWZsOjpwYWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMoUmVuZGVyT2JqZWN0
KiBvYmplY3QsIGNvbnN0IFBhaW50SW5mbyYgaW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsK
ICAgICByZXR1cm4gcGFpbnRNZW51TGlzdChvYmplY3QsIGluZm8sIHJlY3QpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1JlbmRlclRoZW1lRWZsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVyVGhlbWVFZmwuaAppbmRleCA2YTY0ZjU3MDUy
MDg3M2M5MTI1NWJkMzJlODQzYjA0NTk0YjM5NDVhLi42ZWI3YzkyYzRhODUxNTFjMzkxNzZhMDY0
OGFkNGQ2MDBkYmY4NDA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwv
UmVuZGVyVGhlbWVFZmwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUmVuZGVy
VGhlbWVFZmwuaApAQCAtMTQxLDcgKzE0MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRNZW51TGlzdChSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRS
ZWN0Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZShTdHls
ZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7Ci0gICAgdmlydHVhbCBi
b29sIHBhaW50TWVudUxpc3RCdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwg
Y29uc3QgSW50UmVjdCYpOworICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uRGVj
b3JhdGlvbnMoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYp
OwogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25T
dHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmpl
Y3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmNwcAppbmRleCBiYjRkZGRkNTZjNzlkY2Q5
NTZkNjQwNzQ5Mjc5ZjdkZDhhNWM3ZjdmLi4zOWYxMTA0MDM0MWZkMzI1YTU5N2QzNjhkYWNmNzA4
ZTA5OWU4NDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVy
VGhlbWVHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9SZW5kZXJUaGVt
ZUd0ay5jcHAKQEAgLTIyMyw3ICsyMjMsNyBAQCB2b2lkIFJlbmRlclRoZW1lR3RrOjphZGp1c3RN
ZW51TGlzdEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXIqIHN0eWxlUmVzb2x2ZXIsIFJlbgogICAg
IGFkanVzdE1lbnVMaXN0U3R5bGUoc3R5bGVSZXNvbHZlciwgc3R5bGUsIGUpOwogfQogCi1ib29s
IFJlbmRlclRoZW1lR3RrOjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogb2JqZWN0
LCBjb25zdCBQYWludEluZm8mIGluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCitib29sIFJlbmRl
clRoZW1lR3RrOjpwYWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMoUmVuZGVyT2JqZWN0KiBv
YmplY3QsIGNvbnN0IFBhaW50SW5mbyYgaW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAg
ICByZXR1cm4gcGFpbnRNZW51TGlzdChvYmplY3QsIGluZm8sIHJlY3QpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1JlbmRlclRoZW1lR3RrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhlbWVHdGsuaAppbmRleCA1ZTUzNDc2NDA5NWE4
MTAwNzBiZGJkNmZhMzYyZWViZjM2Y2RhMTEwLi43NTk1MjZhNjY5MDk4M2IwZDc5MmY3Y2M2ZTJk
NjI0NmJhNzc2YTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVu
ZGVyVGhlbWVHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUmVuZGVyVGhl
bWVHdGsuaApAQCAtMTM3LDcgKzEzNyw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQg
YWRqdXN0TWVudUxpc3RTdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50
KikgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoU3R5
bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBwYWludE1lbnVMaXN0KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0
IEludFJlY3QmKTsKLSAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJP
YmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCBi
b29sIHBhaW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9ucyhSZW5kZXJPYmplY3QqLCBjb25zdCBQ
YWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2Vh
cmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHls
ZSosIEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTZWFyY2hGaWVsZFJl
c3VsdHNEZWNvcmF0aW9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25peC9SZW5kZXJU
aGVtZU5peC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbml4L1JlbmRlclRoZW1lTml4LmgK
aW5kZXggZjQxZDUwNzA4NmFkOTYzMDVmMzFkOWE2Y2I5NWYyZTNmZTE1ZDBmNy4uZTUyZTk4MzYx
MTRmMzZmNzY0ODY3NGRlYzMyNmY4OGU3NmFmMDA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbml4L1JlbmRlclRoZW1lTml4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbml4L1JlbmRlclRoZW1lTml4LmgKQEAgLTg4LDcgKzg4LDEwIEBAIHByb3RlY3RlZDoK
IAogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0KFJlbmRlck9iamVjdCosIGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYWRq
dXN0TWVudUxpc3RTdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50Kikg
Y29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b24oUmVu
ZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpIE9WRVJS
SURFIHsgcmV0dXJuIHBhaW50TWVudUxpc3QobywgaSwgcik7IH0KKyAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRNZW51TGlzdEJ1dHRvbkRlY29yYXRpb25zKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGNv
bnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KSBPVkVSUklERQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHBhaW50TWVudUxpc3QocmVuZGVyZXIsIHBhaW50SW5mbywg
cmVjdCk7CisgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdElubmVyU3BpbkJ1dHRvblN0
eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbm5lclNwaW5CdXR0b24oUmVuZGVyT2JqZWN0Kiwg
Y29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggNDkxMjY3MDFmNDA2OTU2NjZiNDI1ZTk1
ZTEyZDU3N2IxNTQ4YjVhOS4uNTQ1MzAzZmVjMTNmN2QzMDU0OTRlNjI3ZjNiMDFkOTMwMzZlNDQz
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC00NDcsMzYg
KzQ0NywzNiBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkoUmVuZGVyT2JqZWN0
KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgYwogI2VuZGlmCiB9CiAKLWJvb2wgUmVu
ZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcikKK2Jvb2wgUmVuZGVyVGhlbWU6OnBhaW50
RGVjb3JhdGlvbnMoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKHBhaW50SW5mby5jb250ZXh0
LT5wYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIC8vIENh
bGwgdGhlIGFwcHJvcHJpYXRlIHBhaW50IG1ldGhvZCBiYXNlZCBvZmYgdGhlIGFwcGVhcmFuY2Ug
dmFsdWUuCi0gICAgc3dpdGNoIChvLT5zdHlsZSgpLmFwcGVhcmFuY2UoKSkgeworICAgIHN3aXRj
aCAocmVuZGVyZXItPnN0eWxlKCkuYXBwZWFyYW5jZSgpKSB7CiAgICAgY2FzZSBNZW51bGlzdEJ1
dHRvblBhcnQ6Ci0gICAgICAgIHJldHVybiBwYWludE1lbnVMaXN0QnV0dG9uKG8sIHBhaW50SW5m
bywgcik7CisgICAgICAgIHJldHVybiBwYWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMocmVu
ZGVyZXIsIHBhaW50SW5mbywgcmVjdCk7CiAgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgotICAgICAg
ICByZXR1cm4gcGFpbnRUZXh0RmllbGREZWNvcmF0aW9ucyhvLCBwYWludEluZm8sIHIpOworICAg
ICAgICByZXR1cm4gcGFpbnRUZXh0RmllbGREZWNvcmF0aW9ucyhyZW5kZXJlciwgcGFpbnRJbmZv
LCByZWN0KTsKICAgICBjYXNlIFRleHRBcmVhUGFydDoKLSAgICAgICAgcmV0dXJuIHBhaW50VGV4
dEFyZWFEZWNvcmF0aW9ucyhvLCBwYWludEluZm8sIHIpOworICAgICAgICByZXR1cm4gcGFpbnRU
ZXh0QXJlYURlY29yYXRpb25zKHJlbmRlcmVyLCBwYWludEluZm8sIHJlY3QpOwogICAgIGNhc2Ug
Q2hlY2tib3hQYXJ0OgotICAgICAgICByZXR1cm4gcGFpbnRDaGVja2JveERlY29yYXRpb25zKG8s
IHBhaW50SW5mbywgcik7CisgICAgICAgIHJldHVybiBwYWludENoZWNrYm94RGVjb3JhdGlvbnMo
cmVuZGVyZXIsIHBhaW50SW5mbywgcmVjdCk7CiAgICAgY2FzZSBSYWRpb1BhcnQ6Ci0gICAgICAg
IHJldHVybiBwYWludFJhZGlvRGVjb3JhdGlvbnMobywgcGFpbnRJbmZvLCByKTsKKyAgICAgICAg
cmV0dXJuIHBhaW50UmFkaW9EZWNvcmF0aW9ucyhyZW5kZXJlciwgcGFpbnRJbmZvLCByZWN0KTsK
ICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgotICAgICAgICByZXR1cm4gcGFpbnRQdXNoQnV0dG9u
RGVjb3JhdGlvbnMobywgcGFpbnRJbmZvLCByKTsKKyAgICAgICAgcmV0dXJuIHBhaW50UHVzaEJ1
dHRvbkRlY29yYXRpb25zKHJlbmRlcmVyLCBwYWludEluZm8sIHJlY3QpOwogICAgIGNhc2UgU3F1
YXJlQnV0dG9uUGFydDoKLSAgICAgICAgcmV0dXJuIHBhaW50U3F1YXJlQnV0dG9uRGVjb3JhdGlv
bnMobywgcGFpbnRJbmZvLCByKTsKKyAgICAgICAgcmV0dXJuIHBhaW50U3F1YXJlQnV0dG9uRGVj
b3JhdGlvbnMocmVuZGVyZXIsIHBhaW50SW5mbywgcmVjdCk7CiAgICAgY2FzZSBCdXR0b25QYXJ0
OgotICAgICAgICByZXR1cm4gcGFpbnRCdXR0b25EZWNvcmF0aW9ucyhvLCBwYWludEluZm8sIHIp
OworICAgICAgICByZXR1cm4gcGFpbnRCdXR0b25EZWNvcmF0aW9ucyhyZW5kZXJlciwgcGFpbnRJ
bmZvLCByZWN0KTsKICAgICBjYXNlIE1lbnVsaXN0UGFydDoKLSAgICAgICAgcmV0dXJuIHBhaW50
TWVudUxpc3REZWNvcmF0aW9ucyhvLCBwYWludEluZm8sIHIpOworICAgICAgICByZXR1cm4gcGFp
bnRNZW51TGlzdERlY29yYXRpb25zKHJlbmRlcmVyLCBwYWludEluZm8sIHJlY3QpOwogICAgIGNh
c2UgU2xpZGVyVGh1bWJIb3Jpem9udGFsUGFydDoKICAgICBjYXNlIFNsaWRlclRodW1iVmVydGlj
YWxQYXJ0OgotICAgICAgICByZXR1cm4gcGFpbnRTbGlkZXJUaHVtYkRlY29yYXRpb25zKG8sIHBh
aW50SW5mbywgcik7CisgICAgICAgIHJldHVybiBwYWludFNsaWRlclRodW1iRGVjb3JhdGlvbnMo
cmVuZGVyZXIsIHBhaW50SW5mbywgcmVjdCk7CiAgICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6Ci0g
ICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkRGVjb3JhdGlvbnMobywgcGFpbnRJbmZvLCBy
KTsKKyAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGREZWNvcmF0aW9ucyhyZW5kZXJlciwg
cGFpbnRJbmZvLCByZWN0KTsKICNpZiBFTkFCTEUoTUVURVJfRUxFTUVOVCkKICAgICBjYXNlIE1l
dGVyUGFydDoKICAgICBjYXNlIFJlbGV2YW5jeUxldmVsSW5kaWNhdG9yUGFydDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggM2I0MWIzMjFkOWM4MzQ2NzdjODI1NWNm
MjQ2Y2ViOWZlZDk0YTc1OC4uM2RmMTUxZWFhYTBmODdlNDYwOTU5ODM4MDQxMjZkZTBkZjJhY2Fh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTI5Miw3ICsyOTIs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3REZWNvcmF0aW9u
cyhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1
cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUo
U3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwotICAgIHZpcnR1
YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5m
byYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBib29sIHBh
aW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9ucyhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludElu
Zm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgdmlydHVhbCBib29s
IHBhaW50UHVzaEJ1dHRvbkRlY29yYXRpb25zKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5m
byYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBib29sIHBh
aW50U3F1YXJlQnV0dG9uRGVjb3JhdGlvbnMoUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggMWM3NjhkMjFlYTNjZDNiYzVhMjVjMDBjMDcxMmIy
MTY1YWQ2ZjNjYS4uNTYyYWRhMjZkZDQzNGIzYWEwOTY4MGQ1ZWM5MGFkNzhlZDJmOGZkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTEyMyw3ICsxMjMs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3QoUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogICAgIHZpcnR1YWwgdm9p
ZCBhZGp1c3RNZW51TGlzdFN0eWxlKFN0eWxlUmVzb2x2ZXIqLCBSZW5kZXJTdHlsZSosIEVsZW1l
bnQqKSBjb25zdDsKIAotICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRl
ck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKKyAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbkRlY29yYXRpb25zKFJlbmRlck9iamVjdCosIGNvbnN0
IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWVu
dUxpc3RCdXR0b25TdHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50Kikg
Y29uc3Q7CiAKICNpZiBFTkFCTEUoUFJPR1JFU1NfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCAzMjdjZmEwMGIwNTNlYTc1NmZkNjU5YzZi
NGI5NTNiOGM2MTU4MGY3Li5iYjU0Y2YxNmIyMzFiZjhjYzc2NmQzMjA4N2MzMjcwOGI2NmI1YWFh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC0xMTky
LDI5ICsxMTkyLDI5IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6OnBhaW50TWVudUxpc3RCdXR0b25H
cmFkaWVudHMoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluCiAgICAgfQogfQogCi1ib29s
IFJlbmRlclRoZW1lTWFjOjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29u
c3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHIpCitib29sIFJlbmRlclRo
ZW1lTWFjOjpwYWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMoUmVuZGVyT2JqZWN0KiByZW5k
ZXJlciwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7
Ci0gICAgSW50UmVjdCBib3VuZHMgPSBJbnRSZWN0KHIueCgpICsgby0+c3R5bGUoKS5ib3JkZXJM
ZWZ0V2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci55KCkgKyBvLT5zdHls
ZSgpLmJvcmRlclRvcFdpZHRoKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIud2lk
dGgoKSAtIG8tPnN0eWxlKCkuYm9yZGVyTGVmdFdpZHRoKCkgLSBvLT5zdHlsZSgpLmJvcmRlclJp
Z2h0V2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci5oZWlnaHQoKSAtIG8t
PnN0eWxlKCkuYm9yZGVyVG9wV2lkdGgoKSAtIG8tPnN0eWxlKCkuYm9yZGVyQm90dG9tV2lkdGgo
KSk7CisgICAgSW50UmVjdCBib3VuZHMgPSBJbnRSZWN0KHJlY3QueCgpICsgcmVuZGVyZXItPnN0
eWxlKCkuYm9yZGVyTGVmdFdpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
Y3QueSgpICsgcmVuZGVyZXItPnN0eWxlKCkuYm9yZGVyVG9wV2lkdGgoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcmVjdC53aWR0aCgpIC0gcmVuZGVyZXItPnN0eWxlKCkuYm9yZGVy
TGVmdFdpZHRoKCkgLSByZW5kZXJlci0+c3R5bGUoKS5ib3JkZXJSaWdodFdpZHRoKCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3QuaGVpZ2h0KCkgLSByZW5kZXJlci0+c3R5bGUo
KS5ib3JkZXJUb3BXaWR0aCgpIC0gcmVuZGVyZXItPnN0eWxlKCkuYm9yZGVyQm90dG9tV2lkdGgo
KSk7CiAgICAgLy8gRHJhdyB0aGUgZ3JhZGllbnRzIHRvIGdpdmUgdGhlIHN0eWxlZCBwb3B1cCBt
ZW51IGEgYnV0dG9uIGFwcGVhcmFuY2UKLSAgICBwYWludE1lbnVMaXN0QnV0dG9uR3JhZGllbnRz
KG8sIHBhaW50SW5mbywgYm91bmRzKTsKKyAgICBwYWludE1lbnVMaXN0QnV0dG9uR3JhZGllbnRz
KHJlbmRlcmVyLCBwYWludEluZm8sIGJvdW5kcyk7CiAKICAgICAvLyBTaW5jZSB3ZSBhY3R1YWxs
eSBrbm93IHRoZSBzaXplIG9mIHRoZSBjb250cm9sIGhlcmUsIHdlIHJlc3RyaWN0IHRoZSBmb250
IHNjYWxlIHRvIG1ha2Ugc3VyZSB0aGUgYXJyb3dzIHdpbGwgZml0IHZlcnRpY2FsbHkgaW4gdGhl
IGJvdW5kcwotICAgIGZsb2F0IGZvbnRTY2FsZSA9IHN0ZDo6bWluKG8tPnN0eWxlKCkuZm9udFNp
emUoKSAvIGJhc2VGb250U2l6ZSwgYm91bmRzLmhlaWdodCgpIC8gKGJhc2VBcnJvd0hlaWdodCAq
IDIgKyBiYXNlU3BhY2VCZXR3ZWVuQXJyb3dzKSk7CisgICAgZmxvYXQgZm9udFNjYWxlID0gc3Rk
OjptaW4ocmVuZGVyZXItPnN0eWxlKCkuZm9udFNpemUoKSAvIGJhc2VGb250U2l6ZSwgYm91bmRz
LmhlaWdodCgpIC8gKGJhc2VBcnJvd0hlaWdodCAqIDIgKyBiYXNlU3BhY2VCZXR3ZWVuQXJyb3dz
KSk7CiAgICAgZmxvYXQgY2VudGVyWSA9IGJvdW5kcy55KCkgKyBib3VuZHMuaGVpZ2h0KCkgLyAy
LjBmOwogICAgIGZsb2F0IGFycm93SGVpZ2h0ID0gYmFzZUFycm93SGVpZ2h0ICogZm9udFNjYWxl
OwogICAgIGZsb2F0IGFycm93V2lkdGggPSBiYXNlQXJyb3dXaWR0aCAqIGZvbnRTY2FsZTsKLSAg
ICBmbG9hdCBsZWZ0RWRnZSA9IGJvdW5kcy5tYXhYKCkgLSBhcnJvd1BhZGRpbmdSaWdodCAqIG8t
PnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpIC0gYXJyb3dXaWR0aDsKKyAgICBmbG9hdCBsZWZ0RWRn
ZSA9IGJvdW5kcy5tYXhYKCkgLSBhcnJvd1BhZGRpbmdSaWdodCAqIHJlbmRlcmVyLT5zdHlsZSgp
LmVmZmVjdGl2ZVpvb20oKSAtIGFycm93V2lkdGg7CiAgICAgZmxvYXQgc3BhY2VCZXR3ZWVuQXJy
b3dzID0gYmFzZVNwYWNlQmV0d2VlbkFycm93cyAqIGZvbnRTY2FsZTsKIAotICAgIGlmIChib3Vu
ZHMud2lkdGgoKSA8IGFycm93V2lkdGggKyBhcnJvd1BhZGRpbmdMZWZ0ICogby0+c3R5bGUoKS5l
ZmZlY3RpdmVab29tKCkpCisgICAgaWYgKGJvdW5kcy53aWR0aCgpIDwgYXJyb3dXaWR0aCArIGFy
cm93UGFkZGluZ0xlZnQgKiByZW5kZXJlci0+c3R5bGUoKS5lZmZlY3RpdmVab29tKCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVT
YXZlcigqcGFpbnRJbmZvLmNvbnRleHQpOwogCi0gICAgcGFpbnRJbmZvLmNvbnRleHQtPnNldEZp
bGxDb2xvcihvLT5zdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9y
KSwgby0+c3R5bGUoKS5jb2xvclNwYWNlKCkpOworICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRG
aWxsQ29sb3IocmVuZGVyZXItPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3Bl
cnR5Q29sb3IpLCByZW5kZXJlci0+c3R5bGUoKS5jb2xvclNwYWNlKCkpOwogICAgIHBhaW50SW5m
by5jb250ZXh0LT5zZXRTdHJva2VTdHlsZShOb1N0cm9rZSk7CiAKICAgICBGbG9hdFBvaW50IGFy
cm93MVszXTsKQEAgLTEyMzgsMTAgKzEyMzgsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFp
bnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQK
IAogICAgIC8vIEZJWE1FOiBTaG91bGQgdGhlIHNlcGFyYXRvciB0aGlja25lc3MgYW5kIHNwYWNl
IGJlIHNjYWxlZCB1cCBieSBmb250U2NhbGU/CiAgICAgaW50IHNlcGFyYXRvclNwYWNlID0gMjsg
Ly8gRGVsaWJlcmF0ZWx5IGlnbm9yZXMgem9vbSBzaW5jZSBpdCBsb29rcyBuaWNlciBpZiBpdCBz
dGF5cyB0aGluLgotICAgIGludCBsZWZ0RWRnZU9mU2VwYXJhdG9yID0gc3RhdGljX2Nhc3Q8aW50
PihsZWZ0RWRnZSAtIGFycm93UGFkZGluZ0xlZnQgKiBvLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20o
KSk7IC8vIEZJWE1FOiBSb3VuZD8KKyAgICBpbnQgbGVmdEVkZ2VPZlNlcGFyYXRvciA9IHN0YXRp
Y19jYXN0PGludD4obGVmdEVkZ2UgLSBhcnJvd1BhZGRpbmdMZWZ0ICogcmVuZGVyZXItPnN0eWxl
KCkuZWZmZWN0aXZlWm9vbSgpKTsgLy8gRklYTUU6IFJvdW5kPwogCiAgICAgLy8gRHJhdyB0aGUg
c2VwYXJhdG9yIHRvIHRoZSBsZWZ0IG9mIHRoZSBhcnJvd3MKLSAgICBwYWludEluZm8uY29udGV4
dC0+c2V0U3Ryb2tlVGhpY2tuZXNzKDEuMGYpOyAvLyBEZWxpYmVyYXRlbHkgaWdub3JlcyB6b29t
IHNpbmNlIGl0IGxvb2tzIG5pY2VyIGlmIGl0IHN0YXlzIHRoaW4uCisgICAgcGFpbnRJbmZvLmNv
bnRleHQtPnNldFN0cm9rZVRoaWNrbmVzcygxKTsgLy8gRGVsaWJlcmF0ZWx5IGlnbm9yZXMgem9v
bSBzaW5jZSBpdCBsb29rcyBuaWNlciBpZiBpdCBzdGF5cyB0aGluLgogICAgIHBhaW50SW5mby5j
b250ZXh0LT5zZXRTdHJva2VTdHlsZShTb2xpZFN0cm9rZSk7CiAgICAgcGFpbnRJbmZvLmNvbnRl
eHQtPnNldFN0cm9rZUNvbG9yKGxlZnRTZXBhcmF0b3JDb2xvciwgQ29sb3JTcGFjZURldmljZVJH
Qik7CiAgICAgcGFpbnRJbmZvLmNvbnRleHQtPmRyYXdMaW5lKEludFBvaW50KGxlZnRFZGdlT2ZT
ZXBhcmF0b3IsIGJvdW5kcy55KCkpLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZVNhZmFyaS5jcHAKaW5kZXggOTEyZWQyNmY5Njk4Njc3ZDM0ODdiMDQ4NjU1MWUxN2Mz
NjFkY2E0My4uMmViYmZmYzU5MzQ0MzRhMTNlNTU5ODkxOWEwZDJkNWQ2OTA3ZGQzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lU2FmYXJpLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVTYWZhcmkuY3BwCkBAIC04MDcs
MTcgKzgwNywxNyBAQCB2b2lkIFJlbmRlclRoZW1lU2FmYXJpOjpwYWludE1lbnVMaXN0QnV0dG9u
R3JhZGllbnRzKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbgogICAgIHBhaW50SW5mby5jb250
ZXh0LT5yZXN0b3JlKCk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVTYWZhcmk6OnBhaW50TWVudUxp
c3RCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgSW50UmVjdCYgcikKK2Jvb2wgUmVuZGVyVGhlbWVTYWZhcmk6OnBhaW50TWVudUxpc3RCdXR0
b25EZWNvcmF0aW9ucyhSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKLSAgICBJbnRSZWN0IGJvdW5kcyA9IElu
dFJlY3Qoci54KCkgKyBvLT5zdHlsZSgpLmJvcmRlckxlZnRXaWR0aCgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByLnkoKSArIG8tPnN0eWxlKCkuYm9yZGVyVG9wV2lkdGgoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgci53aWR0aCgpIC0gby0+c3R5bGUoKS5ib3JkZXJM
ZWZ0V2lkdGgoKSAtIG8tPnN0eWxlKCkuYm9yZGVyUmlnaHRXaWR0aCgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByLmhlaWdodCgpIC0gby0+c3R5bGUoKS5ib3JkZXJUb3BXaWR0aCgp
IC0gby0+c3R5bGUoKS5ib3JkZXJCb3R0b21XaWR0aCgpKTsKKyAgICBJbnRSZWN0IGJvdW5kcyA9
IEludFJlY3QocmVjdC54KCkgKyByZW5kZXJlci0+c3R5bGUoKS5ib3JkZXJMZWZ0V2lkdGgoKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdC55KCkgKyByZW5kZXJlci0+c3R5bGUo
KS5ib3JkZXJUb3BXaWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN0Lndp
ZHRoKCkgLSByZW5kZXJlci0+c3R5bGUoKS5ib3JkZXJMZWZ0V2lkdGgoKSAtIHJlbmRlcmVyLT5z
dHlsZSgpLmJvcmRlclJpZ2h0V2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVjdC5oZWlnaHQoKSAtIHJlbmRlcmVyLT5zdHlsZSgpLmJvcmRlclRvcFdpZHRoKCkgLSByZW5k
ZXJlci0+c3R5bGUoKS5ib3JkZXJCb3R0b21XaWR0aCgpKTsKICAgICAvLyBEcmF3IHRoZSBncmFk
aWVudHMgdG8gZ2l2ZSB0aGUgc3R5bGVkIHBvcHVwIG1lbnUgYSBidXR0b24gYXBwZWFyYW5jZQot
ICAgIHBhaW50TWVudUxpc3RCdXR0b25HcmFkaWVudHMobywgcGFpbnRJbmZvLCBib3VuZHMpOwot
ICAgIAorICAgIHBhaW50TWVudUxpc3RCdXR0b25HcmFkaWVudHMocmVuZGVyZXIsIHBhaW50SW5m
bywgYm91bmRzKTsKKwogICAgIC8vIFNpbmNlIHdlIGFjdHVhbGx5IGtub3cgdGhlIHNpemUgb2Yg
dGhlIGNvbnRyb2wgaGVyZSwgd2UgcmVzdHJpY3QgdGhlIGZvbnQgc2NhbGUgdG8gbWFrZSBzdXJl
IHRoZSBhcnJvdyB3aWxsIGZpdCB2ZXJ0aWNhbGx5IGluIHRoZSBib3VuZHMKLSAgICBmbG9hdCBm
b250U2NhbGUgPSBtaW4oby0+c3R5bGUoKS5mb250U2l6ZSgpIC8gYmFzZUZvbnRTaXplLCBib3Vu
ZHMuaGVpZ2h0KCkgLyBiYXNlQXJyb3dIZWlnaHQpOworICAgIGZsb2F0IGZvbnRTY2FsZSA9IG1p
bihyZW5kZXJlci0+c3R5bGUoKS5mb250U2l6ZSgpIC8gYmFzZUZvbnRTaXplLCBib3VuZHMuaGVp
Z2h0KCkgLyBiYXNlQXJyb3dIZWlnaHQpOwogICAgIGZsb2F0IGNlbnRlclkgPSBib3VuZHMueSgp
ICsgYm91bmRzLmhlaWdodCgpIC8gMi4wZjsKICAgICBmbG9hdCBhcnJvd0hlaWdodCA9IGJhc2VB
cnJvd0hlaWdodCAqIGZvbnRTY2FsZTsKICAgICBmbG9hdCBhcnJvd1dpZHRoID0gYmFzZUFycm93
V2lkdGggKiBmb250U2NhbGU7CkBAIC04MjgsNyArODI4LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVNh
ZmFyaTo6cGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5m
byYgcGEKIAogICAgIHBhaW50SW5mby5jb250ZXh0LT5zYXZlKCk7CiAKLSAgICBwYWludEluZm8u
Y29udGV4dC0+c2V0RmlsbENvbG9yKG8tPnN0eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENT
U1Byb3BlcnR5Q29sb3IpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICBwYWludEluZm8uY29u
dGV4dC0+c2V0RmlsbENvbG9yKHJlbmRlcmVyLT5zdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xv
cihDU1NQcm9wZXJ0eUNvbG9yKSwgQ29sb3JTcGFjZURldmljZVJHQik7CiAgICAgcGFpbnRJbmZv
LmNvbnRleHQtPnNldFN0cm9rZUNvbG9yKE5vU3Ryb2tlLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsK
IAogICAgIEZsb2F0UG9pbnQgYXJyb3dbM107CkBAIC04NDEsMTMgKzg0MSwxMyBAQCBib29sIFJl
bmRlclRoZW1lU2FmYXJpOjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29u
c3QgUGFpbnRJbmZvJiBwYQogCiAgICAgQ29sb3IgbGVmdFNlcGFyYXRvckNvbG9yKDAsIDAsIDAs
IDQwKTsKICAgICBDb2xvciByaWdodFNlcGFyYXRvckNvbG9yKDI1NSwgMjU1LCAyNTUsIDQwKTsK
LSAgICAKKwogICAgIC8vIEZJWE1FOiBTaG91bGQgdGhlIHNlcGFyYXRvciB0aGlja25lc3MgYW5k
IHNwYWNlIGJlIHNjYWxlZCB1cCBieSBmb250U2NhbGU/CiAgICAgaW50IHNlcGFyYXRvclNwYWNl
ID0gMjsKICAgICBpbnQgbGVmdEVkZ2VPZlNlcGFyYXRvciA9IHN0YXRpY19jYXN0PGludD4obGVm
dEVkZ2UgLSBhcnJvd1BhZGRpbmdMZWZ0KTsgLy8gRklYTUU6IFJvdW5kPwogCiAgICAgLy8gRHJh
dyB0aGUgc2VwYXJhdG9yIHRvIHRoZSBsZWZ0IG9mIHRoZSBhcnJvd3MKLSAgICBwYWludEluZm8u
Y29udGV4dC0+c2V0U3Ryb2tlVGhpY2tuZXNzKDEuMGYpOworICAgIHBhaW50SW5mby5jb250ZXh0
LT5zZXRTdHJva2VUaGlja25lc3MoMSk7CiAgICAgcGFpbnRJbmZvLmNvbnRleHQtPnNldFN0cm9r
ZVN0eWxlKFNvbGlkU3Ryb2tlKTsKICAgICBwYWludEluZm8uY29udGV4dC0+c2V0U3Ryb2tlQ29s
b3IobGVmdFNlcGFyYXRvckNvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKICAgICBwYWludElu
Zm8uY29udGV4dC0+ZHJhd0xpbmUoSW50UG9pbnQobGVmdEVkZ2VPZlNlcGFyYXRvciwgYm91bmRz
LnkoKSksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVT
YWZhcmkuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5oCmlu
ZGV4IDQ1N2UwZDM2NThhN2QwMjY4NDVkMjEwZGE4MTgzOWJjOGFlMmYwMDMuLmQ0YWI3Yzc0ZDI0
NjlhYTkwYTJlYmVjYzk3Mjg5ZDM1NThlYjZlNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZVNhZmFyaS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZVNhZmFyaS5oCkBAIC0xMDUsNyArMTA1LDcgQEAgcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50
SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWVudUxpc3RT
dHlsZShTdHlsZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAKLSAg
ICB2aXJ0dWFsIGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQ
YWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxp
c3RCdXR0b25EZWNvcmF0aW9ucyhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUo
U3R5bGVSZXNvbHZlciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogCiAgICAgdmly
dHVhbCBib29sIHBhaW50U2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZVdpbi5jcHAKaW5kZXggODIzMWZhNjJlOTMzN2I3NDkxMDc5NzQ4YTAwMzI3NzJlMDRkZmYwNS4u
MjVhODFjOGM0Y2QzYmI4YmEyMGMzNDk1Zjg0MjE5OGMxMGUyYzQwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCkBAIC03NzcsMTMgKzc3NywxMyBAQCBi
b29sIFJlbmRlclRoZW1lV2luOjpwYWludFRleHRGaWVsZChSZW5kZXJPYmplY3QqIG8sIGNvbnN0
IFBhaW50SW5mbyYgaSwgY29uc3QgSQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBSZW5k
ZXJUaGVtZVdpbjo6cGFpbnRNZW51TGlzdChSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5m
byYgaSwgY29uc3QgSW50UmVjdCYgcikKK2Jvb2wgUmVuZGVyVGhlbWVXaW46OnBhaW50TWVudUxp
c3QoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNv
bnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgSEFORExFIHRoZW1lOwogICAgIGludCBwYXJ0Owog
ICAgIGlmIChoYXZlVGhlbWUgJiYgKHdpbmRvd3NWZXJzaW9uKCkgPj0gV2luZG93c1Zpc3RhKSkg
ewogICAgICAgICB0aGVtZSA9IG1lbnVMaXN0VGhlbWUoKTsKLSAgICAgICAgaWYgKG8tPmZyYW1l
KCkuc2V0dGluZ3MoKS5hcHBsaWNhdGlvbkNocm9tZU1vZGUoKSkKKyAgICAgICAgaWYgKHJlbmRl
cmVyLT5mcmFtZSgpLnNldHRpbmdzKCkuYXBwbGljYXRpb25DaHJvbWVNb2RlKCkpCiAgICAgICAg
ICAgICBwYXJ0ID0gQ1BfUkVBRE9OTFk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHBhcnQg
PSBDUF9CT1JERVI7CkBAIC03OTIsOSArNzkyLDkgQEAgYm9vbCBSZW5kZXJUaGVtZVdpbjo6cGFp
bnRNZW51TGlzdChSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwgY29uc3QgSW4K
ICAgICAgICAgcGFydCA9IFRGUF9URVhURklFTEQ7CiAgICAgfQogCi0gICAgZHJhd0NvbnRyb2wo
aS5jb250ZXh0LCAgbywgdGhlbWUsIFRoZW1lRGF0YShwYXJ0LCBkZXRlcm1pbmVTdGF0ZShvKSks
IHIpOworICAgIGRyYXdDb250cm9sKGkuY29udGV4dCwgIHJlbmRlcmVyLCB0aGVtZSwgVGhlbWVE
YXRhKHBhcnQsIGRldGVybWluZVN0YXRlKHJlbmRlcmVyKSksIHJlY3QpOwogICAgIAotICAgIHJl
dHVybiBwYWludE1lbnVMaXN0QnV0dG9uKG8sIGksIHIpOworICAgIHJldHVybiBwYWludE1lbnVM
aXN0QnV0dG9uRGVjb3JhdGlvbnMocmVuZGVyZXIsIHBhaW50SW5mbywgcmVjdCk7CiB9CiAKIHZv
aWQgUmVuZGVyVGhlbWVXaW46OmFkanVzdE1lbnVMaXN0U3R5bGUoU3R5bGVSZXNvbHZlciogc3R5
bGVSZXNvbHZlciwgUmVuZGVyU3R5bGUqIHN0eWxlLCBFbGVtZW50KiBlKSBjb25zdApAQCAtODM0
LDE2ICs4MzQsMTYgQEAgdm9pZCBSZW5kZXJUaGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0b25T
dHlsZShTdHlsZVJlc29sdmVyKiBzdHlsZVJlc29sdmVyLCBSZW4KICAgICBzdHlsZS0+c2V0V2hp
dGVTcGFjZShQUkUpOwogfQogCi1ib29sIFJlbmRlclRoZW1lV2luOjpwYWludE1lbnVMaXN0QnV0
dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBpLCBjb25zdCBJbnRSZWN0JiBy
KQorYm9vbCBSZW5kZXJUaGVtZVdpbjo6cGFpbnRNZW51TGlzdEJ1dHRvbkRlY29yYXRpb25zKFJl
bmRlck9iamVjdCogcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJ
bnRSZWN0JiByZWN0KQogewogICAgIC8vIEZJWE1FOiBEb24ndCBtYWtlIGhhcmRjb2RlZCBhc3N1
bXB0aW9ucyBhYm91dCB0aGUgdGhpY2tuZXNzIG9mIHRoZSB0ZXh0ZmllbGQgYm9yZGVyLgogICAg
IGludCBib3JkZXJUaGlja25lc3MgPSBoYXZlVGhlbWUgPyAxIDogMjsKIAogICAgIC8vIFBhaW50
IHRoZSBkcm9wZG93biBidXR0b24gb24gdGhlIGlubmVyIGVkZ2Ugb2YgdGhlIHRleHQgZmllbGQs
CiAgICAgLy8gbGVhdmluZyBzcGFjZSBmb3IgdGhlIHRleHQgZmllbGQncyAxcHggYm9yZGVyCi0g
ICAgSW50UmVjdCBidXR0b25SZWN0KHIpOworICAgIEludFJlY3QgYnV0dG9uUmVjdChyZWN0KTsK
ICAgICBidXR0b25SZWN0LmluZmxhdGUoLWJvcmRlclRoaWNrbmVzcyk7Ci0gICAgaWYgKG8tPnN0
eWxlKCkuZGlyZWN0aW9uKCkgPT0gTFRSKQorICAgIGlmIChyZW5kZXJlci0+c3R5bGUoKS5kaXJl
Y3Rpb24oKSA9PSBMVFIpCiAgICAgICAgIGJ1dHRvblJlY3Quc2V0WChidXR0b25SZWN0Lm1heFgo
KSAtIGRyb3BEb3duQnV0dG9uV2lkdGgpOwogICAgIGJ1dHRvblJlY3Quc2V0V2lkdGgoZHJvcERv
d25CdXR0b25XaWR0aCk7CiAKQEAgLTg1NCw3ICs4NTQsNyBAQCBib29sIFJlbmRlclRoZW1lV2lu
OjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJbmZvJiBp
LCBjbwogICAgICAgICBidXR0b25SZWN0LnNldFdpZHRoKGJ1dHRvblJlY3Qud2lkdGgoKSArIHZp
c3RhTWVudUxpc3RCdXR0b25PdXRzZXQpOwogICAgIH0KIAotICAgIGRyYXdDb250cm9sKGkuY29u
dGV4dCwgbywgbWVudUxpc3RUaGVtZSgpLCBnZXRUaGVtZURhdGEobyksIGJ1dHRvblJlY3QpOwor
ICAgIGRyYXdDb250cm9sKHBhaW50SW5mby5jb250ZXh0LCByZW5kZXJlciwgbWVudUxpc3RUaGVt
ZSgpLCBnZXRUaGVtZURhdGEocmVuZGVyZXIpLCBidXR0b25SZWN0KTsKIAogICAgIHJldHVybiBm
YWxzZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmgKaW5kZXgg
ZDAzMjg0M2ZhYzAwODNiODlmNTNiNzhlMDg3OTM1NzRkYjQ1YzE4Yy4uZTA5ZDRjODQwMDJhOWZi
ZDUyNTg0N2E3MDQ3YWZmMmE4MTgzYjUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lV2luLmgKQEAgLTg5LDcgKzg5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBwYWludE1lbnVMaXN0KFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IElu
dFJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZShTdHls
ZVJlc29sdmVyKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAKLSAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8m
LCBjb25zdCBJbnRSZWN0Jik7CisgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b25E
ZWNvcmF0aW9ucyhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
Jik7CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTbGlkZXJUcmFjayhSZW5kZXJPYmplY3QqIG8s
IGNvbnN0IFBhaW50SW5mbyYgaSwgY29uc3QgSW50UmVjdCYgcik7CiAgICAgdmlydHVhbCBib29s
IHBhaW50U2xpZGVyVGh1bWIoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBQYWludEluZm8mIGksIGNv
bnN0IEludFJlY3QmIHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lV2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luQ0UuY3BwCmluZGV4IGNiYjgwYjkxNzM5ZTg4NzA3ZmZiNzcyOWEzNDZjMDY5N2JjMWM5NTMu
LmQzOGM1YTdhYzQ5OWExNDExZGY0YTZjNzQzZWIxYTUzOGI1ODBiMTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW5DRS5jcHAKQEAgLTI0MiwxOCArMjQyLDE4
IEBAIHZvaWQgUmVuZGVyVGhlbWVXaW5DRTo6YWRqdXN0TWVudUxpc3RTdHlsZShTdHlsZVJlc29s
dmVyKiBzdHlsZVJlc29sdmVyLCBSZW5kZXJTCiAgICAgYWRqdXN0TWVudUxpc3RCdXR0b25TdHls
ZShzdHlsZVJlc29sdmVyLCBzdHlsZSwgZSk7CiB9CiAKLWJvb2wgUmVuZGVyVGhlbWVXaW5DRTo6
cGFpbnRNZW51TGlzdChSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwgY29uc3Qg
SW50UmVjdCYgcikKK2Jvb2wgUmVuZGVyVGhlbWVXaW5DRTo6cGFpbnRNZW51TGlzdChSZW5kZXJP
YmplY3QqIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVj
dCYgcmVjdCkKIHsKLSAgICBwYWludFRleHRGaWVsZChvLCBpLCByKTsKLSAgICBwYWludE1lbnVM
aXN0QnV0dG9uKG8sIGksIHIpOworICAgIHBhaW50VGV4dEZpZWxkKHJlbmRlcmVyLCBwYWludElu
Zm8sIHJlY3QpOworICAgIHBhaW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9ucyhyZW5kZXJlciwg
cGFpbnRJbmZvLCByZWN0KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBSZW5kZXJUaGVt
ZVdpbkNFOjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUGFpbnRJ
bmZvJiBpLCBjb25zdCBJbnRSZWN0JiByKQorYm9vbCBSZW5kZXJUaGVtZVdpbkNFOjpwYWludE1l
bnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgUGFp
bnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7Ci0gICAgSW50UmVjdCBi
dXR0b25SZWN0KHIubWF4WCgpIC0gZHJvcERvd25CdXR0b25XaWR0aCAtIDEsIHIueSgpLCBkcm9w
RG93bkJ1dHRvbldpZHRoLCByLmhlaWdodCgpKTsKKyAgICBJbnRSZWN0IGJ1dHRvblJlY3QocmVj
dC5tYXhYKCkgLSBkcm9wRG93bkJ1dHRvbldpZHRoIC0gMSwgcmVjdC55KCksIGRyb3BEb3duQnV0
dG9uV2lkdGgsIHJlY3QuaGVpZ2h0KCkpOwogICAgIGJ1dHRvblJlY3QuaW5mbGF0ZVkoLTEpOwot
ICAgIGkuY29udGV4dC0+ZHJhd0ZyYW1lQ29udHJvbChidXR0b25SZWN0LCBERkNfU0NST0xMLCBE
RkNTX1NDUk9MTENPTUJPQk9YIHwgZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKG8pKTsKKyAgICBwYWlu
dEluZm8uY29udGV4dC0+ZHJhd0ZyYW1lQ29udHJvbChidXR0b25SZWN0LCBERkNfU0NST0xMLCBE
RkNTX1NDUk9MTENPTUJPQk9YIHwgZGV0ZXJtaW5lQ2xhc3NpY1N0YXRlKHJlbmRlcmVyKSk7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZVdpbkNFLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVXaW5DRS5oCmluZGV4IGY4MDI2ZTlhMWVlNzNmZmMxYjg4MTg1MmMxMGUxMGE2ODAxMjRhNjQu
LjAxMGZkMWUxYWIyYTExYWJiOGVlZWZiYzAxYTdjNWQzZGI1YjBlNTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbkNFLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luQ0UuaApAQCAtODUsNyArODUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1lbnVMaXN0KFJlbmRl
ck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICAgICAgICAgdmly
dHVhbCB2b2lkIGFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciosIFJlbmRl
clN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogCi0gICAgICAgIHZpcnR1YWwgYm9vbCBwYWludE1l
bnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJl
Y3QmKTsKKyAgICAgICAgdmlydHVhbCBib29sIHBhaW50TWVudUxpc3RCdXR0b25EZWNvcmF0aW9u
cyhSZW5kZXJPYmplY3QqLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAKICAg
ICAgICAgdmlydHVhbCBib29sIHBhaW50U2xpZGVyVHJhY2soUmVuZGVyT2JqZWN0KiBvLCBjb25z
dCBQYWludEluZm8mIGksIGNvbnN0IEludFJlY3QmIHIpOwogICAgICAgICB2aXJ0dWFsIGJvb2wg
cGFpbnRTbGlkZXJUaHVtYihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYgaSwgY29u
c3QgSW50UmVjdCYgcik7Cg==
</data>
<flag name="review"
          id="241747"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>