<?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>185092</bug_id>
          
          <creation_ts>2018-04-27 14:37:08 -0700</creation_ts>
          <short_desc>Implement animation for color-filter</short_desc>
          <delta_ts>2018-04-27 17:28:21 -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>New Bugs</component>
          <version>WebKit 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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1418631</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-04-27 14:37:08 -0700</bug_when>
    <thetext>Implement animation for color-filter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418632</commentid>
    <comment_count>1</comment_count>
      <attachid>339031</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-04-27 14:40:40 -0700</bug_when>
    <thetext>Created attachment 339031
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418634</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-04-27 14:41:08 -0700</bug_when>
    <thetext>rdar://problem/39773810</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418637</commentid>
    <comment_count>3</comment_count>
      <attachid>339032</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-04-27 14:57:50 -0700</bug_when>
    <thetext>Created attachment 339032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418640</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-04-27 14:59:30 -0700</bug_when>
    <thetext>Attachment 339032 did not pass style-queue:


ERROR: Source/WebCore/page/animation/CSSPropertyAnimation.cpp:699:  Line contains only semicolon. If this should be an empty statement, use { } instead.  [whitespace/semicolon] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418654</commentid>
    <comment_count>5</comment_count>
      <attachid>339032</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-04-27 15:55:52 -0700</bug_when>
    <thetext>Comment on attachment 339032
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        The filter-related ProperyWappers in CSSPropertyAnimation are cleaned up to use a single wrapper,

nice!

&gt; Source/WebCore/ChangeLog:16
&gt; +        This wrapper reports that its accelerated for filter and backdrop-filter, but not color-filter.

its accelerated what</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1418695</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-04-27 17:28:21 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/231123/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339031</attachid>
            <date>2018-04-27 14:40:40 -0700</date>
            <delta_ts>2018-04-27 14:57:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185092-20180427144039.patch</filename>
            <type>text/plain</type>
            <size>22467</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFmMzBjZTU5MTQ1MGIx
NTI5N2YzYjRiZjYyNDU3NDg1MTY0NjQ1My4uZjE0ZWVhYjI0YjkzNmI4MDM2YjBhZmMwNWZiYmMx
M2M0ZDk1YzViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTA0LTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBh
bmltYXRpb24gZm9yIGNvbG9yLWZpbHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MDkyCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM5NzczODEw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICBJbXBsZW1lbnQgYW5pbWF0aW9uIG9mIGNvbG9yLWZpbHRlci4KKyAgICAgICAgCisgICAgICAg
IFRoaXMgcmVxdWlyZXMgdHJhY2tpbmcgd2hldGhlciB0aGUgY29sb3ItZmlsdGVyIGZ1bmN0aW9u
IGxpc3RzIG1hdGNoIGZvciBib3RoIG9sZCBhbmQgbmV3CisgICAgICAgIGFuaW1hdGlvbiBjb2Rl
IHBhdGhzLgorICAgICAgICAKKyAgICAgICAgVGhlIGZpbHRlci1yZWxhdGVkIFByb3BlcnlXYXBw
ZXJzIGluIENTU1Byb3BlcnR5QW5pbWF0aW9uIGFyZSBjbGVhbmVkIHVwIHRvIHVzZSBhIHNpbmds
ZSB3cmFwcGVyLAorICAgICAgICB3aGljaCBoYXMgdG8gcGFzcyB0aGUgcHJvcGVydHlJRCB0byB0
aGUgYmxlbmQgZnVuY3Rpb24gc28gd2Uga25vdyB3aGljaCAibGlzdHMgbWF0Y2giIHRvIGNoZWNr
LgorICAgICAgICBUaGlzIHdyYXBwZXIgcmVwb3J0cyB0aGF0IGl0cyBhY2NlbGVyYXRlZCBmb3Ig
ZmlsdGVyIGFuZCBiYWNrZHJvcC1maWx0ZXIsIGJ1dCBub3QgY29sb3ItZmlsdGVyLgorCisgICAg
ICAgIFRlc3Q6IGNzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItYW5pbWF0aW9uLmh0bWwK
KworICAgICAgICAqIGFuaW1hdGlvbi9DU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50Lmg6CisgICAg
ICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9ubHkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6c2V0QmxlbmRpbmdLZXlmcmFtZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6Y2hlY2tGb3JNYXRjaGluZ0Nv
bG9yRmlsdGVyRnVuY3Rpb25MaXN0cyk6CisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0UmVhZE9ubHkuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmg6
CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6YmxlbmRGdW5jKToKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3Jh
cHBlckZpbHRlcjo6UHJvcGVydHlXcmFwcGVyRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5QW5pbWF0aW9uV3JhcHBlck1hcDo6Q1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVy
TWFwKToKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkRmlsdGVy
OjpQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEZpbHRlcik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEJhY2tkcm9wRmlsdGVyOjpQcm9wZXJ0
eVdyYXBwZXJBY2NlbGVyYXRlZEJhY2tkcm9wRmlsdGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkQmFja2Ryb3BGaWx0ZXI6OmFuaW1hdGlv
bklzQWNjZWxlcmF0ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVy
dHlXcmFwcGVyQWNjZWxlcmF0ZWRCYWNrZHJvcEZpbHRlcjo6YmxlbmQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjpyZXNldCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbXBsaWNpdEFuaW1hdGlvbjo6Y2hlY2tGb3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25M
aXN0cyk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaDoKKyAg
ICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6S2V5ZnJhbWVBbmltYXRpb246OmNoZWNrRm9yTWF0Y2hpbmdDb2xvckZpbHRlckZ1
bmN0aW9uTGlzdHMpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9u
Lmg6CisKIDIwMTgtMDQtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVmYWN0b3IgZmlsdGVyIGxpc3QgY2hlY2tpbmcgY29kZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50LmgKaW5k
ZXggNDI5YzNiYjFhNzcxOWM1NTdhYWE5ZDBkYWEwYTRjMTlhNDVhOWNjYS4uMGQ3NzQ3ZWJjZjFj
YjU3YTFlOGI3Y2FkMmRjNmIxMDJjZTY4YmYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudC5oCkBAIC00MSw2ICs0MSw3IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQogICAgIHZpcnR1YWwgYm9vbCBi
YWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpIGNvbnN0ID0gMDsKICNlbmRpZgorICAg
IHZpcnR1YWwgYm9vbCBjb2xvckZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpIGNvbnN0ID0gMDsK
IAogICAgIHZpcnR1YWwgfkNTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQoKSA9IGRlZmF1bHQ7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVh
ZE9ubHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9u
bHkuY3BwCmluZGV4IGVmYWQ2NDdiYmQ4ODQxZWU3NmFhNDY0MzlkM2M3YmM1YjRhZDU1YzcuLjU0
ZmFkNTcyNmU5NzkyMGRmNmRjMjc2ODI3ZmQwNTM5OWU4Y2Q5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5jcHAKQEAgLTcyNCw2
ICs3MjQsNyBAQCB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OnNldEJsZW5kaW5nS2V5ZnJh
bWVzKEtleWZyYW1lTGlzdCYgYmxlbmRpbmdLZXlmcmFtZQogI2lmIEVOQUJMRShGSUxURVJTX0xF
VkVMXzIpCiAgICAgY2hlY2tGb3JNYXRjaGluZ0JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0cygp
OwogI2VuZGlmCisgICAgY2hlY2tGb3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygp
OwogfQogCiB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNoZWNrRm9yTWF0Y2hpbmdUcmFu
c2Zvcm1GdW5jdGlvbkxpc3RzKCkKQEAgLTgxNCw2ICs4MTUsMTMgQEAgdm9pZCBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5OjpjaGVja0Zvck1hdGNoaW5nQmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3Rz
KCkKIH0KICNlbmRpZgogCit2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNoZWNrRm9yTWF0
Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMoKQoreworICAgIG1fY29sb3JGaWx0ZXJGdW5j
dGlvbkxpc3RzTWF0Y2ggPSBjaGVja0Zvck1hdGNoaW5nRmlsdGVyRnVuY3Rpb25MaXN0cyhDU1NQ
cm9wZXJ0eUNvbG9yRmlsdGVyLCBbXSAoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKSAtPiBjb25z
dCBGaWx0ZXJPcGVyYXRpb25zJiB7CisgICAgICAgIHJldHVybiBzdHlsZS5jb2xvckZpbHRlcigp
OworICAgIH0pOworfQorCiB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNvbXB1dGVEZWNs
YXJhdGl2ZUFuaW1hdGlvbkJsZW5kaW5nS2V5ZnJhbWVzKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIG5ld1N0eWxlKQogewogICAgIEFTU0VSVChpczxEZWNs
YXJhdGl2ZUFuaW1hdGlvbj4oYW5pbWF0aW9uKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmggYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5oCmluZGV4IDU5ZDIyMjkzOGIyM2ZjOTYz
OTYxMjM5N2ZhNzhlY2U1MGEzYzNlOGYuLjRjZjgzNTM4NWJkOGIyODYzYzU3NWI5ZWNjM2ViOWJh
ZjU5OTI0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0UmVhZE9ubHkuaApAQCAtMTExLDYgKzExMSw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoRklM
VEVSU19MRVZFTF8yKQogICAgIGJvb2wgYmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0Y2go
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0c01h
dGNoOyB9CiAjZW5kaWYKKyAgICBib29sIGNvbG9yRmlsdGVyRnVuY3Rpb25MaXN0c01hdGNoKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jb2xvckZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaDsg
fQogCiAgICAgdm9pZCBjb21wdXRlRGVjbGFyYXRpdmVBbmltYXRpb25CbGVuZGluZ0tleWZyYW1l
cyhjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHls
ZSk7CiAgICAgYm9vbCBzdHlsZXNXb3VsZFlpZWxkTmV3Q1NTVHJhbnNpdGlvbnNCbGVuZGluZ0tl
eWZyYW1lcyhjb25zdCBSZW5kZXJTdHlsZSYgb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlJiBu
ZXdTdHlsZSkgY29uc3Q7CkBAIC0xNDksNiArMTUwLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUo
RklMVEVSU19MRVZFTF8yKQogICAgIHZvaWQgY2hlY2tGb3JNYXRjaGluZ0JhY2tkcm9wRmlsdGVy
RnVuY3Rpb25MaXN0cygpOwogI2VuZGlmCisgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nQ29sb3JG
aWx0ZXJGdW5jdGlvbkxpc3RzKCk7CiAKICAgICBib29sIGNoZWNrRm9yTWF0Y2hpbmdGaWx0ZXJG
dW5jdGlvbkxpc3RzKENTU1Byb3BlcnR5SUQsIGNvbnN0IHN0ZDo6ZnVuY3Rpb248Y29uc3QgRmls
dGVyT3BlcmF0aW9ucyYgKGNvbnN0IFJlbmRlclN0eWxlJik+JikgY29uc3Q7CiAKQEAgLTE2Miw2
ICsxNjQsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCiAgICAgYm9v
bCBtX2JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0c01hdGNoIHsgZmFsc2UgfTsKICNlbmRpZgor
ICAgIGJvb2wgbV9jb2xvckZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCB7IGZhbHNlIH07CiAKICAg
ICBSZWZQdHI8RWxlbWVudD4gbV90YXJnZXQ7CiAgICAgS2V5ZnJhbWVMaXN0IG1fYmxlbmRpbmdL
ZXlmcmFtZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNl
LmgKaW5kZXggNGM3MzNmMWM0MDVjMWYwYjI1MDFjNjdjNmVkODlhN2I1OGRlMTRlOS4uYjRkMzc0
M2M5NTAxNzljYWMyMGMyNDU3YmIwZDE2OGExYTZmZTZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaApAQCAtMTg2LDYgKzE4Niw3IEBAIHB1Ymxp
YzoKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQogICAgIGJvb2wgYmFja2Ryb3BGaWx0ZXJG
dW5jdGlvbkxpc3RzTWF0Y2goKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2JhY2tkcm9wRmls
dGVyRnVuY3Rpb25MaXN0c01hdGNoOyB9CiAjZW5kaWYKKyAgICBib29sIGNvbG9yRmlsdGVyRnVu
Y3Rpb25MaXN0c01hdGNoKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jb2xvckZpbHRlckZ1
bmN0aW9uTGlzdHNNYXRjaDsgfQogCiAgICAgLy8gRnJlZXplIHRoZSBhbmltYXRpb247IHVzZWQg
YnkgRHVtcFJlbmRlclRyZWUuCiAgICAgdm9pZCBmcmVlemVBdFRpbWUoZG91YmxlIHQpOwpAQCAt
MjYwLDYgKzI2MSw3IEBAIHByb3RlY3RlZDoKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQog
ICAgIGJvb2wgbV9iYWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCB7IGZhbHNlIH07CiAj
ZW5kaWYKKyAgICBib29sIG1fY29sb3JGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0Y2ggeyBmYWxzZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCmluZGV4IDdlZmNiNTRi
YzA1NWViMzcxMWMwYjg4ZDg0NjM4YTc4OWEyOGQwNzYuLjE2NTQzM2ExNTU2ZmVmM2I5OWNhZDQ0
ODJlMDA3Y2FjMjc2MGQxNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKQEAgLTIwMCwxOCArMjAwLDMwIEBAIHN0
YXRpYyBpbmxpbmUgRmlsdGVyT3BlcmF0aW9ucyBibGVuZEZpbHRlck9wZXJhdGlvbnMoY29uc3Qg
Q1NTUHJvcGVydHlCbGVuZGluZ0NsCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGlu
bGluZSBGaWx0ZXJPcGVyYXRpb25zIGJsZW5kRnVuYyhjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5n
Q2xpZW50KiBhbmltLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiBmcm9tLCBjb25zdCBGaWx0ZXJP
cGVyYXRpb25zJiB0bywgZG91YmxlIHByb2dyZXNzLCBib29sIGFuaW1hdGluZ0JhY2tkcm9wRmls
dGVyID0gZmFsc2UpCitzdGF0aWMgaW5saW5lIEZpbHRlck9wZXJhdGlvbnMgYmxlbmRGdW5jKGNv
bnN0IENTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQqIGFuaW0sIGNvbnN0IEZpbHRlck9wZXJhdGlv
bnMmIGZyb20sIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmIHRvLCBkb3VibGUgcHJvZ3Jlc3MsIENT
U1Byb3BlcnR5SUQgcHJvcGVydHlJRCA9IENTU1Byb3BlcnR5RmlsdGVyKQogewogICAgIEZpbHRl
ck9wZXJhdGlvbnMgcmVzdWx0OwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIGZpbHRlciBmdW5jdGlv
biBsaXN0LCB1c2UgdGhhdCB0byBkbyBhIHBlci1mdW5jdGlvbiBhbmltYXRpb24uCisgICAgCisg
ICAgYm9vbCBsaXN0c01hdGNoID0gZmFsc2U7CisgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eUZpbHRlcjoKKyAgICAgICAgbGlzdHNNYXRjaCA9IGFuaW0tPmZp
bHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpOworICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoRklM
VEVSU19MRVZFTF8yKQotICAgIGlmICgoIWFuaW1hdGluZ0JhY2tkcm9wRmlsdGVyICYmIGFuaW0t
PmZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpKSB8fCAoYW5pbWF0aW5nQmFja2Ryb3BGaWx0ZXIg
JiYgYW5pbS0+YmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0Y2goKSkpCi0jZWxzZQotICAg
IFVOVVNFRF9QQVJBTShhbmltYXRpbmdCYWNrZHJvcEZpbHRlcik7Ci0gICAgaWYgKGFuaW0tPmZp
bHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCYWNr
ZHJvcEZpbHRlcjoKKyAgICAgICAgbGlzdHNNYXRjaCA9IGFuaW0tPmJhY2tkcm9wRmlsdGVyRnVu
Y3Rpb25MaXN0c01hdGNoKCk7CisgICAgICAgIGJyZWFrOwogI2VuZGlmCi0KKyAgICBjYXNlIENT
U1Byb3BlcnR5Q29sb3JGaWx0ZXI6CisgICAgICAgIGxpc3RzTWF0Y2ggPSBhbmltLT5jb2xvckZp
bHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgCisgICAgaWYgKGxpc3RzTWF0Y2gpCiAgICAgICAg
IHJlc3VsdCA9IGJsZW5kRmlsdGVyT3BlcmF0aW9ucyhhbmltLCBmcm9tLCB0bywgcHJvZ3Jlc3Mp
OwogICAgIGVsc2UgewogICAgICAgICAvLyBJZiB0aGUgZmlsdGVyIGZ1bmN0aW9uIGxpc3RzIGRv
bid0IG1hdGNoLCB3ZSBjb3VsZCB0cnkgdG8gY3Jvc3MtZmFkZSwgYnV0IGRvbid0IHlldCBoYXZl
IGEgd2F5IHRvIHJlcHJlc2VudCB0aGF0IGluIENTUy4KQEAgLTY3MCw0MCArNjgyLDIyIEBAIHB1
YmxpYzoKICAgICB9CiB9OwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEZpbHRl
ciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+IHsKK2Ns
YXNzIFByb3BlcnR5V3JhcHBlckZpbHRlciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXI8Y29uc3Qg
RmlsdGVyT3BlcmF0aW9ucyY+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEZpbHRlcigpCi0gICAgICAgIDogUHJv
cGVydHlXcmFwcGVyPGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmPihDU1NQcm9wZXJ0eUZpbHRlciwg
JlJlbmRlclN0eWxlOjpmaWx0ZXIsICZSZW5kZXJTdHlsZTo6c2V0RmlsdGVyKQorICAgIFByb3Bl
cnR5V3JhcHBlckZpbHRlcihDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMmIChSZW5kZXJTdHlsZTo6KmdldHRlcikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5
bGU6OipzZXR0ZXIpKGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKSkKKyAgICAgICAgOiBQcm9wZXJ0
eVdyYXBwZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+KHByb3BlcnR5SUQsIGdldHRlciwgc2V0
dGVyKQogICAgIHsKICAgICB9CiAKLSAgICBib29sIGFuaW1hdGlvbklzQWNjZWxlcmF0ZWQoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBhbmltYXRpb25Jc0FjY2Vs
ZXJhdGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcHJvcGVydHkoKSA9PSBDU1NQcm9wZXJ0
eUZpbHRlciB8fCBwcm9wZXJ0eSgpID09IENTU1Byb3BlcnR5V2Via2l0QmFja2Ryb3BGaWx0ZXI7
IH0KIAogICAgIHZvaWQgYmxlbmQoY29uc3QgQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudCogYW5p
bSwgUmVuZGVyU3R5bGUqIGRzdCwgY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0IFJlbmRlclN0
eWxlKiBiLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0IG92ZXJyaWRlCiAgICAgewotICAgICAgICBk
c3QtPnNldEZpbHRlcihibGVuZEZ1bmMoYW5pbSwgYS0+ZmlsdGVyKCksIGItPmZpbHRlcigpLCBw
cm9ncmVzcykpOworICAgICAgICAoZHN0LT4qbV9zZXR0ZXIpKGJsZW5kRnVuYyhhbmltLCAoYS0+
KlByb3BlcnR5V3JhcHBlckdldHRlcjxjb25zdCBGaWx0ZXJPcGVyYXRpb25zJj46Om1fZ2V0dGVy
KSgpLCAoYi0+KlByb3BlcnR5V3JhcHBlckdldHRlcjxjb25zdCBGaWx0ZXJPcGVyYXRpb25zJj46
Om1fZ2V0dGVyKSgpLCBwcm9ncmVzcywgcHJvcGVydHkoKSkpOwogICAgIH0KIH07CiAKLSNpZiBF
TkFCTEUoRklMVEVSU19MRVZFTF8yKQotY2xhc3MgUHJvcGVydHlXcmFwcGVyQWNjZWxlcmF0ZWRC
YWNrZHJvcEZpbHRlciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXI8Y29uc3QgRmlsdGVyT3BlcmF0
aW9ucyY+IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBQcm9w
ZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEJhY2tkcm9wRmlsdGVyKCkKLSAgICAgICAgOiBQcm9wZXJ0
eVdyYXBwZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+KENTU1Byb3BlcnR5V2Via2l0QmFja2Ry
b3BGaWx0ZXIsICZSZW5kZXJTdHlsZTo6YmFja2Ryb3BGaWx0ZXIsICZSZW5kZXJTdHlsZTo6c2V0
QmFja2Ryb3BGaWx0ZXIpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgYm9vbCBhbmltYXRp
b25Jc0FjY2VsZXJhdGVkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgdmlydHVhbCB2
b2lkIGJsZW5kKGNvbnN0IENTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQqIGFuaW0sIFJlbmRlclN0
eWxlKiBkc3QsIGNvbnN0IFJlbmRlclN0eWxlKiBhLCBjb25zdCBSZW5kZXJTdHlsZSogYiwgZG91
YmxlIHByb2dyZXNzKSBjb25zdAotICAgIHsKLSAgICAgICAgZHN0LT5zZXRCYWNrZHJvcEZpbHRl
cihibGVuZEZ1bmMoYW5pbSwgYS0+YmFja2Ryb3BGaWx0ZXIoKSwgYi0+YmFja2Ryb3BGaWx0ZXIo
KSwgcHJvZ3Jlc3MsIHRydWUpKTsKLSAgICB9Ci19OwotI2VuZGlmCi0KIHN0YXRpYyBpbmxpbmUg
c2l6ZV90IHNoYWRvd0xpc3RMZW5ndGgoY29uc3QgU2hhZG93RGF0YSogc2hhZG93KQogewogICAg
IHNpemVfdCBjb3VudDsKQEAgLTE1NTgsMTAgKzE1NTIsMTMgQEAgQ1NTUHJvcGVydHlBbmltYXRp
b25XcmFwcGVyTWFwOjpDU1NQcm9wZXJ0eUFuaW1hdGlvbldyYXBwZXJNYXAoKQogCiAgICAgICAg
IG5ldyBQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZE9wYWNpdHkoKSwKICAgICAgICAgbmV3IFBy
b3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkVHJhbnNmb3JtKCksCi0gICAgICAgIG5ldyBQcm9wZXJ0
eVdyYXBwZXJBY2NlbGVyYXRlZEZpbHRlcigpLAorICAgICAgICAKKyAgICAgICAgbmV3IFByb3Bl
cnR5V3JhcHBlckZpbHRlcihDU1NQcm9wZXJ0eUZpbHRlciwgJlJlbmRlclN0eWxlOjpmaWx0ZXIs
ICZSZW5kZXJTdHlsZTo6c2V0RmlsdGVyKSwKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQot
ICAgICAgICBuZXcgUHJvcGVydHlXcmFwcGVyQWNjZWxlcmF0ZWRCYWNrZHJvcEZpbHRlcigpLAor
ICAgICAgICBuZXcgUHJvcGVydHlXcmFwcGVyRmlsdGVyKENTU1Byb3BlcnR5V2Via2l0QmFja2Ry
b3BGaWx0ZXIsICZSZW5kZXJTdHlsZTo6YmFja2Ryb3BGaWx0ZXIsICZSZW5kZXJTdHlsZTo6c2V0
QmFja2Ryb3BGaWx0ZXIpLAogI2VuZGlmCisgICAgICAgIG5ldyBQcm9wZXJ0eVdyYXBwZXJGaWx0
ZXIoQ1NTUHJvcGVydHlDb2xvckZpbHRlciwgJlJlbmRlclN0eWxlOjpjb2xvckZpbHRlciwgJlJl
bmRlclN0eWxlOjpzZXRDb2xvckZpbHRlciksCisKICAgICAgICAgbmV3IFByb3BlcnR5V3JhcHBl
ckNsaXBQYXRoKENTU1Byb3BlcnR5V2Via2l0Q2xpcFBhdGgsICZSZW5kZXJTdHlsZTo6Y2xpcFBh
dGgsICZSZW5kZXJTdHlsZTo6c2V0Q2xpcFBhdGgpLAogCiAgICAgICAgIG5ldyBQcm9wZXJ0eVdy
YXBwZXJTaGFwZShDU1NQcm9wZXJ0eVNoYXBlT3V0c2lkZSwgJlJlbmRlclN0eWxlOjpzaGFwZU91
dHNpZGUsICZSZW5kZXJTdHlsZTo6c2V0U2hhcGVPdXRzaWRlKSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcAppbmRleCBjNmM3ZDE4
Zjg3OTYzY2IyYTk4YjEyMTdiZjliYzYwN2ViMTc3Njg1Li4wODBjZmNjZGNjNjgwOGIwODYyZjJh
YmE3MGY1OGZlMDEzODlhNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCkBAIC0yMTUsNiArMjE1LDcgQEAgdm9pZCBJbXBs
aWNpdEFuaW1hdGlvbjo6cmVzZXQoY29uc3QgUmVuZGVyU3R5bGUmIHRvLCBDb21wb3NpdGVBbmlt
YXRpb24mIGNvbXBvc2kKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQogICAgIGNoZWNrRm9y
TWF0Y2hpbmdCYWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKICNlbmRpZgorICAgIGNoZWNr
Rm9yTWF0Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKIH0KIAogdm9pZCBJbXBsaWNp
dEFuaW1hdGlvbjo6c2V0T3ZlcnJpZGRlbihib29sIGIpCkBAIC0zMTEsNiArMzEyLDE2IEBAIHZv
aWQgSW1wbGljaXRBbmltYXRpb246OmNoZWNrRm9yTWF0Y2hpbmdCYWNrZHJvcEZpbHRlckZ1bmN0
aW9uTGlzdHMoKQogfQogI2VuZGlmCiAKK3ZvaWQgSW1wbGljaXRBbmltYXRpb246OmNoZWNrRm9y
TWF0Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMoKQoreworICAgIG1fZmlsdGVyRnVuY3Rp
b25MaXN0c01hdGNoID0gZmFsc2U7CisKKyAgICBpZiAoIW1fZnJvbVN0eWxlIHx8ICFtX3RvU3R5
bGUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY29sb3JGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0
Y2ggPSBmaWx0ZXJPcGVyYXRpb25zTWF0Y2goJm1fZnJvbVN0eWxlLT5jb2xvckZpbHRlcigpLCBt
X3RvU3R5bGUtPmNvbG9yRmlsdGVyKCkpOworfQorCiBzdGQ6Om9wdGlvbmFsPFNlY29uZHM+IElt
cGxpY2l0QW5pbWF0aW9uOjp0aW1lVG9OZXh0U2VydmljZSgpCiB7CiAgICAgc3RkOjpvcHRpb25h
bDxTZWNvbmRzPiB0ID0gQW5pbWF0aW9uQmFzZTo6dGltZVRvTmV4dFNlcnZpY2UoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oCmluZGV4
IGIyODExNWNkYWUxZDljN2RiYWVhNzEwODg1Y2EyMDhlZmU4MWExY2EuLjkyMWVmNzgwNzU1Y2Jm
YWY4MjFjNzQ1NmYyODBkNTllYjYxM2JiNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaApAQCAtODYsNiArODYsNyBAQCBwcm90ZWN0
ZWQ6CiAjaWYgRU5BQkxFKEZJTFRFUlNfTEVWRUxfMikKICAgICB2b2lkIGNoZWNrRm9yTWF0Y2hp
bmdCYWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKICNlbmRpZgorICAgIHZvaWQgY2hlY2tG
b3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogCiBwcml2YXRlOgogICAgIElt
cGxpY2l0QW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiYsIENTU1Byb3BlcnR5SUQsIEVsZW1lbnQm
LCBDb21wb3NpdGVBbmltYXRpb24mLCBjb25zdCBSZW5kZXJTdHlsZSYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCmluZGV4IDU2
NGY0ODk1NzNkNTQwOGFmZjcyZTU5NTAwNTI5YTE5NmIwNzU4MTUuLjczYTZmMzhhZTE4ODBjY2Uy
OWMyNzU0NTg5OTI0ZDk0OTZkZTZkZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKQEAgLTU4LDYgKzU4LDggQEAgS2V5ZnJh
bWVBbmltYXRpb246OktleWZyYW1lQW5pbWF0aW9uKGNvbnN0IEFuaW1hdGlvbiYgYW5pbWF0aW9u
LCBFbGVtZW50JiBlbGVtZW4KICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQogICAgIGNoZWNr
Rm9yTWF0Y2hpbmdCYWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKICNlbmRpZgorICAgIGNo
ZWNrRm9yTWF0Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKKwogICAgIGNvbXB1dGVT
dGFja2luZ0NvbnRleHRJbXBhY3QoKTsKICAgICBjb21wdXRlTGF5b3V0RGVwZW5kZW5jeSgpOwog
fQpAQCAtNDkzLDYgKzQ5NSwxMyBAQCB2b2lkIEtleWZyYW1lQW5pbWF0aW9uOjpjaGVja0Zvck1h
dGNoaW5nQmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3RzKCkKIH0KICNlbmRpZgogCit2b2lkIEtl
eWZyYW1lQW5pbWF0aW9uOjpjaGVja0Zvck1hdGNoaW5nQ29sb3JGaWx0ZXJGdW5jdGlvbkxpc3Rz
KCkKK3sKKyAgICBtX2NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0c01hdGNoID0gY2hlY2tGb3JNYXRj
aGluZ0ZpbHRlckZ1bmN0aW9uTGlzdHMoQ1NTUHJvcGVydHlDb2xvckZpbHRlciwgW10gKGNvbnN0
IFJlbmRlclN0eWxlJiBzdHlsZSkgLT4gY29uc3QgRmlsdGVyT3BlcmF0aW9ucyYgeworICAgICAg
ICByZXR1cm4gc3R5bGUuY29sb3JGaWx0ZXIoKTsKKyAgICB9KTsKK30KKwogc3RkOjpvcHRpb25h
bDxTZWNvbmRzPiBLZXlmcmFtZUFuaW1hdGlvbjo6dGltZVRvTmV4dFNlcnZpY2UoKQogewogICAg
IHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gdCA9IEFuaW1hdGlvbkJhc2U6OnRpbWVUb05leHRTZXJ2
aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFt
ZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmlt
YXRpb24uaAppbmRleCAyMDhhYTZmZWQxM2MxNDg2M2I4YTAzNTExZjg2ODU5MWFhNGY3YjFjLi5k
MTgwYzBlMGJhYTY3MDEyZjAyMGZhYTliNWY0ZTUwMDk5OGEyM2U1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKQEAgLTkxLDYgKzkx
LDcgQEAgcHJvdGVjdGVkOgogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCiAgICAgdm9pZCBj
aGVja0Zvck1hdGNoaW5nQmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3RzKCk7CiAjZW5kaWYKKyAg
ICB2b2lkIGNoZWNrRm9yTWF0Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKICAgICBi
b29sIGNoZWNrRm9yTWF0Y2hpbmdGaWx0ZXJGdW5jdGlvbkxpc3RzKENTU1Byb3BlcnR5SUQsIGNv
bnN0IHN0ZDo6ZnVuY3Rpb248Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyYgKGNvbnN0IFJlbmRlclN0
eWxlJik+JikgY29uc3Q7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDY1ZThmYWZjYzE4ZDI4ZThjYmI4
YzU5YTQyMWM1MmM2NmE0Y2UyOS4uYTA4YmMyYjEyYzBiODk3ZjMxZmQ0YmY4Y2Y0MTZlY2IwODQw
NWVjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE4LTA0LTI3ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBhbmltYXRpb24gZm9y
IGNvbG9yLWZpbHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg1MDkyCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM5NzczODEwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBGaXggdGhlIHRl
c3RpbmcgdG8gcmVjb2duaXplIHVucHJlZml4ZWQgZmlsdGVyLCBhbmQgY29sb3ItZmlsdGVyLgor
ICAgICAgICAKKyAgICAgICAgQWRkIGEgY29sb3ItZmlsdGVyIGFuaW1hdGlvbiB0ZXN0LgorCisg
ICAgICAgICogYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qczoK
KyAgICAgICAgKGdldFByb3BlcnR5VmFsdWUpOgorICAgICAgICAoY29tcGFyZVByb3BlcnR5VmFs
dWUpOgorICAgICAgICAqIGNzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItYW5pbWF0aW9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9y
LWZpbHRlci1hbmltYXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTgtMDQtMjcgIENocmlzdG9waGVy
IFJlaWQgIDxjaHJpcy5yZWlkQHNvbnkuY29tPgogCiAgICAgICAgIFVSTDo6YXBwZW5kRW5jb2Rl
ZEhvc3ROYW1lIGlzIHVzaW5nIHRoZSBkZXByZWNhdGVkIHVpZG5hX0lETlRvQVNDSUkgZnVuY3Rp
b24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlv
bi10ZXN0LWhlbHBlcnMuanMgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL3Jlc291cmNlcy9hbmlt
YXRpb24tdGVzdC1oZWxwZXJzLmpzCmluZGV4IDg1Yzk4Mjg4NDc0YjMxYjMxYjQwYzk1MTk0ZGQ2
OGM0ZmM5OTUyZDguLmFhYzkwNWQyMDMyMGQwOWNkZTQxYTUwMTEwNjEyMWU4NGQ5MDhmMjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0
LWhlbHBlcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0
aW9uLXRlc3QtaGVscGVycy5qcwpAQCAtNDMwLDYgKzQzMCw4IEBAIGZ1bmN0aW9uIGdldFByb3Bl
cnR5VmFsdWUocHJvcGVydHksIGVsZW1lbnRJZCwgaWZyYW1lSWQpCiAgICAgICAgICAgICAgICB8
fCBwcm9wZXJ0eSA9PSAibGlzdFN0eWxlSW1hZ2UiCiAgICAgICAgICAgICAgICB8fCBwcm9wZXJ0
eSA9PSAid2Via2l0TWFza0ltYWdlIgogICAgICAgICAgICAgICAgfHwgcHJvcGVydHkgPT0gIndl
YmtpdE1hc2tCb3hJbWFnZSIKKyAgICAgICAgICAgICAgIHx8IHByb3BlcnR5ID09ICJmaWx0ZXIi
CisgICAgICAgICAgICAgICB8fCBwcm9wZXJ0eSA9PSAiY29sb3JGaWx0ZXIiCiAgICAgICAgICAg
ICAgICB8fCBwcm9wZXJ0eSA9PSAid2Via2l0RmlsdGVyIgogICAgICAgICAgICAgICAgfHwgcHJv
cGVydHkgPT0gIndlYmtpdEJhY2tkcm9wRmlsdGVyIgogICAgICAgICAgICAgICAgfHwgcHJvcGVy
dHkgPT0gIndlYmtpdENsaXBQYXRoIgpAQCAtNDY5LDcgKzQ3MSw3IEBAIGZ1bmN0aW9uIGNvbXBh
cmVQcm9wZXJ0eVZhbHVlKHByb3BlcnR5LCBjb21wdXRlZFZhbHVlLCBleHBlY3RlZFZhbHVlLCB0
b2xlcmFuY2UpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAg
ICAgICB9Ci0gICAgfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSAid2Via2l0RmlsdGVyIiB8fCBwcm9w
ZXJ0eSA9PSAid2Via2l0QmFja2Ryb3BGaWx0ZXIiKSB7CisgICAgfSBlbHNlIGlmIChwcm9wZXJ0
eSA9PSAid2Via2l0RmlsdGVyIiB8fCBwcm9wZXJ0eSA9PSAid2Via2l0QmFja2Ryb3BGaWx0ZXIi
IHx8IHByb3BlcnR5ID09ICJmaWx0ZXIiIHx8IHByb3BlcnR5ID09ICJjb2xvckZpbHRlciIpIHsK
ICAgICAgICAgdmFyIGZpbHRlclBhcmFtZXRlcnMgPSBwYXJzZUZpbHRlckZ1bmN0aW9uTGlzdChj
b21wdXRlZFZhbHVlKTsKICAgICAgICAgdmFyIGZpbHRlcjJQYXJhbWV0ZXJzID0gcGFyc2VGaWx0
ZXJGdW5jdGlvbkxpc3QoZXhwZWN0ZWRWYWx1ZSk7CiAgICAgICAgIHJlc3VsdCA9IGNvbXBhcmVG
aWx0ZXJGdW5jdGlvbnMoZmlsdGVyUGFyYW1ldGVycywgZmlsdGVyMlBhcmFtZXRlcnMsIHRvbGVy
YW5jZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NvbG9yLWZpbHRlcnMvY29sb3It
ZmlsdGVyLWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NvbG9yLWZp
bHRlcnMvY29sb3ItZmlsdGVyLWFuaW1hdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Ji
MGM4NzliZGZiZGRjZjZkMWQ5ZDJiZDZjMDdhZDhjNmJmMGQ1NQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItYW5pbWF0aW9uLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisgICAgICAgCitQQVNTIC0gImNvbG9yRmlsdGVy
IiBwcm9wZXJ0eSBmb3IgImdyYXlzY2FsZS1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGlu
ZyBjbG9zZSB0bzogZ3JheXNjYWxlKDAuNSkKK1BBU1MgLSAiY29sb3JGaWx0ZXIiIHByb3BlcnR5
IGZvciAic2VwaWEtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHNl
cGlhKDAuNSkKK1BBU1MgLSAiY29sb3JGaWx0ZXIiIHByb3BlcnR5IGZvciAic2F0dXJhdGUtYm94
IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHNhdHVyYXRlKDAuNSkKK1BB
U1MgLSAiY29sb3JGaWx0ZXIiIHByb3BlcnR5IGZvciAiaHVlcm90YXRlLWJveCIgZWxlbWVudCBh
dCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBodWUtcm90YXRlKDkwZGVnKQorUEFTUyAtICJj
b2xvckZpbHRlciIgcHJvcGVydHkgZm9yICJpbnZlcnQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBz
b21ldGhpbmcgY2xvc2UgdG86IGludmVydCgwLjUpCitQQVNTIC0gImNvbG9yRmlsdGVyIiBwcm9w
ZXJ0eSBmb3IgIm9wYWNpdHktYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2Ug
dG86IG9wYWNpdHkoMC41KQorUEFTUyAtICJjb2xvckZpbHRlciIgcHJvcGVydHkgZm9yICJicmln
aHRuZXNzLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBicmlnaHRu
ZXNzKDAuNSkKK1BBU1MgLSAiY29sb3JGaWx0ZXIiIHByb3BlcnR5IGZvciAiY29udHJhc3QtYm94
IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNvbnRyYXN0KDAuNSkKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZpbHRlci1h
bmltYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0
ZXItYW5pbWF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFlZDlmZTQ2OTRhZDkxYTQzYWQ0ZmE1Y2Zj
M2M4YzY5ZjViMGI0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY29sb3It
ZmlsdGVycy9jb2xvci1maWx0ZXItYW5pbWF0aW9uLmh0bWwKQEAgLTAsMCArMSwxMTkgQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgLmJveCB7Cisg
ICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgbWFy
Z2luOiAxMHB4OworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICBkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7CisgICAgfQorCisgICAgI2dyYXlzY2FsZS1ib3ggeworICAgICAg
YW5pbWF0aW9uOiBncmF5c2NhbGUtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKKyAgICAjc2VwaWEt
Ym94IHsKKyAgICAgIGFuaW1hdGlvbjogc2VwaWEtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKKyAg
ICAjc2F0dXJhdGUtYm94IHsKKyAgICAgIGFuaW1hdGlvbjogc2F0dXJhdGUtYW5pbSAycyBsaW5l
YXIKKyAgICB9CisKKyAgICAjaHVlcm90YXRlLWJveCB7CisgICAgICBhbmltYXRpb246IGh1ZXJv
dGF0ZS1hbmltIDJzIGxpbmVhcgorICAgIH0KKworICAgICNpbnZlcnQtYm94IHsKKyAgICAgIGFu
aW1hdGlvbjogaW52ZXJ0LWFuaW0gMnMgbGluZWFyCisgICAgfQorCisgICAgI29wYWNpdHktYm94
IHsKKyAgICAgIGFuaW1hdGlvbjogb3BhY2l0eS1hbmltIDJzIGxpbmVhcgorICAgIH0KKworICAg
ICNicmlnaHRuZXNzLWJveCB7CisgICAgICBhbmltYXRpb246IGJyaWdodG5lc3MtYW5pbSAycyBs
aW5lYXIKKyAgICB9CisKKyAgICAjY29udHJhc3QtYm94IHsKKyAgICAgIGFuaW1hdGlvbjogY29u
dHJhc3QtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKKworICAgIEBrZXlmcmFtZXMgZ3JheXNjYWxl
LWFuaW0geworICAgICAgICBmcm9tIHsgY29sb3ItZmlsdGVyOiBncmF5c2NhbGUoMCk7IH0KKyAg
ICAgICAgdG8gICB7IGNvbG9yLWZpbHRlcjogZ3JheXNjYWxlKDEpOyB9CisgICAgfQorCisgICAg
QGtleWZyYW1lcyBzZXBpYS1hbmltIHsKKyAgICAgICAgZnJvbSB7IGNvbG9yLWZpbHRlcjogc2Vw
aWEoMCk7IH0KKyAgICAgICAgdG8gICB7IGNvbG9yLWZpbHRlcjogc2VwaWEoMSk7IH0KKyAgICB9
CisKKyAgICBAa2V5ZnJhbWVzIHNhdHVyYXRlLWFuaW0geworICAgICAgICBmcm9tIHsgY29sb3It
ZmlsdGVyOiBzYXR1cmF0ZSgwKTsgfQorICAgICAgICB0byAgIHsgY29sb3ItZmlsdGVyOiBzYXR1
cmF0ZSgxKTsgfQorICAgIH0KKworICAgIEBrZXlmcmFtZXMgaHVlcm90YXRlLWFuaW0geworICAg
ICAgICBmcm9tIHsgY29sb3ItZmlsdGVyOiBodWUtcm90YXRlKDApOyB9CisgICAgICAgIHRvICAg
eyBjb2xvci1maWx0ZXI6IGh1ZS1yb3RhdGUoMTgwZGVnKTsgfQorICAgIH0KKworICAgIEBrZXlm
cmFtZXMgaW52ZXJ0LWFuaW0geworICAgICAgICBmcm9tIHsgY29sb3ItZmlsdGVyOiBpbnZlcnQo
MCk7IH0KKyAgICAgICAgdG8gICB7IGNvbG9yLWZpbHRlcjogaW52ZXJ0KDEpOyB9CisgICAgfQor
CisgICAgQGtleWZyYW1lcyBvcGFjaXR5LWFuaW0geworICAgICAgICBmcm9tIHsgY29sb3ItZmls
dGVyOiBvcGFjaXR5KDEpOyB9CisgICAgICAgIHRvICAgeyBjb2xvci1maWx0ZXI6IG9wYWNpdHko
MCk7IH0KKyAgICB9CisKKyAgICBAa2V5ZnJhbWVzIGJyaWdodG5lc3MtYW5pbSB7CisgICAgICAg
IGZyb20geyBjb2xvci1maWx0ZXI6IGJyaWdodG5lc3MoMSk7IH0KKyAgICAgICAgdG8gICB7IGNv
bG9yLWZpbHRlcjogYnJpZ2h0bmVzcygwKTsgfQorICAgIH0KKworICAgIEBrZXlmcmFtZXMgY29u
dHJhc3QtYW5pbSB7CisgICAgICAgIGZyb20geyBjb2xvci1maWx0ZXI6IGNvbnRyYXN0KDEpOyB9
CisgICAgICAgIHRvICAgeyBjb2xvci1maWx0ZXI6IGNvbnRyYXN0KDApOyB9CisgICAgfQorCisg
IDwvc3R5bGU+CisgIDxzY3JpcHQgc3JjPSIuLi8uLi9hbmltYXRpb25zL3Jlc291cmNlcy9hbmlt
YXRpb24tdGVzdC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgorICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAgICAgLy8gW2FuaW1h
dGlvbi1uYW1lLCB0aW1lLCBlbGVtZW50LWlkLCBwcm9wZXJ0eSwgZXhwZWN0ZWQtdmFsdWUsIHRv
bGVyYW5jZV0KKyAgICAgIFsiZ3JheXNjYWxlLWFuaW0iLCAgMSwgImdyYXlzY2FsZS1ib3giLCAi
Y29sb3JGaWx0ZXIiLCAnZ3JheXNjYWxlKDAuNSknLCAwLjA1XSwKKyAgICAgIFsic2VwaWEtYW5p
bSIsICAxLCAic2VwaWEtYm94IiwgImNvbG9yRmlsdGVyIiwgJ3NlcGlhKDAuNSknLCAwLjA1XSwK
KyAgICAgIFsic2F0dXJhdGUtYW5pbSIsICAxLCAic2F0dXJhdGUtYm94IiwgImNvbG9yRmlsdGVy
IiwgJ3NhdHVyYXRlKDAuNSknLCAwLjA1XSwKKyAgICAgIFsiaHVlcm90YXRlLWFuaW0iLCAgMSwg
Imh1ZXJvdGF0ZS1ib3giLCAiY29sb3JGaWx0ZXIiLCAnaHVlLXJvdGF0ZSg5MGRlZyknLCAyXSwK
KyAgICAgIFsiaW52ZXJ0LWFuaW0iLCAgMSwgImludmVydC1ib3giLCAiY29sb3JGaWx0ZXIiLCAn
aW52ZXJ0KDAuNSknLCAwLjA1XSwKKyAgICAgIFsib3BhY2l0eS1hbmltIiwgIDEsICJvcGFjaXR5
LWJveCIsICJjb2xvckZpbHRlciIsICdvcGFjaXR5KDAuNSknLCAwLjA1XSwKKyAgICAgIFsiYnJp
Z2h0bmVzcy1hbmltIiwgIDEsICJicmlnaHRuZXNzLWJveCIsICJjb2xvckZpbHRlciIsICdicmln
aHRuZXNzKDAuNSknLCAwLjA1XSwKKyAgICAgIFsiY29udHJhc3QtYW5pbSIsICAxLCAiY29udHJh
c3QtYm94IiwgImNvbG9yRmlsdGVyIiwgJ2NvbnRyYXN0KDAuNSknLCAwLjA1XSwKKyAgICBdOwor
ICAgIAorICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworICA8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IGNsYXNzPSJib3giIGlkPSJncmF5c2NhbGUtYm94Ij48
L2Rpdj4KKzxkaXYgY2xhc3M9ImJveCIgaWQ9InNlcGlhLWJveCI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJib3giIGlkPSJzYXR1cmF0ZS1ib3giPjwvZGl2PgorPGRpdiBjbGFzcz0iYm94IiBpZD0iaHVl
cm90YXRlLWJveCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJpbnZlcnQtYm94Ij48L2Rp
dj4KKzxkaXYgY2xhc3M9ImJveCIgaWQ9Im9wYWNpdHktYm94Ij48L2Rpdj4KKzxkaXYgY2xhc3M9
ImJveCIgaWQ9ImJyaWdodG5lc3MtYm94Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImJveCIgaWQ9ImNv
bnRyYXN0LWJveCI+PC9kaXY+CisKKzxkaXYgaWQ9InJlc3VsdCI+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339032</attachid>
            <date>2018-04-27 14:57:50 -0700</date>
            <delta_ts>2018-04-27 15:55:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-185092-20180427145749.patch</filename>
            <type>text/plain</type>
            <size>22637</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMxMTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFmMzBjZTU5MTQ1MGIx
NTI5N2YzYjRiZjYyNDU3NDg1MTY0NjQ1My4uZjE0ZWVhYjI0YjkzNmI4MDM2YjBhZmMwNWZiYmMx
M2M0ZDk1YzViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTA0LTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBh
bmltYXRpb24gZm9yIGNvbG9yLWZpbHRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MDkyCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzM5NzczODEw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICBJbXBsZW1lbnQgYW5pbWF0aW9uIG9mIGNvbG9yLWZpbHRlci4KKyAgICAgICAgCisgICAgICAg
IFRoaXMgcmVxdWlyZXMgdHJhY2tpbmcgd2hldGhlciB0aGUgY29sb3ItZmlsdGVyIGZ1bmN0aW9u
IGxpc3RzIG1hdGNoIGZvciBib3RoIG9sZCBhbmQgbmV3CisgICAgICAgIGFuaW1hdGlvbiBjb2Rl
IHBhdGhzLgorICAgICAgICAKKyAgICAgICAgVGhlIGZpbHRlci1yZWxhdGVkIFByb3BlcnlXYXBw
ZXJzIGluIENTU1Byb3BlcnR5QW5pbWF0aW9uIGFyZSBjbGVhbmVkIHVwIHRvIHVzZSBhIHNpbmds
ZSB3cmFwcGVyLAorICAgICAgICB3aGljaCBoYXMgdG8gcGFzcyB0aGUgcHJvcGVydHlJRCB0byB0
aGUgYmxlbmQgZnVuY3Rpb24gc28gd2Uga25vdyB3aGljaCAibGlzdHMgbWF0Y2giIHRvIGNoZWNr
LgorICAgICAgICBUaGlzIHdyYXBwZXIgcmVwb3J0cyB0aGF0IGl0cyBhY2NlbGVyYXRlZCBmb3Ig
ZmlsdGVyIGFuZCBiYWNrZHJvcC1maWx0ZXIsIGJ1dCBub3QgY29sb3ItZmlsdGVyLgorCisgICAg
ICAgIFRlc3Q6IGNzczMvY29sb3ItZmlsdGVycy9jb2xvci1maWx0ZXItYW5pbWF0aW9uLmh0bWwK
KworICAgICAgICAqIGFuaW1hdGlvbi9DU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50Lmg6CisgICAg
ICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9ubHkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6c2V0QmxlbmRpbmdLZXlmcmFtZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6Y2hlY2tGb3JNYXRjaGluZ0Nv
bG9yRmlsdGVyRnVuY3Rpb25MaXN0cyk6CisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0UmVhZE9ubHkuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmg6
CisgICAgICAgICogcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6YmxlbmRGdW5jKToKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3Jh
cHBlckZpbHRlcjo6UHJvcGVydHlXcmFwcGVyRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1Byb3BlcnR5QW5pbWF0aW9uV3JhcHBlck1hcDo6Q1NTUHJvcGVydHlBbmltYXRpb25XcmFwcGVy
TWFwKToKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkRmlsdGVy
OjpQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEZpbHRlcik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEJhY2tkcm9wRmlsdGVyOjpQcm9wZXJ0
eVdyYXBwZXJBY2NlbGVyYXRlZEJhY2tkcm9wRmlsdGVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkQmFja2Ryb3BGaWx0ZXI6OmFuaW1hdGlv
bklzQWNjZWxlcmF0ZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVy
dHlXcmFwcGVyQWNjZWxlcmF0ZWRCYWNrZHJvcEZpbHRlcjo6YmxlbmQgY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjpyZXNldCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbXBsaWNpdEFuaW1hdGlvbjo6Y2hlY2tGb3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25M
aXN0cyk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaDoKKyAg
ICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6S2V5ZnJhbWVBbmltYXRpb246OmNoZWNrRm9yTWF0Y2hpbmdDb2xvckZpbHRlckZ1
bmN0aW9uTGlzdHMpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9u
Lmg6CisKIDIwMTgtMDQtMjcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVmYWN0b3IgZmlsdGVyIGxpc3QgY2hlY2tpbmcgY29kZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50LmgKaW5k
ZXggNDI5YzNiYjFhNzcxOWM1NTdhYWE5ZDBkYWEwYTRjMTlhNDVhOWNjYS4uMGQ3NzQ3ZWJjZjFj
YjU3YTFlOGI3Y2FkMmRjNmIxMDJjZTY4YmYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0NTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hbmltYXRpb24vQ1NTUHJvcGVydHlCbGVuZGluZ0NsaWVudC5oCkBAIC00MSw2ICs0MSw3IEBA
IHB1YmxpYzoKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQogICAgIHZpcnR1YWwgYm9vbCBi
YWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpIGNvbnN0ID0gMDsKICNlbmRpZgorICAg
IHZpcnR1YWwgYm9vbCBjb2xvckZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpIGNvbnN0ID0gMDsK
IAogICAgIHZpcnR1YWwgfkNTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQoKSA9IGRlZmF1bHQ7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVh
ZE9ubHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9u
bHkuY3BwCmluZGV4IGVmYWQ2NDdiYmQ4ODQxZWU3NmFhNDY0MzlkM2M3YmM1YjRhZDU1YzcuLjU0
ZmFkNTcyNmU5NzkyMGRmNmRjMjc2ODI3ZmQwNTM5OWU4Y2Q5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5jcHAKQEAgLTcyNCw2
ICs3MjQsNyBAQCB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OnNldEJsZW5kaW5nS2V5ZnJh
bWVzKEtleWZyYW1lTGlzdCYgYmxlbmRpbmdLZXlmcmFtZQogI2lmIEVOQUJMRShGSUxURVJTX0xF
VkVMXzIpCiAgICAgY2hlY2tGb3JNYXRjaGluZ0JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0cygp
OwogI2VuZGlmCisgICAgY2hlY2tGb3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygp
OwogfQogCiB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNoZWNrRm9yTWF0Y2hpbmdUcmFu
c2Zvcm1GdW5jdGlvbkxpc3RzKCkKQEAgLTgxNCw2ICs4MTUsMTMgQEAgdm9pZCBLZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5OjpjaGVja0Zvck1hdGNoaW5nQmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3Rz
KCkKIH0KICNlbmRpZgogCit2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNoZWNrRm9yTWF0
Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMoKQoreworICAgIG1fY29sb3JGaWx0ZXJGdW5j
dGlvbkxpc3RzTWF0Y2ggPSBjaGVja0Zvck1hdGNoaW5nRmlsdGVyRnVuY3Rpb25MaXN0cyhDU1NQ
cm9wZXJ0eUNvbG9yRmlsdGVyLCBbXSAoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKSAtPiBjb25z
dCBGaWx0ZXJPcGVyYXRpb25zJiB7CisgICAgICAgIHJldHVybiBzdHlsZS5jb2xvckZpbHRlcigp
OworICAgIH0pOworfQorCiB2b2lkIEtleWZyYW1lRWZmZWN0UmVhZE9ubHk6OmNvbXB1dGVEZWNs
YXJhdGl2ZUFuaW1hdGlvbkJsZW5kaW5nS2V5ZnJhbWVzKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIG5ld1N0eWxlKQogewogICAgIEFTU0VSVChpczxEZWNs
YXJhdGl2ZUFuaW1hdGlvbj4oYW5pbWF0aW9uKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmggYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5oCmluZGV4IDU5ZDIyMjkzOGIyM2ZjOTYz
OTYxMjM5N2ZhNzhlY2U1MGEzYzNlOGYuLjRjZjgzNTM4NWJkOGIyODYzYzU3NWI5ZWNjM2ViOWJh
ZjU5OTI0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdFJlYWRPbmx5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0UmVhZE9ubHkuaApAQCAtMTExLDYgKzExMSw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoRklM
VEVSU19MRVZFTF8yKQogICAgIGJvb2wgYmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0Y2go
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0c01h
dGNoOyB9CiAjZW5kaWYKKyAgICBib29sIGNvbG9yRmlsdGVyRnVuY3Rpb25MaXN0c01hdGNoKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jb2xvckZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaDsg
fQogCiAgICAgdm9pZCBjb21wdXRlRGVjbGFyYXRpdmVBbmltYXRpb25CbGVuZGluZ0tleWZyYW1l
cyhjb25zdCBSZW5kZXJTdHlsZSogb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHls
ZSk7CiAgICAgYm9vbCBzdHlsZXNXb3VsZFlpZWxkTmV3Q1NTVHJhbnNpdGlvbnNCbGVuZGluZ0tl
eWZyYW1lcyhjb25zdCBSZW5kZXJTdHlsZSYgb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlJiBu
ZXdTdHlsZSkgY29uc3Q7CkBAIC0xNDksNiArMTUwLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUo
RklMVEVSU19MRVZFTF8yKQogICAgIHZvaWQgY2hlY2tGb3JNYXRjaGluZ0JhY2tkcm9wRmlsdGVy
RnVuY3Rpb25MaXN0cygpOwogI2VuZGlmCisgICAgdm9pZCBjaGVja0Zvck1hdGNoaW5nQ29sb3JG
aWx0ZXJGdW5jdGlvbkxpc3RzKCk7CiAKICAgICBib29sIGNoZWNrRm9yTWF0Y2hpbmdGaWx0ZXJG
dW5jdGlvbkxpc3RzKENTU1Byb3BlcnR5SUQsIGNvbnN0IHN0ZDo6ZnVuY3Rpb248Y29uc3QgRmls
dGVyT3BlcmF0aW9ucyYgKGNvbnN0IFJlbmRlclN0eWxlJik+JikgY29uc3Q7CiAKQEAgLTE2Miw2
ICsxNjQsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCiAgICAgYm9v
bCBtX2JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0c01hdGNoIHsgZmFsc2UgfTsKICNlbmRpZgor
ICAgIGJvb2wgbV9jb2xvckZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCB7IGZhbHNlIH07CiAKICAg
ICBSZWZQdHI8RWxlbWVudD4gbV90YXJnZXQ7CiAgICAgS2V5ZnJhbWVMaXN0IG1fYmxlbmRpbmdL
ZXlmcmFtZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNl
LmgKaW5kZXggNGM3MzNmMWM0MDVjMWYwYjI1MDFjNjdjNmVkODlhN2I1OGRlMTRlOS4uYjRkMzc0
M2M5NTAxNzljYWMyMGMyNDU3YmIwZDE2OGExYTZmZTZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaApAQCAtMTg2LDYgKzE4Niw3IEBAIHB1Ymxp
YzoKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQogICAgIGJvb2wgYmFja2Ryb3BGaWx0ZXJG
dW5jdGlvbkxpc3RzTWF0Y2goKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2JhY2tkcm9wRmls
dGVyRnVuY3Rpb25MaXN0c01hdGNoOyB9CiAjZW5kaWYKKyAgICBib29sIGNvbG9yRmlsdGVyRnVu
Y3Rpb25MaXN0c01hdGNoKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9jb2xvckZpbHRlckZ1
bmN0aW9uTGlzdHNNYXRjaDsgfQogCiAgICAgLy8gRnJlZXplIHRoZSBhbmltYXRpb247IHVzZWQg
YnkgRHVtcFJlbmRlclRyZWUuCiAgICAgdm9pZCBmcmVlemVBdFRpbWUoZG91YmxlIHQpOwpAQCAt
MjYwLDYgKzI2MSw3IEBAIHByb3RlY3RlZDoKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQog
ICAgIGJvb2wgbV9iYWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCB7IGZhbHNlIH07CiAj
ZW5kaWYKKyAgICBib29sIG1fY29sb3JGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0Y2ggeyBmYWxzZSB9
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCmluZGV4IDdlZmNiNTRi
YzA1NWViMzcxMWMwYjg4ZDg0NjM4YTc4OWEyOGQwNzYuLjg4MjBkMzgyN2UwYTg5NjdhYzQxYTMx
NWUxMmFkODM3NjA3OGYzY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKQEAgLTIwMCwxOCArMjAwLDMwIEBAIHN0
YXRpYyBpbmxpbmUgRmlsdGVyT3BlcmF0aW9ucyBibGVuZEZpbHRlck9wZXJhdGlvbnMoY29uc3Qg
Q1NTUHJvcGVydHlCbGVuZGluZ0NsCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGlu
bGluZSBGaWx0ZXJPcGVyYXRpb25zIGJsZW5kRnVuYyhjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5n
Q2xpZW50KiBhbmltLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiBmcm9tLCBjb25zdCBGaWx0ZXJP
cGVyYXRpb25zJiB0bywgZG91YmxlIHByb2dyZXNzLCBib29sIGFuaW1hdGluZ0JhY2tkcm9wRmls
dGVyID0gZmFsc2UpCitzdGF0aWMgaW5saW5lIEZpbHRlck9wZXJhdGlvbnMgYmxlbmRGdW5jKGNv
bnN0IENTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQqIGFuaW0sIGNvbnN0IEZpbHRlck9wZXJhdGlv
bnMmIGZyb20sIGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmIHRvLCBkb3VibGUgcHJvZ3Jlc3MsIENT
U1Byb3BlcnR5SUQgcHJvcGVydHlJRCA9IENTU1Byb3BlcnR5RmlsdGVyKQogewogICAgIEZpbHRl
ck9wZXJhdGlvbnMgcmVzdWx0OwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIGZpbHRlciBmdW5jdGlv
biBsaXN0LCB1c2UgdGhhdCB0byBkbyBhIHBlci1mdW5jdGlvbiBhbmltYXRpb24uCisgICAgCisg
ICAgYm9vbCBsaXN0c01hdGNoID0gZmFsc2U7CisgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eUZpbHRlcjoKKyAgICAgICAgbGlzdHNNYXRjaCA9IGFuaW0tPmZp
bHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpOworICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoRklM
VEVSU19MRVZFTF8yKQotICAgIGlmICgoIWFuaW1hdGluZ0JhY2tkcm9wRmlsdGVyICYmIGFuaW0t
PmZpbHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpKSB8fCAoYW5pbWF0aW5nQmFja2Ryb3BGaWx0ZXIg
JiYgYW5pbS0+YmFja2Ryb3BGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0Y2goKSkpCi0jZWxzZQotICAg
IFVOVVNFRF9QQVJBTShhbmltYXRpbmdCYWNrZHJvcEZpbHRlcik7Ci0gICAgaWYgKGFuaW0tPmZp
bHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCYWNr
ZHJvcEZpbHRlcjoKKyAgICAgICAgbGlzdHNNYXRjaCA9IGFuaW0tPmJhY2tkcm9wRmlsdGVyRnVu
Y3Rpb25MaXN0c01hdGNoKCk7CisgICAgICAgIGJyZWFrOwogI2VuZGlmCi0KKyAgICBjYXNlIENT
U1Byb3BlcnR5Q29sb3JGaWx0ZXI6CisgICAgICAgIGxpc3RzTWF0Y2ggPSBhbmltLT5jb2xvckZp
bHRlckZ1bmN0aW9uTGlzdHNNYXRjaCgpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgCisgICAgaWYgKGxpc3RzTWF0Y2gpCiAgICAgICAg
IHJlc3VsdCA9IGJsZW5kRmlsdGVyT3BlcmF0aW9ucyhhbmltLCBmcm9tLCB0bywgcHJvZ3Jlc3Mp
OwogICAgIGVsc2UgewogICAgICAgICAvLyBJZiB0aGUgZmlsdGVyIGZ1bmN0aW9uIGxpc3RzIGRv
bid0IG1hdGNoLCB3ZSBjb3VsZCB0cnkgdG8gY3Jvc3MtZmFkZSwgYnV0IGRvbid0IHlldCBoYXZl
IGEgd2F5IHRvIHJlcHJlc2VudCB0aGF0IGluIENTUy4KQEAgLTY3MCwzOSArNjgyLDI4IEBAIHB1
YmxpYzoKICAgICB9CiB9OwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEZpbHRl
ciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+IHsKK2Ns
YXNzIFByb3BlcnR5V3JhcHBlckZpbHRlciA6IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXI8Y29uc3Qg
RmlsdGVyT3BlcmF0aW9ucyY+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEZpbHRlcigpCi0gICAgICAgIDogUHJv
cGVydHlXcmFwcGVyPGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmPihDU1NQcm9wZXJ0eUZpbHRlciwg
JlJlbmRlclN0eWxlOjpmaWx0ZXIsICZSZW5kZXJTdHlsZTo6c2V0RmlsdGVyKQorICAgIFByb3Bl
cnR5V3JhcHBlckZpbHRlcihDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMmIChSZW5kZXJTdHlsZTo6KmdldHRlcikoKSBjb25zdCwgdm9pZCAoUmVuZGVyU3R5
bGU6OipzZXR0ZXIpKGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKSkKKyAgICAgICAgOiBQcm9wZXJ0
eVdyYXBwZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+KHByb3BlcnR5SUQsIGdldHRlciwgc2V0
dGVyKQogICAgIHsKICAgICB9CiAKLSAgICBib29sIGFuaW1hdGlvbklzQWNjZWxlcmF0ZWQoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9Ci0KLSAgICB2b2lkIGJsZW5kKGNvbnN0IENT
U1Byb3BlcnR5QmxlbmRpbmdDbGllbnQqIGFuaW0sIFJlbmRlclN0eWxlKiBkc3QsIGNvbnN0IFJl
bmRlclN0eWxlKiBhLCBjb25zdCBSZW5kZXJTdHlsZSogYiwgZG91YmxlIHByb2dyZXNzKSBjb25z
dCBvdmVycmlkZQorICAgIGJvb2wgYW5pbWF0aW9uSXNBY2NlbGVyYXRlZCgpIGNvbnN0IG92ZXJy
aWRlCiAgICAgewotICAgICAgICBkc3QtPnNldEZpbHRlcihibGVuZEZ1bmMoYW5pbSwgYS0+Zmls
dGVyKCksIGItPmZpbHRlcigpLCBwcm9ncmVzcykpOwotICAgIH0KLX07Ci0KKyAgICAgICAgcmV0
dXJuIHByb3BlcnR5KCkgPT0gQ1NTUHJvcGVydHlGaWx0ZXIKICNpZiBFTkFCTEUoRklMVEVSU19M
RVZFTF8yKQotY2xhc3MgUHJvcGVydHlXcmFwcGVyQWNjZWxlcmF0ZWRCYWNrZHJvcEZpbHRlciA6
IHB1YmxpYyBQcm9wZXJ0eVdyYXBwZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+IHsKLSAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKLXB1YmxpYzoKLSAgICBQcm9wZXJ0eVdyYXBwZXJBY2Nl
bGVyYXRlZEJhY2tkcm9wRmlsdGVyKCkKLSAgICAgICAgOiBQcm9wZXJ0eVdyYXBwZXI8Y29uc3Qg
RmlsdGVyT3BlcmF0aW9ucyY+KENTU1Byb3BlcnR5V2Via2l0QmFja2Ryb3BGaWx0ZXIsICZSZW5k
ZXJTdHlsZTo6YmFja2Ryb3BGaWx0ZXIsICZSZW5kZXJTdHlsZTo6c2V0QmFja2Ryb3BGaWx0ZXIp
Ci0gICAgeworICAgICAgICAgICAgfHwgcHJvcGVydHkoKSA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJh
Y2tkcm9wRmlsdGVyCisjZW5kaWYKKyAgICAgICAgICAgIDsKICAgICB9CiAKLSAgICB2aXJ0dWFs
IGJvb2wgYW5pbWF0aW9uSXNBY2NlbGVyYXRlZCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLQot
ICAgIHZpcnR1YWwgdm9pZCBibGVuZChjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBh
bmltLCBSZW5kZXJTdHlsZSogZHN0LCBjb25zdCBSZW5kZXJTdHlsZSogYSwgY29uc3QgUmVuZGVy
U3R5bGUqIGIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKKyAgICB2b2lkIGJsZW5kKGNvbnN0IENT
U1Byb3BlcnR5QmxlbmRpbmdDbGllbnQqIGFuaW0sIFJlbmRlclN0eWxlKiBkc3QsIGNvbnN0IFJl
bmRlclN0eWxlKiBhLCBjb25zdCBSZW5kZXJTdHlsZSogYiwgZG91YmxlIHByb2dyZXNzKSBjb25z
dCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgZHN0LT5zZXRCYWNrZHJvcEZpbHRlcihibGVuZEZ1
bmMoYW5pbSwgYS0+YmFja2Ryb3BGaWx0ZXIoKSwgYi0+YmFja2Ryb3BGaWx0ZXIoKSwgcHJvZ3Jl
c3MsIHRydWUpKTsKKyAgICAgICAgKGRzdC0+Km1fc2V0dGVyKShibGVuZEZ1bmMoYW5pbSwgKGEt
PipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+OjptX2dldHRl
cikoKSwgKGItPipQcm9wZXJ0eVdyYXBwZXJHZXR0ZXI8Y29uc3QgRmlsdGVyT3BlcmF0aW9ucyY+
OjptX2dldHRlcikoKSwgcHJvZ3Jlc3MsIHByb3BlcnR5KCkpKTsKICAgICB9CiB9OwotI2VuZGlm
CiAKIHN0YXRpYyBpbmxpbmUgc2l6ZV90IHNoYWRvd0xpc3RMZW5ndGgoY29uc3QgU2hhZG93RGF0
YSogc2hhZG93KQogewpAQCAtMTU1OCwxMCArMTU1OSwxMyBAQCBDU1NQcm9wZXJ0eUFuaW1hdGlv
bldyYXBwZXJNYXA6OkNTU1Byb3BlcnR5QW5pbWF0aW9uV3JhcHBlck1hcCgpCiAKICAgICAgICAg
bmV3IFByb3BlcnR5V3JhcHBlckFjY2VsZXJhdGVkT3BhY2l0eSgpLAogICAgICAgICBuZXcgUHJv
cGVydHlXcmFwcGVyQWNjZWxlcmF0ZWRUcmFuc2Zvcm0oKSwKLSAgICAgICAgbmV3IFByb3BlcnR5
V3JhcHBlckFjY2VsZXJhdGVkRmlsdGVyKCksCisgICAgICAgIAorICAgICAgICBuZXcgUHJvcGVy
dHlXcmFwcGVyRmlsdGVyKENTU1Byb3BlcnR5RmlsdGVyLCAmUmVuZGVyU3R5bGU6OmZpbHRlciwg
JlJlbmRlclN0eWxlOjpzZXRGaWx0ZXIpLAogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCi0g
ICAgICAgIG5ldyBQcm9wZXJ0eVdyYXBwZXJBY2NlbGVyYXRlZEJhY2tkcm9wRmlsdGVyKCksCisg
ICAgICAgIG5ldyBQcm9wZXJ0eVdyYXBwZXJGaWx0ZXIoQ1NTUHJvcGVydHlXZWJraXRCYWNrZHJv
cEZpbHRlciwgJlJlbmRlclN0eWxlOjpiYWNrZHJvcEZpbHRlciwgJlJlbmRlclN0eWxlOjpzZXRC
YWNrZHJvcEZpbHRlciksCiAjZW5kaWYKKyAgICAgICAgbmV3IFByb3BlcnR5V3JhcHBlckZpbHRl
cihDU1NQcm9wZXJ0eUNvbG9yRmlsdGVyLCAmUmVuZGVyU3R5bGU6OmNvbG9yRmlsdGVyLCAmUmVu
ZGVyU3R5bGU6OnNldENvbG9yRmlsdGVyKSwKKwogICAgICAgICBuZXcgUHJvcGVydHlXcmFwcGVy
Q2xpcFBhdGgoQ1NTUHJvcGVydHlXZWJraXRDbGlwUGF0aCwgJlJlbmRlclN0eWxlOjpjbGlwUGF0
aCwgJlJlbmRlclN0eWxlOjpzZXRDbGlwUGF0aCksCiAKICAgICAgICAgbmV3IFByb3BlcnR5V3Jh
cHBlclNoYXBlKENTU1Byb3BlcnR5U2hhcGVPdXRzaWRlLCAmUmVuZGVyU3R5bGU6OnNoYXBlT3V0
c2lkZSwgJlJlbmRlclN0eWxlOjpzZXRTaGFwZU91dHNpZGUpLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCmluZGV4IGM2YzdkMThm
ODc5NjNjYjJhOThiMTIxN2JmOWJjNjA3ZWIxNzc2ODUuLjA4MGNmY2NkY2M2ODA4YjA4NjJmMmFi
YTcwZjU4ZmUwMTM4OWE0Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5jcHAKQEAgLTIxNSw2ICsyMTUsNyBAQCB2b2lkIEltcGxp
Y2l0QW5pbWF0aW9uOjpyZXNldChjb25zdCBSZW5kZXJTdHlsZSYgdG8sIENvbXBvc2l0ZUFuaW1h
dGlvbiYgY29tcG9zaQogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCiAgICAgY2hlY2tGb3JN
YXRjaGluZ0JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogI2VuZGlmCisgICAgY2hlY2tG
b3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogfQogCiB2b2lkIEltcGxpY2l0
QW5pbWF0aW9uOjpzZXRPdmVycmlkZGVuKGJvb2wgYikKQEAgLTMxMSw2ICszMTIsMTYgQEAgdm9p
ZCBJbXBsaWNpdEFuaW1hdGlvbjo6Y2hlY2tGb3JNYXRjaGluZ0JhY2tkcm9wRmlsdGVyRnVuY3Rp
b25MaXN0cygpCiB9CiAjZW5kaWYKIAordm9pZCBJbXBsaWNpdEFuaW1hdGlvbjo6Y2hlY2tGb3JN
YXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygpCit7CisgICAgbV9maWx0ZXJGdW5jdGlv
bkxpc3RzTWF0Y2ggPSBmYWxzZTsKKworICAgIGlmICghbV9mcm9tU3R5bGUgfHwgIW1fdG9TdHls
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jb2xvckZpbHRlckZ1bmN0aW9uTGlzdHNNYXRj
aCA9IGZpbHRlck9wZXJhdGlvbnNNYXRjaCgmbV9mcm9tU3R5bGUtPmNvbG9yRmlsdGVyKCksIG1f
dG9TdHlsZS0+Y29sb3JGaWx0ZXIoKSk7Cit9CisKIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gSW1w
bGljaXRBbmltYXRpb246OnRpbWVUb05leHRTZXJ2aWNlKCkKIHsKICAgICBzdGQ6Om9wdGlvbmFs
PFNlY29uZHM+IHQgPSBBbmltYXRpb25CYXNlOjp0aW1lVG9OZXh0U2VydmljZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmgKaW5kZXgg
YjI4MTE1Y2RhZTFkOWM3ZGJhZWE3MTA4ODVjYTIwOGVmZTgxYTFjYS4uOTIxZWY3ODA3NTVjYmZh
ZjgyMWM3NDU2ZjI4MGQ1OWViNjEzYmI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oCkBAIC04Niw2ICs4Niw3IEBAIHByb3RlY3Rl
ZDoKICNpZiBFTkFCTEUoRklMVEVSU19MRVZFTF8yKQogICAgIHZvaWQgY2hlY2tGb3JNYXRjaGlu
Z0JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogI2VuZGlmCisgICAgdm9pZCBjaGVja0Zv
ck1hdGNoaW5nQ29sb3JGaWx0ZXJGdW5jdGlvbkxpc3RzKCk7CiAKIHByaXZhdGU6CiAgICAgSW1w
bGljaXRBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJiwgQ1NTUHJvcGVydHlJRCwgRWxlbWVudCYs
IENvbXBvc2l0ZUFuaW1hdGlvbiYsIGNvbnN0IFJlbmRlclN0eWxlJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKaW5kZXggNTY0
ZjQ4OTU3M2Q1NDA4YWZmNzJlNTk1MDA1MjlhMTk2YjA3NTgxNS4uNzNhNmYzOGFlMTg4MGNjZTI5
YzI3NTQ1ODk5MjRkOTQ5NmRlNmRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcApAQCAtNTgsNiArNTgsOCBAQCBLZXlmcmFt
ZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmltYXRpb24oY29uc3QgQW5pbWF0aW9uJiBhbmltYXRpb24s
IEVsZW1lbnQmIGVsZW1lbgogI2lmIEVOQUJMRShGSUxURVJTX0xFVkVMXzIpCiAgICAgY2hlY2tG
b3JNYXRjaGluZ0JhY2tkcm9wRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogI2VuZGlmCisgICAgY2hl
Y2tGb3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygpOworCiAgICAgY29tcHV0ZVN0
YWNraW5nQ29udGV4dEltcGFjdCgpOwogICAgIGNvbXB1dGVMYXlvdXREZXBlbmRlbmN5KCk7CiB9
CkBAIC00OTMsNiArNDk1LDEzIEBAIHZvaWQgS2V5ZnJhbWVBbmltYXRpb246OmNoZWNrRm9yTWF0
Y2hpbmdCYWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHMoKQogfQogI2VuZGlmCiAKK3ZvaWQgS2V5
ZnJhbWVBbmltYXRpb246OmNoZWNrRm9yTWF0Y2hpbmdDb2xvckZpbHRlckZ1bmN0aW9uTGlzdHMo
KQoreworICAgIG1fY29sb3JGaWx0ZXJGdW5jdGlvbkxpc3RzTWF0Y2ggPSBjaGVja0Zvck1hdGNo
aW5nRmlsdGVyRnVuY3Rpb25MaXN0cyhDU1NQcm9wZXJ0eUNvbG9yRmlsdGVyLCBbXSAoY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlKSAtPiBjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiB7CisgICAgICAg
IHJldHVybiBzdHlsZS5jb2xvckZpbHRlcigpOworICAgIH0pOworfQorCiBzdGQ6Om9wdGlvbmFs
PFNlY29uZHM+IEtleWZyYW1lQW5pbWF0aW9uOjp0aW1lVG9OZXh0U2VydmljZSgpCiB7CiAgICAg
c3RkOjpvcHRpb25hbDxTZWNvbmRzPiB0ID0gQW5pbWF0aW9uQmFzZTo6dGltZVRvTmV4dFNlcnZp
Y2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1l
QW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1h
dGlvbi5oCmluZGV4IDIwOGFhNmZlZDEzYzE0ODYzYjhhMDM1MTFmODY4NTkxYWE0ZjdiMWMuLmQx
ODBjMGUwYmFhNjcwMTJmMDIwZmFhOWI1ZjRlNTAwOTk4YTIzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaApAQCAtOTEsNiArOTEs
NyBAQCBwcm90ZWN0ZWQ6CiAjaWYgRU5BQkxFKEZJTFRFUlNfTEVWRUxfMikKICAgICB2b2lkIGNo
ZWNrRm9yTWF0Y2hpbmdCYWNrZHJvcEZpbHRlckZ1bmN0aW9uTGlzdHMoKTsKICNlbmRpZgorICAg
IHZvaWQgY2hlY2tGb3JNYXRjaGluZ0NvbG9yRmlsdGVyRnVuY3Rpb25MaXN0cygpOwogICAgIGJv
b2wgY2hlY2tGb3JNYXRjaGluZ0ZpbHRlckZ1bmN0aW9uTGlzdHMoQ1NTUHJvcGVydHlJRCwgY29u
c3Qgc3RkOjpmdW5jdGlvbjxjb25zdCBGaWx0ZXJPcGVyYXRpb25zJiAoY29uc3QgUmVuZGVyU3R5
bGUmKT4mKSBjb25zdDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NjVlOGZhZmNjMThkMjhlOGNiYjhj
NTlhNDIxYzUyYzY2YTRjZTI5Li5hMDhiYzJiMTJjMGI4OTdmMzFmZDRiZjhjZjQxNmVjYjA4NDA1
ZWM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMDQtMjcgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGFuaW1hdGlvbiBmb3Ig
Y29sb3ItZmlsdGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODUwOTIKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vMzk3NzM4MTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIEZpeCB0aGUgdGVz
dGluZyB0byByZWNvZ25pemUgdW5wcmVmaXhlZCBmaWx0ZXIsIGFuZCBjb2xvci1maWx0ZXIuCisg
ICAgICAgIAorICAgICAgICBBZGQgYSBjb2xvci1maWx0ZXIgYW5pbWF0aW9uIHRlc3QuCisKKyAg
ICAgICAgKiBhbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzOgor
ICAgICAgICAoZ2V0UHJvcGVydHlWYWx1ZSk6CisgICAgICAgIChjb21wYXJlUHJvcGVydHlWYWx1
ZSk6CisgICAgICAgICogY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZpbHRlci1hbmltYXRpb24t
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NvbG9yLWZpbHRlcnMvY29sb3It
ZmlsdGVyLWFuaW1hdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxOC0wNC0yNyAgQ2hyaXN0b3BoZXIg
UmVpZCAgPGNocmlzLnJlaWRAc29ueS5jb20+CiAKICAgICAgICAgVVJMOjphcHBlbmRFbmNvZGVk
SG9zdE5hbWUgaXMgdXNpbmcgdGhlIGRlcHJlY2F0ZWQgdWlkbmFfSUROVG9BU0NJSSBmdW5jdGlv
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9u
LXRlc3QtaGVscGVycy5qcyBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1h
dGlvbi10ZXN0LWhlbHBlcnMuanMKaW5kZXggODVjOTgyODg0NzRiMzFiMzFiNDBjOTUxOTRkZDY4
YzRmYzk5NTJkOC4uYWFjOTA1ZDIwMzIwZDA5Y2RlNDFhNTAxMTA2MTIxZTg0ZDkwOGYyNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3Qt
aGVscGVycy5qcworKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRp
b24tdGVzdC1oZWxwZXJzLmpzCkBAIC00MzAsNiArNDMwLDggQEAgZnVuY3Rpb24gZ2V0UHJvcGVy
dHlWYWx1ZShwcm9wZXJ0eSwgZWxlbWVudElkLCBpZnJhbWVJZCkKICAgICAgICAgICAgICAgIHx8
IHByb3BlcnR5ID09ICJsaXN0U3R5bGVJbWFnZSIKICAgICAgICAgICAgICAgIHx8IHByb3BlcnR5
ID09ICJ3ZWJraXRNYXNrSW1hZ2UiCiAgICAgICAgICAgICAgICB8fCBwcm9wZXJ0eSA9PSAid2Vi
a2l0TWFza0JveEltYWdlIgorICAgICAgICAgICAgICAgfHwgcHJvcGVydHkgPT0gImZpbHRlciIK
KyAgICAgICAgICAgICAgIHx8IHByb3BlcnR5ID09ICJjb2xvckZpbHRlciIKICAgICAgICAgICAg
ICAgIHx8IHByb3BlcnR5ID09ICJ3ZWJraXRGaWx0ZXIiCiAgICAgICAgICAgICAgICB8fCBwcm9w
ZXJ0eSA9PSAid2Via2l0QmFja2Ryb3BGaWx0ZXIiCiAgICAgICAgICAgICAgICB8fCBwcm9wZXJ0
eSA9PSAid2Via2l0Q2xpcFBhdGgiCkBAIC00NjksNyArNDcxLDcgQEAgZnVuY3Rpb24gY29tcGFy
ZVByb3BlcnR5VmFsdWUocHJvcGVydHksIGNvbXB1dGVkVmFsdWUsIGV4cGVjdGVkVmFsdWUsIHRv
bGVyYW5jZSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KLSAgICB9IGVsc2UgaWYgKHByb3BlcnR5ID09ICJ3ZWJraXRGaWx0ZXIiIHx8IHByb3Bl
cnR5ID09ICJ3ZWJraXRCYWNrZHJvcEZpbHRlciIpIHsKKyAgICB9IGVsc2UgaWYgKHByb3BlcnR5
ID09ICJ3ZWJraXRGaWx0ZXIiIHx8IHByb3BlcnR5ID09ICJ3ZWJraXRCYWNrZHJvcEZpbHRlciIg
fHwgcHJvcGVydHkgPT0gImZpbHRlciIgfHwgcHJvcGVydHkgPT0gImNvbG9yRmlsdGVyIikgewog
ICAgICAgICB2YXIgZmlsdGVyUGFyYW1ldGVycyA9IHBhcnNlRmlsdGVyRnVuY3Rpb25MaXN0KGNv
bXB1dGVkVmFsdWUpOwogICAgICAgICB2YXIgZmlsdGVyMlBhcmFtZXRlcnMgPSBwYXJzZUZpbHRl
ckZ1bmN0aW9uTGlzdChleHBlY3RlZFZhbHVlKTsKICAgICAgICAgcmVzdWx0ID0gY29tcGFyZUZp
bHRlckZ1bmN0aW9ucyhmaWx0ZXJQYXJhbWV0ZXJzLCBmaWx0ZXIyUGFyYW1ldGVycywgdG9sZXJh
bmNlKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY29sb3ItZmlsdGVycy9jb2xvci1m
aWx0ZXItYW5pbWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY29sb3ItZmls
dGVycy9jb2xvci1maWx0ZXItYW5pbWF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YmIw
Yzg3OWJkZmJkZGNmNmQxZDlkMmJkNmMwN2FkOGM2YmYwZDU1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZpbHRlci1hbmltYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKKyAgICAgICAKK1BBU1MgLSAiY29sb3JGaWx0ZXIi
IHByb3BlcnR5IGZvciAiZ3JheXNjYWxlLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiBncmF5c2NhbGUoMC41KQorUEFTUyAtICJjb2xvckZpbHRlciIgcHJvcGVydHkg
Zm9yICJzZXBpYS1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogc2Vw
aWEoMC41KQorUEFTUyAtICJjb2xvckZpbHRlciIgcHJvcGVydHkgZm9yICJzYXR1cmF0ZS1ib3gi
IGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogc2F0dXJhdGUoMC41KQorUEFT
UyAtICJjb2xvckZpbHRlciIgcHJvcGVydHkgZm9yICJodWVyb3RhdGUtYm94IiBlbGVtZW50IGF0
IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGh1ZS1yb3RhdGUoOTBkZWcpCitQQVNTIC0gImNv
bG9yRmlsdGVyIiBwcm9wZXJ0eSBmb3IgImludmVydC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNv
bWV0aGluZyBjbG9zZSB0bzogaW52ZXJ0KDAuNSkKK1BBU1MgLSAiY29sb3JGaWx0ZXIiIHByb3Bl
cnR5IGZvciAib3BhY2l0eS1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0
bzogb3BhY2l0eSgwLjUpCitQQVNTIC0gImNvbG9yRmlsdGVyIiBwcm9wZXJ0eSBmb3IgImJyaWdo
dG5lc3MtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGJyaWdodG5l
c3MoMC41KQorUEFTUyAtICJjb2xvckZpbHRlciIgcHJvcGVydHkgZm9yICJjb250cmFzdC1ib3gi
IGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY29udHJhc3QoMC41KQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NvbG9yLWZpbHRlcnMvY29sb3ItZmlsdGVyLWFu
aW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jb2xvci1maWx0ZXJzL2NvbG9yLWZpbHRl
ci1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWVkOWZlNDY5NGFkOTFhNDNhZDRmYTVjZmMz
YzhjNjlmNWIwYjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jb2xvci1m
aWx0ZXJzL2NvbG9yLWZpbHRlci1hbmltYXRpb24uaHRtbApAQCAtMCwwICsxLDExOSBAQAorPCFE
T0NUWVBFIGh0bWw+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAuYm94IHsKKyAg
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICBtYXJn
aW46IDEwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIGRpc3Bs
YXk6IGlubGluZS1ibG9jazsKKyAgICB9CisKKyAgICAjZ3JheXNjYWxlLWJveCB7CisgICAgICBh
bmltYXRpb246IGdyYXlzY2FsZS1hbmltIDJzIGxpbmVhcgorICAgIH0KKworICAgICNzZXBpYS1i
b3ggeworICAgICAgYW5pbWF0aW9uOiBzZXBpYS1hbmltIDJzIGxpbmVhcgorICAgIH0KKworICAg
ICNzYXR1cmF0ZS1ib3ggeworICAgICAgYW5pbWF0aW9uOiBzYXR1cmF0ZS1hbmltIDJzIGxpbmVh
cgorICAgIH0KKworICAgICNodWVyb3RhdGUtYm94IHsKKyAgICAgIGFuaW1hdGlvbjogaHVlcm90
YXRlLWFuaW0gMnMgbGluZWFyCisgICAgfQorCisgICAgI2ludmVydC1ib3ggeworICAgICAgYW5p
bWF0aW9uOiBpbnZlcnQtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKKyAgICAjb3BhY2l0eS1ib3gg
eworICAgICAgYW5pbWF0aW9uOiBvcGFjaXR5LWFuaW0gMnMgbGluZWFyCisgICAgfQorCisgICAg
I2JyaWdodG5lc3MtYm94IHsKKyAgICAgIGFuaW1hdGlvbjogYnJpZ2h0bmVzcy1hbmltIDJzIGxp
bmVhcgorICAgIH0KKworICAgICNjb250cmFzdC1ib3ggeworICAgICAgYW5pbWF0aW9uOiBjb250
cmFzdC1hbmltIDJzIGxpbmVhcgorICAgIH0KKworCisgICAgQGtleWZyYW1lcyBncmF5c2NhbGUt
YW5pbSB7CisgICAgICAgIGZyb20geyBjb2xvci1maWx0ZXI6IGdyYXlzY2FsZSgwKTsgfQorICAg
ICAgICB0byAgIHsgY29sb3ItZmlsdGVyOiBncmF5c2NhbGUoMSk7IH0KKyAgICB9CisKKyAgICBA
a2V5ZnJhbWVzIHNlcGlhLWFuaW0geworICAgICAgICBmcm9tIHsgY29sb3ItZmlsdGVyOiBzZXBp
YSgwKTsgfQorICAgICAgICB0byAgIHsgY29sb3ItZmlsdGVyOiBzZXBpYSgxKTsgfQorICAgIH0K
KworICAgIEBrZXlmcmFtZXMgc2F0dXJhdGUtYW5pbSB7CisgICAgICAgIGZyb20geyBjb2xvci1m
aWx0ZXI6IHNhdHVyYXRlKDApOyB9CisgICAgICAgIHRvICAgeyBjb2xvci1maWx0ZXI6IHNhdHVy
YXRlKDEpOyB9CisgICAgfQorCisgICAgQGtleWZyYW1lcyBodWVyb3RhdGUtYW5pbSB7CisgICAg
ICAgIGZyb20geyBjb2xvci1maWx0ZXI6IGh1ZS1yb3RhdGUoMCk7IH0KKyAgICAgICAgdG8gICB7
IGNvbG9yLWZpbHRlcjogaHVlLXJvdGF0ZSgxODBkZWcpOyB9CisgICAgfQorCisgICAgQGtleWZy
YW1lcyBpbnZlcnQtYW5pbSB7CisgICAgICAgIGZyb20geyBjb2xvci1maWx0ZXI6IGludmVydCgw
KTsgfQorICAgICAgICB0byAgIHsgY29sb3ItZmlsdGVyOiBpbnZlcnQoMSk7IH0KKyAgICB9CisK
KyAgICBAa2V5ZnJhbWVzIG9wYWNpdHktYW5pbSB7CisgICAgICAgIGZyb20geyBjb2xvci1maWx0
ZXI6IG9wYWNpdHkoMSk7IH0KKyAgICAgICAgdG8gICB7IGNvbG9yLWZpbHRlcjogb3BhY2l0eSgw
KTsgfQorICAgIH0KKworICAgIEBrZXlmcmFtZXMgYnJpZ2h0bmVzcy1hbmltIHsKKyAgICAgICAg
ZnJvbSB7IGNvbG9yLWZpbHRlcjogYnJpZ2h0bmVzcygxKTsgfQorICAgICAgICB0byAgIHsgY29s
b3ItZmlsdGVyOiBicmlnaHRuZXNzKDApOyB9CisgICAgfQorCisgICAgQGtleWZyYW1lcyBjb250
cmFzdC1hbmltIHsKKyAgICAgICAgZnJvbSB7IGNvbG9yLWZpbHRlcjogY29udHJhc3QoMSk7IH0K
KyAgICAgICAgdG8gICB7IGNvbG9yLWZpbHRlcjogY29udHJhc3QoMCk7IH0KKyAgICB9CisKKyAg
PC9zdHlsZT4KKyAgPHNjcmlwdCBzcmM9Ii4uLy4uL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1h
dGlvbi10ZXN0LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAvLyBbYW5pbWF0
aW9uLW5hbWUsIHRpbWUsIGVsZW1lbnQtaWQsIHByb3BlcnR5LCBleHBlY3RlZC12YWx1ZSwgdG9s
ZXJhbmNlXQorICAgICAgWyJncmF5c2NhbGUtYW5pbSIsICAxLCAiZ3JheXNjYWxlLWJveCIsICJj
b2xvckZpbHRlciIsICdncmF5c2NhbGUoMC41KScsIDAuMDVdLAorICAgICAgWyJzZXBpYS1hbmlt
IiwgIDEsICJzZXBpYS1ib3giLCAiY29sb3JGaWx0ZXIiLCAnc2VwaWEoMC41KScsIDAuMDVdLAor
ICAgICAgWyJzYXR1cmF0ZS1hbmltIiwgIDEsICJzYXR1cmF0ZS1ib3giLCAiY29sb3JGaWx0ZXIi
LCAnc2F0dXJhdGUoMC41KScsIDAuMDVdLAorICAgICAgWyJodWVyb3RhdGUtYW5pbSIsICAxLCAi
aHVlcm90YXRlLWJveCIsICJjb2xvckZpbHRlciIsICdodWUtcm90YXRlKDkwZGVnKScsIDJdLAor
ICAgICAgWyJpbnZlcnQtYW5pbSIsICAxLCAiaW52ZXJ0LWJveCIsICJjb2xvckZpbHRlciIsICdp
bnZlcnQoMC41KScsIDAuMDVdLAorICAgICAgWyJvcGFjaXR5LWFuaW0iLCAgMSwgIm9wYWNpdHkt
Ym94IiwgImNvbG9yRmlsdGVyIiwgJ29wYWNpdHkoMC41KScsIDAuMDVdLAorICAgICAgWyJicmln
aHRuZXNzLWFuaW0iLCAgMSwgImJyaWdodG5lc3MtYm94IiwgImNvbG9yRmlsdGVyIiwgJ2JyaWdo
dG5lc3MoMC41KScsIDAuMDVdLAorICAgICAgWyJjb250cmFzdC1hbmltIiwgIDEsICJjb250cmFz
dC1ib3giLCAiY29sb3JGaWx0ZXIiLCAnY29udHJhc3QoMC41KScsIDAuMDVdLAorICAgIF07Cisg
ICAgCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7CisgIDwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisKKzxkaXYgY2xhc3M9ImJveCIgaWQ9ImdyYXlzY2FsZS1ib3giPjwv
ZGl2PgorPGRpdiBjbGFzcz0iYm94IiBpZD0ic2VwaWEtYm94Ij48L2Rpdj4KKzxkaXYgY2xhc3M9
ImJveCIgaWQ9InNhdHVyYXRlLWJveCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJodWVy
b3RhdGUtYm94Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImJveCIgaWQ9ImludmVydC1ib3giPjwvZGl2
PgorPGRpdiBjbGFzcz0iYm94IiBpZD0ib3BhY2l0eS1ib3giPjwvZGl2PgorPGRpdiBjbGFzcz0i
Ym94IiBpZD0iYnJpZ2h0bmVzcy1ib3giPjwvZGl2PgorPGRpdiBjbGFzcz0iYm94IiBpZD0iY29u
dHJhc3QtYm94Ij48L2Rpdj4KKworPGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>
<flag name="review"
          id="357273"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>