<?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>218080</bug_id>
          
          <creation_ts>2020-10-22 08:33:04 -0700</creation_ts>
          <short_desc>REGRESSION(r268615): certain animations break when moving from one to display to another or resizing the window</short_desc>
          <delta_ts>2021-08-05 11:06:30 -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>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=228833</see_also>
          <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="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1700644</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-10-22 08:33:04 -0700</bug_when>
    <thetext>REGRESSION(r268615): certain animations break when moving from one to display to another or resizing the window</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700648</commentid>
    <comment_count>1</comment_count>
      <attachid>412100</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-10-22 08:39:24 -0700</bug_when>
    <thetext>Created attachment 412100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700649</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-10-22 08:39:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/70547132&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700669</commentid>
    <comment_count>3</comment_count>
      <attachid>412100</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-10-22 09:10:07 -0700</bug_when>
    <thetext>Comment on attachment 412100
Patch

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

&gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:-669
&gt; -        noteLayerPropertyChanged(AnimationChanged | CoverageRectChanged);

Does bug 218081 cover the CoverageRectChanged case? That&apos;s about getting the tiling area right for layers which are children of an animating layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700723</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-10-22 10:37:35 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 412100 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412100&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:-669
&gt; &gt; -        noteLayerPropertyChanged(AnimationChanged | CoverageRectChanged);
&gt; 
&gt; Does bug 218081 cover the CoverageRectChanged case? That&apos;s about getting the
&gt; tiling area right for layers which are children of an animating layer.

We should probably file a different bug for this. I&apos;d appreciate some leads related to testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701019</commentid>
    <comment_count>5</comment_count>
      <attachid>412183</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-10-23 08:29:41 -0700</bug_when>
    <thetext>Created attachment 412183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701088</commentid>
    <comment_count>6</comment_count>
      <attachid>412183</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-10-23 11:30:06 -0700</bug_when>
    <thetext>Comment on attachment 412183
Patch

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

&gt; Source/WebCore/style/StyleTreeResolver.cpp:352
&gt; +        auto previousLastStyleChangeEventStyle = styleable.lastStyleChangeEventStyle() ? RenderStyle::clonePtr(*styleable.lastStyleChangeEventStyle()) : RenderStyle::createPtr();

Do you need to clone/copy? Does applyKeyframeEffects mutate the style?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701091</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-10-23 11:35:54 -0700</bug_when>
    <thetext>Committed r268932: &lt;https://trac.webkit.org/changeset/268932&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1701097</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-10-23 11:42:27 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #6)
&gt; Comment on attachment 412183 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=412183&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/style/StyleTreeResolver.cpp:352
&gt; &gt; +        auto previousLastStyleChangeEventStyle = styleable.lastStyleChangeEventStyle() ? RenderStyle::clonePtr(*styleable.lastStyleChangeEventStyle()) : RenderStyle::createPtr();
&gt; 
&gt; Do you need to clone/copy? Does applyKeyframeEffects mutate the style?

This is because we immediately call styleable.setLastStyleChangeEventStyle() which would make the previous value no longer owned by anything.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412100</attachid>
            <date>2020-10-22 08:39:24 -0700</date>
            <delta_ts>2020-10-23 08:29:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218080-20201022173923.patch</filename>
            <type>text/plain</type>
            <size>2123</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZiNzZlNWRhNjM4NTFm
ZGFhZTkzODhjYzVhOGIxZmRlMTczM2M5MS4uYTYyZDdhYTU4M2EyNTkxNmExYjBmNDQzYWVjZTU2
ZDQyNjAyMTIyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTEwLTIyICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI2
ODYxNSk6IGNlcnRhaW4gYW5pbWF0aW9ucyBicmVhayB3aGVuIG1vdmluZyBmcm9tIG9uZSB0byBk
aXNwbGF5IHRvIGFub3RoZXIgb3IgcmVzaXppbmcgdGhlIHdpbmRvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDgwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDU0NzEzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW1vdmUgdGhlIGNvZGUgdGhhdCB3YXMgZGVzaWduZWQgdG8gdXBkYXRlIGFu
aW1hdGlvbnMgc2hvdWxkIGEgdHJhbnNmb3JtLXJlbGF0ZWQgQ1NTIHByb3BlcnR5IGNoYW5nZSB2
YWx1ZS4gVGhlIHByb3BlcgorICAgICAgICBmaXggaXMgdG8gZG8gdGhpcyBieSBsb29raW5nIGF0
IHRoZSBsYXN0IGtub3duIHN0eWxlIGNoYW5nZSBhbmQgaWRlbnRpZnlpbmcgd2hldGhlciBhIHRy
YW5zZm9ybS1yZWxhdGVkIENTUyBwcm9wZXJ0eQorICAgICAgICBjaGFuZ2VkLCBhbmQgbm90IHRy
eSB0byBpbmZlciB0aGlzIGF0IHRoZSBHcmFwaGljc0xheWVyQ0EgbGV2ZWwuIFRoaXMgaXMgY292
ZXJlZCBieSBidWcgMjE4MDgxLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3Jh
cGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0
VHJhbnNmb3JtKToKKwogMjAyMC0xMC0yMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjYzNzI5KTogdHJhbnNmb3JtIHRyYW5zaXRp
b24gZG9lc24ndCByZXN0YXJ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAppbmRleCA0ZGM4YjU5MGExZDgwNTNjOTlk
NjYyNWIxMDNjNzFmM2I1NzczNDg5Li4wZjFmNjYxYzhiMDNkMDkxOGY4Nzg1NTJjNDEyZjhlNGQy
MjA5ZmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9H
cmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTY2MSwxMiArNjYxLDYgQEAgdm9pZCBHcmFwaGlj
c0xheWVyQ0E6OnNldFRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdCkKIAog
ICAgIEdyYXBoaWNzTGF5ZXI6OnNldFRyYW5zZm9ybSh0KTsKICAgICBub3RlTGF5ZXJQcm9wZXJ0
eUNoYW5nZWQoVHJhbnNmb3JtQ2hhbmdlZCk7Ci0KLSAgICAvLyBJZiB3ZSBhcmUgY3VycmVudGx5
IHJ1bm5pbmcgYSB0cmFuc2Zvcm0tcmVsYXRlZCBhbmltYXRpb24sIGEgY2hhbmdlIGluIHVuZGVy
bHlpbmcKLSAgICAvLyB0cmFuc2Zvcm0gdmFsdWUgbWVhbnMgd2UgbXVzdCByZS1ldmFsdWF0ZSBh
bGwgdHJhbnNmb3JtLXJlbGF0ZWQgYW5pbWF0aW9ucyB0byBlbnN1cmUKLSAgICAvLyB0aGF0IHRo
ZSBiYXNlIHZhbHVlIHRyYW5zZm9ybSBhbmltYXRpb25zIGFyZSBjdXJyZW50LgotICAgIGlmIChp
c1J1bm5pbmdUcmFuc2Zvcm1BbmltYXRpb24oKSkKLSAgICAgICAgbm90ZUxheWVyUHJvcGVydHlD
aGFuZ2VkKEFuaW1hdGlvbkNoYW5nZWQgfCBDb3ZlcmFnZVJlY3RDaGFuZ2VkKTsKIH0KIAogdm9p
ZCBHcmFwaGljc0xheWVyQ0E6OnNldENoaWxkcmVuVHJhbnNmb3JtKGNvbnN0IFRyYW5zZm9ybWF0
aW9uTWF0cml4JiB0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412183</attachid>
            <date>2020-10-23 08:29:41 -0700</date>
            <delta_ts>2020-10-23 11:30:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218080-20201023172939.patch</filename>
            <type>text/plain</type>
            <size>27140</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY2Y2ZlMGI1MWViM2Qz
Nzc1MDI4Mjg5NDhjY2JmYjc2ZjdhNDc4NS4uZGIzZTg5MzNiMmM2NjQxNjY1ZmZlOWMzZjY3MDQz
YWRkYTgyZmQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc1IEBACisyMDIwLTEwLTIzICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI2
ODYxNSk6IGNlcnRhaW4gYW5pbWF0aW9ucyBicmVhayB3aGVuIG1vdmluZyBmcm9tIG9uZSB0byBk
aXNwbGF5IHRvIGFub3RoZXIgb3IgcmVzaXppbmcgdGhlIHdpbmRvdworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MDgwCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MDU0NzEzMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTaW5jZSB0cmFuc2Zvcm0tcmVsYXRlZCBhbmltYXRpb25zIGluY2x1ZGUgbm9u
LWludGVycG9sYXRpbmcgYW5pbWF0aW9ucyBtZWFudCB0byBpbnNlcnQgdGhlIHN0YXRpYyBiYXNl
IHZhbHVlIGZvciBhIGdpdmVuCisgICAgICAgIHRyYW5zZm9ybS1yZWxhdGVkIENTUyBwcm9wZXJ0
eSwgd2UgbmVlZCB0byB1cGRhdGUgYW5pbWF0aW9ucyBvbiBHcmFwaGljc0xheWVyQ0Egd2hlbmV2
ZXIgb25lIG9mIHRoZSB0cmFuc2Zvcm0tcmVsYXRlZCBDU1MKKyAgICAgICAgcHJvcGVydGllcyBo
YXZlIGEgbmV3IHZhbHVlLgorCisgICAgICAgIFdlIHVzZWQgdG8gcmVseSBvbiBHcmFwaGljc0xh
eWVyQ0E6OnNldFRyYW5zZm9ybSgpIGJlaW5nIGNhbGxlZCB3aXRoIGEgZGlmZmVyZW50IHRyYW5z
Zm9ybSB0aGFuIHRoZSBjdXJyZW50IG9uZSB0byBpZGVudGlmeQorICAgICAgICBzdWNoIGNhc2Vz
LCBidXQgdGhhdCBpcyBzdWJvcHRpbWFsIGJlY2F1c2UgdGhhdCBtZXRob2QgY2FuIGJlIGNhbGxl
ZCB3aXRoIGEgY29tcG91bmQgaW50ZXJwb2xhdGVkIHZhbHVlIG9mIHRyYW5zZm9ybS1yZWxhdGVk
CisgICAgICAgIENTUyBwcm9wZXJ0aWVzIHdoZW4gYSByZW5kZXJpbmcgdXBkYXRlIG9jY3Vycywg
c3VjaCBhcyBkdXJpbmcgcmVzaXppbmcgb3IgbW92aW5nIGEgd2luZG93IGJldHdlZW4gZGlzcGxh
eXMuIEluIHRob3NlIGNhc2VzLAorICAgICAgICB0aGUgc3RhdGljIGJhc2UgdmFsdWUgb2YgdGhl
IHRyYW5zZm9ybS1yZWxhdGVkIENTUyBwcm9wZXJ0aWVzIGhhc24ndCBhY3R1YWxseSBjaGFuZ2Vk
LiAKKyAgICAgICAgCisgICAgICAgIEluc3RlYWQsIHdlIG5vdyBwcm92aWRlIHRoZSBub24tYW5p
bWF0ZWQgc3R5bGUgZnJvbSB0aGUgbGFzdCBzdHlsZSBjaGFuZ2UgZXZlbnQgdG8gdGhlIGZ1bmN0
aW9uIHJlc29sdmluZyBrZXlmcmFtZSBlZmZlY3RzCisgICAgICAgIHNvIHRoYXQgZm9yIGEgZ2l2
ZW4gZWxlbWVudCB3ZSBjYW4gY29tcGFyZSB0aGF0IHN0eWxlIHdpdGggdGhlIG5ldywgYXMteWV0
LW5vbi1hbmltYXRlZCBzdHlsZSBhbmQgc2VlIGlmIGFueSBvZiB0aGUgdHJhbnNmb3JtLQorICAg
ICAgICByZWxhdGVkIENTUyBwcm9wZXJ0aWVzIGhhdmUgYmVlbiBjaGFuZ2VkLiBJZiB0aGF0IGlz
IHRoZSBjYXNlLCB3ZSBpbmZvcm0gYW55IEtleWZyYW1lRWZmZWN0IHRoYXQgaGFzIGEgcnVubmlu
ZyBhY2NlbGVyYXRlZAorICAgICAgICBhbmltYXRpb24gZm9yIGFueSBvZiB0aG9zZSBDU1MgcHJv
cGVydGllcyBzbyB0aGF0IHRoZSBlZmZlY3QgbWF5IGVucXVldWUgYW4gYWNjZWxlcmF0ZWQgYWN0
aW9uIHRoYXQgd2lsbCB0aGVuIG5vdGlmeSB0aGUKKyAgICAgICAgR3JhcGhpY3NMYXllciBvZiBz
dWNoIGEgY2hhbmdlLCBhbmQgdHJpZ2dlciBhbiBhbmltYXRpb24gdXBkYXRlLgorCisgICAgICAg
IFNpbmNlIHdlIHdlcmUgY2hhbmdpbmcgdGhlIGFwcGx5S2V5ZnJhbWVFZmZlY3RzKCkgbWV0aG9k
IHNpZ25hdHVyZSB0byBhZGQgdGhlIGV4dHJhIFJlbmRlclN0eWxlIG5lZWRlZCB0byBjb21wYXJl
IHRoZSBjdXJyZW50CisgICAgICAgIGFuZCBwcmV2aW91cyBub24tYW5pbWF0ZWQgc3R5bGVzLCB3
ZSBhbHNvIG1vdmVkIHRoYXQgbWV0aG9kIGZyb20gRWxlbWVudCB0byBLZXlmcmFtZUVmZmVjdFN0
YWNrIHNpbmNlIG5vIEVsZW1lbnQgcHJpdmF0ZQorICAgICAgICBBUEkgd2FzIHJlcXVpcmVkLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0IHNpbmNlIHRoaXMgd2FzIGFscmVhZHkgdGVzdGVkIGJ5IHdl
YmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtdHJhbnNsYXRlLWFuaW1hdGlvbi11bmRlcmx5aW5nLXRy
YW5zZm9ybS1jaGFuZ2VkLWluLWZsaWdodC5odG1sCisgICAgICAgIGFuZCBpdCdzIG5vdCBjbGVh
ciBob3cgdG8gdGVzdCB0aGUgbGl2ZS1yZXNpemluZyBvciBkaXNwbGF5LWNoYW5nZSBzY2VuYXJp
by4KKworICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpLZXlmcmFtZUVmZmVjdDo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFuc2Zvcm1SZWxh
dGVkQW5pbWF0aW9uIGNvbnN0KTogTmV3IG1ldGhvZCBjYWxsZWQgZnJvbSBLZXlmcmFtZUVmZmVj
dFN0YWNrOjphcHBseUtleWZyYW1lRWZmZWN0cygpCisgICAgICAgIHRvIGluZGljYXRlIHRoYXQg
YSBrZXlmcmFtZSBlZmZlY3QgaGFzIGEgcnVubmluZyBhY2NlbGVyYXRlZCBhbmltYXRpb24gdGFy
Z2V0aW5nIGEgdHJhbnNmb3JtLXJlbGF0ZWQgcHJvcGVydHkuIAorICAgICAgICAoV2ViQ29yZTo6
S2V5ZnJhbWVFZmZlY3Q6OmFkZFBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbik6IEVuc3VyZSB0aGF0
IHRoZSBuZXcgQWNjZWxlcmF0ZWRBY3Rpb246OlRyYW5zZm9ybUNoYW5nZSBhY2NlbGVyYXRlZCBh
Y3Rpb24KKyAgICAgICAgcmVjb3JkZWQgaW4gdHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5RGlkQ2hh
bmdlKCkgaXMgbm90IGV2ZXIgc2V0IGFzIG1fbGFzdFJlY29yZGVkQWNjZWxlcmF0ZWRBY3Rpb24g
YXMgd2UgdXNlIHRoaXMgbWVtYmVyIHRvIGlkZW50aWZ5CisgICAgICAgIHdoZXRoZXIgd2UgaGF2
ZSBhIHBlbmRpbmcgcnVubmluZywgcGF1c2Ugb3Igc3RvcCBhY3Rpb24uCisgICAgICAgIChXZWJD
b3JlOjpLZXlmcmFtZUVmZmVjdDo6dHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5RGlkQ2hhbmdlKTog
TmV3IG1ldGhvZCBtZWFudCB0byBiZSBjYWxsZWQgZm9yIGFuIGVmZmVjdCB0aGF0IGhhcyBhIHJ1
bm5pbmcKKyAgICAgICAgYWNjZWxlcmF0ZWQgYW5pbWF0aW9uIHRhcmdldGluZyBhIHRyYW5zZm9y
bS1yZWxhdGVkIHByb3BlcnR5IHRvIG5vdGlmeSB0aGF0IG9uZSBvciBtb3JlIG9mIHRoZSB0YXJn
ZXQgZWxlbWVudCdzIHRyYW5zZm9ybS1yZWxhdGVkCisgICAgICAgIENTUyBwcm9wZXJ0eSBzdGF0
aWMgdmFsdWVzIHdhcyBjaGFuZ2VkLgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3Q6
OmFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucyk6IENhbGwgdHJhbnNmb3JtUmVsYXRlZFBy
b3BlcnR5RGlkQ2hhbmdlKCkgb24gdGhlIGNvbXBvc2l0ZWQgcmVuZGVyZXIgZm9yCisgICAgICAg
IGEgQWNjZWxlcmF0ZWRBY3Rpb246OlRyYW5zZm9ybUNoYW5nZSBhY3Rpb24uCisgICAgICAgICog
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0Lmg6CisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0U3RhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZlY3RTdGFjazo6
YXBwbHlLZXlmcmFtZUVmZmVjdHMpOiBNb3ZlIHRoZSBtZXRob2QgcHJldmlvdXNseSBleHBvc2Vk
IG9uIEVsZW1lbnQgdG8gS2V5ZnJhbWVFZmZlY3RTdGFjay4gQWRkaXRpb25hbGx5LAorICAgICAg
ICBhY2NlcHQgYW4gZXh0cmEgUmVuZGVyU3R5bGUgcGFyYW1ldGVyIHRvIHByb3ZpZGUgdGhlIG5v
bi1hbmltYXRlZCBzdHlsZSBmcm9tIHRoZSBsYXN0IHN0eWxlIGNoYW5nZSBldmVudCBzbyB0aGF0
IHdlIGNhbiBjb21wYXJlIHRoYXQgc3R5bGUKKyAgICAgICAgd2l0aCB0aGUgbmV3LCBhcy15ZXQt
bm9uLWFuaW1hdGVkIHN0eWxlIGFuZCBzZWUgaWYgYW55IG9mIHRoZSB0cmFuc2Zvcm0tcmVsYXRl
ZCBDU1MgcHJvcGVydGllcyBoYXZlIGJlZW4gY2hhbmdlZCBhbmQgbm90aWZ5IHRoZSBlZmZlY3QK
KyAgICAgICAgc2hvdWxkIGl0IHJ1biBhbiBhY2NlbGVyYXRlZCBhbmltYXRpb24gZm9yIG9uZSBv
ZiB0aG9zZSBwcm9wZXJ0aWVzLgorICAgICAgICAqIGFuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFN0
YWNrLmg6CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxl
bWVudDo6YXBwbHlLZXlmcmFtZUVmZmVjdHMpOiBEZWxldGVkLiBNb3ZlZCB0byBLZXlmcmFtZUVm
ZmVjdFN0YWNrLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NMYXllci5oOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
cjo6dHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5RGlkQ2hhbmdlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjpzZXRUcmFuc2Zvcm0pOiBNb3ZlIHRoZSBhbmltYXRpb24tdXBkYXRlIGxv
Z2ljIHRvIHRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eURpZENoYW5nZSgpCisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ0E6OnRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eURpZENoYW5nZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckVsZW1lbnQ6OnRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eURpZENoYW5nZSk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eURpZENoYW5nZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyTW9kZWxPYmplY3Q6OnRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eURpZENoYW5nZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaDoKKyAgICAgICAgKiBzdHls
ZS9TdHlsZVRyZWVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VHJlZVJl
c29sdmVyOjpjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUpOiBQYXNzIHRoZSBub24tYW5pbWF0
ZWQgc3R5bGUgZnJvbSB0aGUgbGFzdCBzdHlsZSBjaGFuZ2UgZXZlbnQgdG8KKyAgICAgICAgS2V5
ZnJhbWVFZmZlY3RTdGFjazo6YXBwbHlLZXlmcmFtZUVmZmVjdHMoKSB0byBkZXRlcm1pbmUgd2hl
dGhlciB0aGlzIHN0eWxlIGNoYW5nZSBldmVudCBpbmNsdWRlcyBhIGNoYW5nZSB0byBhbnkgb2Yg
dGhlCisgICAgICAgIHRyYW5zZm9ybS1yZWxhdGVkIHByb3BlcnRpZXMuCisgICAgICAgICogc3R5
bGUvU3R5bGVhYmxlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWFibGU6OmFwcGx5S2V5ZnJh
bWVFZmZlY3RzIGNvbnN0KToKKwogMjAyMC0xMC0yMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE51bGwgY2hlY2sgcGxhdGZvcm1TdHJhdGVn
aWVzIHdoZW4gbWFraW5nIGJsb2IgcmVhZCBzdHJlYW0gZm9yIGFuIE5TVVJMUmVxdWVzdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5kZXggYWE3MDMyNzNh
Y2FmYjFkYTliNTNkOWNkZWQ2NTA1NTc5ZTM2MjA5Ny4uMzUzYzljYjZiNTRmY2FlMWRmOThhMzVj
N2NlYTExZWFmMjkzNmNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tl
eWZyYW1lRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVF
ZmZlY3QuY3BwCkBAIC0xMjg1LDYgKzEyODUsMTcgQEAgYm9vbCBLZXlmcmFtZUVmZmVjdDo6aXNS
dW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25Gb3JQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3AK
ICAgICByZXR1cm4gaXNSdW5uaW5nQWNjZWxlcmF0ZWQoKSAmJiBDU1NQcm9wZXJ0eUFuaW1hdGlv
bjo6YW5pbWF0aW9uT2ZQcm9wZXJ0eUlzQWNjZWxlcmF0ZWQocHJvcGVydHkpICYmIG1fYmxlbmRp
bmdLZXlmcmFtZXMucHJvcGVydGllcygpLmNvbnRhaW5zKHByb3BlcnR5KTsKIH0KIAorYm9vbCBL
ZXlmcmFtZUVmZmVjdDo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFuc2Zvcm1SZWxhdGVkQW5pbWF0
aW9uKCkgY29uc3QKK3sKKyAgICBpZiAoIWlzUnVubmluZ0FjY2VsZXJhdGVkKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBtX2JsZW5kaW5nS2V5ZnJhbWVzLnByb3BlcnRp
ZXMoKS5jb250YWlucyhDU1NQcm9wZXJ0eVRyYW5zbGF0ZSkKKyAgICAgICAgfHwgbV9ibGVuZGlu
Z0tleWZyYW1lcy5wcm9wZXJ0aWVzKCkuY29udGFpbnMoQ1NTUHJvcGVydHlTY2FsZSkKKyAgICAg
ICAgfHwgbV9ibGVuZGluZ0tleWZyYW1lcy5wcm9wZXJ0aWVzKCkuY29udGFpbnMoQ1NTUHJvcGVy
dHlSb3RhdGUpCisgICAgICAgIHx8IG1fYmxlbmRpbmdLZXlmcmFtZXMucHJvcGVydGllcygpLmNv
bnRhaW5zKENTU1Byb3BlcnR5VHJhbnNmb3JtKTsKK30KKwogdm9pZCBLZXlmcmFtZUVmZmVjdDo6
aW52YWxpZGF0ZSgpCiB7CiAgICAgTE9HX1dJVEhfU1RSRUFNKEFuaW1hdGlvbnMsIHN0cmVhbSA8
PCAiS2V5ZnJhbWVFZmZlY3Q6OmludmFsaWRhdGUgb24gZWxlbWVudCAiIDw8IFZhbHVlT3JOdWxs
KHRhcmdldEVsZW1lbnRPclBzZXVkb0VsZW1lbnQoKSkpOwpAQCAtMTU5Miw3ICsxNjAzLDcgQEAg
dm9pZCBLZXlmcmFtZUVmZmVjdDo6YWRkUGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9uKEFjY2VsZXJh
dGVkQWN0aW9uIGFjdGlvbikKICAgICBpZiAoYWN0aW9uID09IEFjY2VsZXJhdGVkQWN0aW9uOjpT
dG9wKQogICAgICAgICBtX3BlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMuY2xlYXIoKTsKICAgICBt
X3BlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMuYXBwZW5kKGFjdGlvbik7Ci0gICAgaWYgKGFjdGlv
biAhPSBBY2NlbGVyYXRlZEFjdGlvbjo6VXBkYXRlVGltaW5nKQorICAgIGlmIChhY3Rpb24gIT0g
QWNjZWxlcmF0ZWRBY3Rpb246OlVwZGF0ZVRpbWluZyAmJiBhY3Rpb24gIT0gQWNjZWxlcmF0ZWRB
Y3Rpb246OlRyYW5zZm9ybUNoYW5nZSkKICAgICAgICAgbV9sYXN0UmVjb3JkZWRBY2NlbGVyYXRl
ZEFjdGlvbiA9IGFjdGlvbjsKICAgICBhbmltYXRpb24oKS0+YWNjZWxlcmF0ZWRTdGF0ZURpZENo
YW5nZSgpOwogfQpAQCAtMTYxOSw2ICsxNjMwLDEyIEBAIHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OmFu
aW1hdGlvbkRpZENoYW5nZVRpbWluZ1Byb3BlcnRpZXMoKQogICAgICAgICBtX3J1bm5pbmdBY2Nl
bGVyYXRlZCA9IFJ1bm5pbmdBY2NlbGVyYXRlZDo6Tm90U3RhcnRlZDsKIH0KIAordm9pZCBLZXlm
cmFtZUVmZmVjdDo6dHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5RGlkQ2hhbmdlKCkKK3sKKyAgICBB
U1NFUlQoaXNSdW5uaW5nQWNjZWxlcmF0ZWRUcmFuc2Zvcm1SZWxhdGVkQW5pbWF0aW9uKCkpOwor
ICAgIGFkZFBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbihBY2NlbGVyYXRlZEFjdGlvbjo6VHJhbnNm
b3JtQ2hhbmdlKTsKK30KKwogdm9pZCBLZXlmcmFtZUVmZmVjdDo6YW5pbWF0aW9uV2FzQ2FuY2Vs
ZWQoKQogewogICAgIGlmIChpc1J1bm5pbmdBY2NlbGVyYXRlZCgpIHx8IGlzQWJvdXRUb1J1bkFj
Y2VsZXJhdGVkKCkpCkBAIC0xNzA4LDYgKzE3MjUsOSBAQCB2b2lkIEtleWZyYW1lRWZmZWN0Ojph
cHBseVBlbmRpbmdBY2NlbGVyYXRlZEFjdGlvbnMoKQogICAgICAgICAgICAgICAgIG1fdGFyZ2V0
LT5pbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CiAgICAgICAgICAgICBtX3J1
bm5pbmdBY2NlbGVyYXRlZCA9IFJ1bm5pbmdBY2NlbGVyYXRlZDo6Tm90U3RhcnRlZDsKICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEFjY2VsZXJhdGVkQWN0aW9uOjpUcmFuc2Zvcm1D
aGFuZ2U6CisgICAgICAgICAgICByZW5kZXJlci0+dHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5RGlk
Q2hhbmdlKCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5oIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgKaW5kZXggNmQyZmUwMjI2YTE4ZWFm
ZWVmNzgyNmQyOWZiNjg3M2E1OTUwMWJlOS4uOGE2NWI3MjFhMWJkN2U4MzliZTljODY5MTYyNzAw
NWY5YWQzOWFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmgK
QEAgLTEzMiw2ICsxMzIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhbmltYXRpb25TdXNwZW5zaW9u
U3RhdGVEaWRDaGFuZ2UoYm9vbCkgZmluYWw7CiAgICAgdm9pZCBhbmltYXRpb25UaW1lbGluZURp
ZENoYW5nZShBbmltYXRpb25UaW1lbGluZSopIGZpbmFsOwogICAgIHZvaWQgYW5pbWF0aW9uVGlt
aW5nRGlkQ2hhbmdlKCk7CisgICAgdm9pZCB0cmFuc2Zvcm1SZWxhdGVkUHJvcGVydHlEaWRDaGFu
Z2UoKTsKICAgICB2b2lkIGFwcGx5UGVuZGluZ0FjY2VsZXJhdGVkQWN0aW9ucygpOwogCiAgICAg
dm9pZCB3aWxsQ2hhbmdlUmVuZGVyZXIoKTsKQEAgLTE2NywxMyArMTY4LDE0IEBAIHB1YmxpYzoK
ICAgICBlbnVtIGNsYXNzIEFjY2VsZXJhdGVkIDogdWludDhfdCB7IFllcywgTm8gfTsKICAgICBi
b29sIGlzQ3VycmVudGx5QWZmZWN0aW5nUHJvcGVydHkoQ1NTUHJvcGVydHlJRCwgQWNjZWxlcmF0
ZWQgPSBBY2NlbGVyYXRlZDo6Tm8pIGNvbnN0OwogICAgIGJvb2wgaXNSdW5uaW5nQWNjZWxlcmF0
ZWRBbmltYXRpb25Gb3JQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEKSBjb25zdDsKKyAgICBib29sIGlz
UnVubmluZ0FjY2VsZXJhdGVkVHJhbnNmb3JtUmVsYXRlZEFuaW1hdGlvbigpIGNvbnN0OwogCiAg
ICAgYm9vbCByZXF1aXJlc1BzZXVkb0VsZW1lbnQoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBL
ZXlmcmFtZUVmZmVjdChFbGVtZW50KiwgUHNldWRvSWQpOwogCi0gICAgZW51bSBjbGFzcyBBY2Nl
bGVyYXRlZEFjdGlvbiA6IHVpbnQ4X3QgeyBQbGF5LCBQYXVzZSwgVXBkYXRlVGltaW5nLCBTdG9w
IH07CisgICAgZW51bSBjbGFzcyBBY2NlbGVyYXRlZEFjdGlvbiA6IHVpbnQ4X3QgeyBQbGF5LCBQ
YXVzZSwgVXBkYXRlVGltaW5nLCBUcmFuc2Zvcm1DaGFuZ2UsIFN0b3AgfTsKICAgICBlbnVtIGNs
YXNzIEJsZW5kaW5nS2V5ZnJhbWVzU291cmNlIDogdWludDhfdCB7IENTU0FuaW1hdGlvbiwgQ1NT
VHJhbnNpdGlvbiwgV2ViQW5pbWF0aW9uIH07CiAgICAgZW51bSBjbGFzcyBBY2NlbGVyYXRlZFBy
b3BlcnRpZXMgOiB1aW50OF90IHsgTm9uZSwgU29tZSwgQWxsIH07CiAgICAgZW51bSBjbGFzcyBS
dW5uaW5nQWNjZWxlcmF0ZWQgOiB1aW50OF90IHsgTm90U3RhcnRlZCwgWWVzLCBObyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0U3RhY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0U3RhY2suY3BwCmluZGV4
IGQ1ZjQwZWQ4MWUyMzBlZGFlNmY2ZWM1NDVhNzEzMmRhMDkxZTQ0ZDYuLmM3NzdmYmVmOTM0Y2I4
NDBiZDM4OTg1NGMwMWFhODE4YTM5Y2VmZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fu
aW1hdGlvbi9LZXlmcmFtZUVmZmVjdFN0YWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3RTdGFjay5jcHAKQEAgLTExMSw0ICsxMTEsMzIgQEAgdm9pZCBL
ZXlmcmFtZUVmZmVjdFN0YWNrOjpzZXRDU1NBbmltYXRpb25MaXN0KFJlZlB0cjxjb25zdCBBbmlt
YXRpb25MaXN0PiYmIGNzc0EKICAgICBtX2lzU29ydGVkID0gZmFsc2U7CiB9CiAKK09wdGlvblNl
dDxBbmltYXRpb25JbXBhY3Q+IEtleWZyYW1lRWZmZWN0U3RhY2s6OmFwcGx5S2V5ZnJhbWVFZmZl
Y3RzKFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIHByZXZpb3Vz
TGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZSkKK3sKKyAgICBPcHRpb25TZXQ8QW5pbWF0aW9uSW1w
YWN0PiBpbXBhY3Q7CisKKyAgICBhdXRvIHRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eUNoYW5nZWQg
PSBbJl0oKSAtPiBib29sIHsKKyAgICAgICAgcmV0dXJuICFhcmVQb2ludGluZ1RvRXF1YWxEYXRh
KHRhcmdldFN0eWxlLnRyYW5zbGF0ZSgpLCBwcmV2aW91c0xhc3RTdHlsZUNoYW5nZUV2ZW50U3R5
bGUudHJhbnNsYXRlKCkpCisgICAgICAgICAgICB8fCAhYXJlUG9pbnRpbmdUb0VxdWFsRGF0YSh0
YXJnZXRTdHlsZS5zY2FsZSgpLCBwcmV2aW91c0xhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUuc2Nh
bGUoKSkKKyAgICAgICAgICAgIHx8ICFhcmVQb2ludGluZ1RvRXF1YWxEYXRhKHRhcmdldFN0eWxl
LnJvdGF0ZSgpLCBwcmV2aW91c0xhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUucm90YXRlKCkpCisg
ICAgICAgICAgICB8fCB0YXJnZXRTdHlsZS50cmFuc2Zvcm0oKSAhPSBwcmV2aW91c0xhc3RTdHls
ZUNoYW5nZUV2ZW50U3R5bGUudHJhbnNmb3JtKCk7CisgICAgfSgpOworCisgICAgZm9yIChjb25z
dCBhdXRvJiBlZmZlY3QgOiBzb3J0ZWRFZmZlY3RzKCkpIHsKKyAgICAgICAgQVNTRVJUKGVmZmVj
dC0+YW5pbWF0aW9uKCkpOworICAgICAgICBlZmZlY3QtPmFuaW1hdGlvbigpLT5yZXNvbHZlKHRh
cmdldFN0eWxlKTsKKworICAgICAgICBpZiAoZWZmZWN0LT5pc1J1bm5pbmdBY2NlbGVyYXRlZCgp
IHx8IGVmZmVjdC0+aXNBYm91dFRvUnVuQWNjZWxlcmF0ZWQoKSkKKyAgICAgICAgICAgIGltcGFj
dC5hZGQoQW5pbWF0aW9uSW1wYWN0OjpSZXF1aXJlc1JlY29tcG9zaXRlKTsKKworICAgICAgICBp
ZiAoZWZmZWN0LT50cmlnZ2Vyc1N0YWNraW5nQ29udGV4dCgpKQorICAgICAgICAgICAgaW1wYWN0
LmFkZChBbmltYXRpb25JbXBhY3Q6OkZvcmNlc1N0YWNraW5nQ29udGV4dCk7CisKKyAgICAgICAg
aWYgKHRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eUNoYW5nZWQgJiYgZWZmZWN0LT5pc1J1bm5pbmdB
Y2NlbGVyYXRlZFRyYW5zZm9ybVJlbGF0ZWRBbmltYXRpb24oKSkKKyAgICAgICAgICAgIGVmZmVj
dC0+dHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5RGlkQ2hhbmdlKCk7CisgICAgfQorCisgICAgcmV0
dXJuIGltcGFjdDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0U3RhY2suaCBiL1NvdXJjZS9XZWJD
b3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFN0YWNrLmgKaW5kZXggMWRiODQwNDI2OGVjNzkz
YWNiNGY1MTI3MGFiY2NkMTA0YTU0NmNmMC4uMzRlOGE0MWExZTBjYmRlYTU0MDc0MTgyMjljYTBk
ZTNkZGI3MjIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0U3RhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZl
Y3RTdGFjay5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJBbmltYXRpb25MaXN0Lmgi
CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgorI2luY2x1ZGUgIldlYkFuaW1hdGlvblR5
cGVzLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CiAKQEAgLTQ4LDYgKzQ5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q1NTQW5pbWF0aW9uTGlz
dChSZWZQdHI8Y29uc3QgQW5pbWF0aW9uTGlzdD4mJik7CiAgICAgYm9vbCBpc0N1cnJlbnRseUFm
ZmVjdGluZ1Byb3BlcnR5KENTU1Byb3BlcnR5SUQpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNQ
c2V1ZG9FbGVtZW50KCkgY29uc3Q7CisgICAgT3B0aW9uU2V0PEFuaW1hdGlvbkltcGFjdD4gYXBw
bHlLZXlmcmFtZUVmZmVjdHMoUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlLCBjb25zdCBSZW5kZXJT
dHlsZSYgcHJldmlvdXNMYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKTsKIAogcHJpdmF0ZToKICAg
ICB2b2lkIGVuc3VyZUVmZmVjdHNBcmVTb3J0ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRl
eCAyZjBlMWRhMGZmNmJlMWM2NGM1YWQ4NTViNDNjZDRiMDdhZTc4YTdkLi5kODhiMGI5ZDU0NmY2
ZDU4MWVlYzVhZjA0NDJjNGRjNzhhNGZhOGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0z
ODIyLDI0ICszODIyLDYgQEAgYm9vbCBFbGVtZW50OjpoYXNLZXlmcmFtZUVmZmVjdHMoUHNldWRv
SWQgcHNldWRvSWQpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1PcHRpb25TZXQ8QW5p
bWF0aW9uSW1wYWN0PiBFbGVtZW50OjphcHBseUtleWZyYW1lRWZmZWN0cyhQc2V1ZG9JZCBwc2V1
ZG9JZCwgUmVuZGVyU3R5bGUmIHRhcmdldFN0eWxlKQotewotICAgIE9wdGlvblNldDxBbmltYXRp
b25JbXBhY3Q+IGltcGFjdDsKLQotICAgIGZvciAoY29uc3QgYXV0byYgZWZmZWN0IDogZW5zdXJl
S2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1ZG9JZCkuc29ydGVkRWZmZWN0cygpKSB7Ci0gICAgICAg
IEFTU0VSVChlZmZlY3QtPmFuaW1hdGlvbigpKTsKLSAgICAgICAgZWZmZWN0LT5hbmltYXRpb24o
KS0+cmVzb2x2ZSh0YXJnZXRTdHlsZSk7Ci0KLSAgICAgICAgaWYgKGVmZmVjdC0+aXNSdW5uaW5n
QWNjZWxlcmF0ZWQoKSB8fCBlZmZlY3QtPmlzQWJvdXRUb1J1bkFjY2VsZXJhdGVkKCkpCi0gICAg
ICAgICAgICBpbXBhY3QuYWRkKEFuaW1hdGlvbkltcGFjdDo6UmVxdWlyZXNSZWNvbXBvc2l0ZSk7
Ci0KLSAgICAgICAgaWYgKGVmZmVjdC0+dHJpZ2dlcnNTdGFja2luZ0NvbnRleHQoKSkKLSAgICAg
ICAgICAgIGltcGFjdC5hZGQoQW5pbWF0aW9uSW1wYWN0OjpGb3JjZXNTdGFja2luZ0NvbnRleHQp
OwotICAgIH0KLQotICAgIHJldHVybiBpbXBhY3Q7Ci19Ci0KIGNvbnN0IEFuaW1hdGlvbkNvbGxl
Y3Rpb24qIEVsZW1lbnQ6OmFuaW1hdGlvbnMoUHNldWRvSWQgcHNldWRvSWQpIGNvbnN0CiB7CiAg
ICAgaWYgKGF1dG8qIGFuaW1hdGlvbkRhdGEgPSBhbmltYXRpb25SYXJlRGF0YShwc2V1ZG9JZCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAppbmRleCAxMjRjZjlkMWNkNmU2MWE3YjY3ODVkMTA4MWFlOTJhZGM0
MzQ4OWNkLi41NjY1MjNkMzM0NzI5ODkzMWI1MTAzZjM5NGQxMzljZWUyNGYwMmQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgKQEAgLTQ4OSw3ICs0ODksNiBAQCBwdWJsaWM6CiAgICAgS2V5ZnJhbWVFZmZl
Y3RTdGFjayoga2V5ZnJhbWVFZmZlY3RTdGFjayhQc2V1ZG9JZCkgY29uc3Q7CiAgICAgS2V5ZnJh
bWVFZmZlY3RTdGFjayYgZW5zdXJlS2V5ZnJhbWVFZmZlY3RTdGFjayhQc2V1ZG9JZCk7CiAgICAg
Ym9vbCBoYXNLZXlmcmFtZUVmZmVjdHMoUHNldWRvSWQpIGNvbnN0OwotICAgIE9wdGlvblNldDxB
bmltYXRpb25JbXBhY3Q+IGFwcGx5S2V5ZnJhbWVFZmZlY3RzKFBzZXVkb0lkLCBSZW5kZXJTdHls
ZSYpOwogCiAgICAgY29uc3QgQW5pbWF0aW9uQ29sbGVjdGlvbiogYW5pbWF0aW9ucyhQc2V1ZG9J
ZCkgY29uc3Q7CiAgICAgYm9vbCBoYXNDb21wbGV0ZWRUcmFuc2l0aW9uRm9yUHJvcGVydHkoUHNl
dWRvSWQsIENTU1Byb3BlcnR5SUQpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IGUzNmQxNGQwMzhlYzg2YjNmYmY0MjI0
YTg0OTU2ZDZiYTBmMWQyMWMuLjczNzRjNGNiMjNiODIxMWY1MWI1ZDA3ZjA0OTc2NWNkN2Y3Zjg4
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmgKQEAgLTQ4NSw3ICs0ODUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGFkZEFu
aW1hdGlvbihjb25zdCBLZXlmcmFtZVZhbHVlTGlzdCYsIGNvbnN0IEZsb2F0U2l6ZSYgLypib3hT
aXplKi8sIGNvbnN0IEFuaW1hdGlvbiosIGNvbnN0IFN0cmluZyYgLyphbmltYXRpb25OYW1lKi8s
IGRvdWJsZSAvKnRpbWVPZmZzZXQqLykgIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2
b2lkIHBhdXNlQW5pbWF0aW9uKGNvbnN0IFN0cmluZyYgLyphbmltYXRpb25OYW1lKi8sIGRvdWJs
ZSAvKnRpbWVPZmZzZXQqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUFuaW1hdGlvbihj
b25zdCBTdHJpbmcmIC8qYW5pbWF0aW9uTmFtZSovKSB7IH0KLQorICAgIHZpcnR1YWwgdm9pZCB0
cmFuc2Zvcm1SZWxhdGVkUHJvcGVydHlEaWRDaGFuZ2UoKSB7IH0KICAgICBXRUJDT1JFX0VYUE9S
VCB2aXJ0dWFsIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5j
cHAKaW5kZXggMGYxZDg3ZTQ0YzViMzJlYzJkMjcwZTY5YTJhMDAwMDNiODhmNzllOC4uYzAwNjli
ZGNmYmQ2MWZmNzY1OGVhY2QxMDYwODJhZTBjNmZkMjBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC02
NjYsMTIgKzY2Niw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpzZXRUcmFuc2Zvcm0oY29uc3Qg
VHJhbnNmb3JtYXRpb25NYXRyaXgmIHQpCiAKICAgICBHcmFwaGljc0xheWVyOjpzZXRUcmFuc2Zv
cm0odCk7CiAgICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKFRyYW5zZm9ybUNoYW5nZWQpOwot
Ci0gICAgLy8gSWYgd2UgYXJlIGN1cnJlbnRseSBydW5uaW5nIGEgdHJhbnNmb3JtLXJlbGF0ZWQg
YW5pbWF0aW9uLCBhIGNoYW5nZSBpbiB1bmRlcmx5aW5nCi0gICAgLy8gdHJhbnNmb3JtIHZhbHVl
IG1lYW5zIHdlIG11c3QgcmUtZXZhbHVhdGUgYWxsIHRyYW5zZm9ybS1yZWxhdGVkIGFuaW1hdGlv
bnMgdG8gZW5zdXJlCi0gICAgLy8gdGhhdCB0aGUgYmFzZSB2YWx1ZSB0cmFuc2Zvcm0gYW5pbWF0
aW9ucyBhcmUgY3VycmVudC4KLSAgICBpZiAoaXNSdW5uaW5nVHJhbnNmb3JtQW5pbWF0aW9uKCkp
Ci0gICAgICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChBbmltYXRpb25DaGFuZ2VkIHwgQ292
ZXJhZ2VSZWN0Q2hhbmdlZCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllckNBOjpzZXRDaGlsZHJl
blRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdCkKQEAgLTExMDksNiArMTEw
MywxNSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cmVtb3ZlQW5pbWF0aW9uKGNvbnN0IFN0cmlu
ZyYgYW5pbWF0aW9uTmFtZSkKICAgICB9CiB9CiAKK3ZvaWQgR3JhcGhpY3NMYXllckNBOjp0cmFu
c2Zvcm1SZWxhdGVkUHJvcGVydHlEaWRDaGFuZ2UoKQoreworICAgIC8vIElmIHdlIGFyZSBjdXJy
ZW50bHkgcnVubmluZyBhIHRyYW5zZm9ybS1yZWxhdGVkIGFuaW1hdGlvbiwgYSBjaGFuZ2UgaW4g
dW5kZXJseWluZworICAgIC8vIHRyYW5zZm9ybSB2YWx1ZSBtZWFucyB3ZSBtdXN0IHJlLWV2YWx1
YXRlIGFsbCB0cmFuc2Zvcm0tcmVsYXRlZCBhbmltYXRpb25zIHRvIGVuc3VyZQorICAgIC8vIHRo
YXQgdGhlIGJhc2UgdmFsdWUgdHJhbnNmb3JtIGFuaW1hdGlvbnMgYXJlIGN1cnJlbnQuCisgICAg
aWYgKGlzUnVubmluZ1RyYW5zZm9ybUFuaW1hdGlvbigpKQorICAgICAgICBub3RlTGF5ZXJQcm9w
ZXJ0eUNoYW5nZWQoQW5pbWF0aW9uQ2hhbmdlZCB8IENvdmVyYWdlUmVjdENoYW5nZWQpOworfQor
CiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cGxhdGZvcm1DQUxheWVyQW5pbWF0aW9uU3RhcnRlZChj
b25zdCBTdHJpbmcmIGFuaW1hdGlvbktleSwgTW9ub3RvbmljVGltZSBzdGFydFRpbWUpCiB7CiAg
ICAgTE9HX1dJVEhfU1RSRUFNKEFuaW1hdGlvbnMsIHN0cmVhbSA8PCAiR3JhcGhpY3NMYXllckNB
ICIgPDwgdGhpcyA8PCAiIGlkICIgPDwgcHJpbWFyeUxheWVySUQoKSA8PCAiIHBsYXRmb3JtQ0FM
YXllckFuaW1hdGlvblN0YXJ0ZWQgIiA8PCBhbmltYXRpb25LZXkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAppbmRleCAx
YWYyMDlhOTA4ZDRmMjMxNzJiMjJhNTkwZDBmNWNjN2FiMDA2ZTNkLi44ODVmNzk5ZjZmMTFkNGY5
NTUxZjU1YWM0NmZjZTNjZTRlOGNlOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtMTM4LDcgKzEzOCw3IEBA
IHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGFkZEFuaW1hdGlvbihjb25zdCBLZXlm
cmFtZVZhbHVlTGlzdCYsIGNvbnN0IEZsb2F0U2l6ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0aW9u
KiwgY29uc3QgU3RyaW5nJiBhbmltYXRpb25OYW1lLCBkb3VibGUgdGltZU9mZnNldCkgb3ZlcnJp
ZGU7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwYXVzZUFuaW1hdGlvbihjb25zdCBTdHJpbmcm
IGFuaW1hdGlvbk5hbWUsIGRvdWJsZSB0aW1lT2Zmc2V0KSBvdmVycmlkZTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHJlbW92ZUFuaW1hdGlvbihjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUp
IG92ZXJyaWRlOwotCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB0cmFuc2Zvcm1SZWxhdGVkUHJv
cGVydHlEaWRDaGFuZ2UoKSBvdmVycmlkZTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENv
bnRlbnRzVG9JbWFnZShJbWFnZSopIG92ZXJyaWRlOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAgICAgV0VCQ09SRV9FWFBPUlQgUGxhdGZvcm1MYXllciogY29udGVudHNMYXllckZvck1lZGlh
KCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
aAppbmRleCA0MmMyNzhhYWE0YjBiNzQ3M2FjZTkyMzI4MDViN2MwZTFkNWFlYTlkLi5iODBkMjhi
YmM1M2FlMDE5OGIwOTE4MWYxYzcyNGNiOGZlZjg0NTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTIzMCw2ICsyMzAsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSAvKiB0aW1lT2Zmc2V0ICovLCBjb25zdCBB
bmltYXRpb24mLCBjb25zdCBLZXlmcmFtZUxpc3QmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBhbmltYXRpb25QYXVzZWQoZG91YmxlIC8qIHRpbWVPZmZzZXQgKi8sIGNvbnN0
IFN0cmluZyYgLyogbmFtZSAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkZpbmlz
aGVkKGNvbnN0IFN0cmluZyYgLyogbmFtZSAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIHRyYW5z
Zm9ybVJlbGF0ZWRQcm9wZXJ0eURpZENoYW5nZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIHN1
c3BlbmRBbmltYXRpb25zKE1vbm90b25pY1RpbWUgPSBNb25vdG9uaWNUaW1lKCkpIHsgfQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gYW5pbWF0ZWRTdHlsZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCA3OWYxOTNj
NTJkZmUxMmRjNjg3MzNmZGU1ZWVkZTQyMGM0NTQxMTM4Li4zZjBiNzk1OGU2Y2FhMjM4ZDMxNTIz
ZDZkNGFiNzFhNTU0NDhmNGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMzY2OSw2ICszNjY5LDExIEBAIHZvaWQgUmVuZGVyTGF5
ZXJCYWNraW5nOjphbmltYXRpb25GaW5pc2hlZChjb25zdCBTdHJpbmcmIGFuaW1hdGlvbk5hbWUp
CiAgICAgbV9vd25pbmdMYXllci5zZXROZWVkc0NvbXBvc2l0aW5nR2VvbWV0cnlVcGRhdGUoKTsK
IH0KIAordm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnRyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eURp
ZENoYW5nZSgpCit7CisgICAgbV9ncmFwaGljc0xheWVyLT50cmFuc2Zvcm1SZWxhdGVkUHJvcGVy
dHlEaWRDaGFuZ2UoKTsKK30KKwogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6Om5vdGlmeUFuaW1h
dGlvblN0YXJ0ZWQoY29uc3QgR3JhcGhpY3NMYXllciosIGNvbnN0IFN0cmluZyYsIE1vbm90b25p
Y1RpbWUpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmgKaW5kZXggZjNiMDkwNWY1ODkyNjRmZjc0OTc2OTAyMjY1NTdiMWU3MjY3OWE4NC4uOTk2
MDcyNDA2MmM5Yjk5OGRjN2U0MTY1ODhmZTEwODdmYTk2ZTk2ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtMTg4LDcgKzE4OCw3IEBAIHB1
YmxpYzoKICAgICBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBB
bmltYXRpb24mLCBjb25zdCBLZXlmcmFtZUxpc3QmKTsKICAgICB2b2lkIGFuaW1hdGlvblBhdXNl
ZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB2b2lkIGFuaW1h
dGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSk7Ci0KKyAgICB2b2lkIHRyYW5zZm9ybVJl
bGF0ZWRQcm9wZXJ0eURpZENoYW5nZSgpOwogICAgIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9u
b3RvbmljVGltZSA9IE1vbm90b25pY1RpbWUoKSk7CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25z
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVs
T2JqZWN0LmNwcAppbmRleCBjYWU4ZjcyZjM2Y2Q4NTMyYTI1OThiNDhiNmJlYmY4MzUzOGY0NDc2
Li5mOWY0MTlmNmU5MTM2OTYzMDEyNDQwNGE0ZjNjMjI4ODY0Njk1MGI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCkBAIC0y
NzEsNiArMjcxLDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6YW5pbWF0aW9uRmlu
aXNoZWQoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIGxheWVyKCktPmJhY2tpbmcoKS0+YW5pbWF0
aW9uRmluaXNoZWQobmFtZSk7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6dHJh
bnNmb3JtUmVsYXRlZFByb3BlcnR5RGlkQ2hhbmdlKCkKK3sKKyAgICBpZiAoIWxheWVyKCkgfHwg
IWxheWVyKCktPmJhY2tpbmcoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGxheWVyKCktPmJhY2tp
bmcoKS0+dHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5RGlkQ2hhbmdlKCk7Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSB0aW1l
KQogewogICAgIGlmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+YmFja2luZygpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKaW5kZXggZDk3
ODFjZWNjODk3YzM1ODY5YTc3MjliYTFjZDBlNzZlMTk0MWYwYS4uYmY2YzQyYTNmNDVmNmE2MDlj
NWQ0MjYzM2Y1YmNiYjQxYWNkNmViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCkBAIC03Miw2ICs3Miw3IEBAIHB1YmxpYzoKICAg
ICBib29sIHN0YXJ0QW5pbWF0aW9uKGRvdWJsZSB0aW1lT2Zmc2V0LCBjb25zdCBBbmltYXRpb24m
LCBjb25zdCBLZXlmcmFtZUxpc3QmKSBvdmVycmlkZTsKICAgICB2b2lkIGFuaW1hdGlvblBhdXNl
ZChkb3VibGUgdGltZU9mZnNldCwgY29uc3QgU3RyaW5nJiBuYW1lKSBvdmVycmlkZTsKICAgICB2
b2lkIGFuaW1hdGlvbkZpbmlzaGVkKGNvbnN0IFN0cmluZyYgbmFtZSkgb3ZlcnJpZGU7CisgICAg
dm9pZCB0cmFuc2Zvcm1SZWxhdGVkUHJvcGVydHlEaWRDaGFuZ2UoKSBvdmVycmlkZTsKIAogICAg
IHZvaWQgc3VzcGVuZEFuaW1hdGlvbnMoTW9ub3RvbmljVGltZSA9IE1vbm90b25pY1RpbWUoKSkg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJl
c29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcApp
bmRleCBlNGFhYTM0OGEyZDM1M2Y0MjQzZmZmMWVmNTI5YTAzZjRhNTcwMTYyLi42MTQzNjZiOTAx
MmZjMjQ0ZmIyMjQ5MzMwZjc1MDk3Zjc2NGQxZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVUcmVlUmVzb2x2ZXIuY3BwCkBAIC0zNDksMTEgKzM0OSwxMiBAQCBFbGVtZW50VXBkYXRl
IFRyZWVSZXNvbHZlcjo6Y3JlYXRlQW5pbWF0ZWRFbGVtZW50VXBkYXRlKHN0ZDo6dW5pcXVlX3B0
cjxSZW5kZXJTdAogICAgIC8vIE5vdyB3ZSBjYW4gdXBkYXRlIGFsbCBXZWIgYW5pbWF0aW9ucywg
d2hpY2ggd2lsbCBpbmNsdWRlIENTUyBBbmltYXRpb25zIGFzIHdlbGwKICAgICAvLyBhcyBhbmlt
YXRpb25zIGNyZWF0ZWQgdmlhIHRoZSBKUyBBUEkuCiAgICAgaWYgKHN0eWxlYWJsZS5oYXNLZXlm
cmFtZUVmZmVjdHMoKSkgeworICAgICAgICBhdXRvIHByZXZpb3VzTGFzdFN0eWxlQ2hhbmdlRXZl
bnRTdHlsZSA9IHN0eWxlYWJsZS5sYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKCkgPyBSZW5kZXJT
dHlsZTo6Y2xvbmVQdHIoKnN0eWxlYWJsZS5sYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKCkpIDog
UmVuZGVyU3R5bGU6OmNyZWF0ZVB0cigpOwogICAgICAgICAvLyBSZWNvcmQgdGhlIHN0eWxlIHBy
aW9yIHRvIGFwcGx5aW5nIGFuaW1hdGlvbnMgZm9yIHRoaXMgc3R5bGUgY2hhbmdlIGV2ZW50Lgog
ICAgICAgICBzdHlsZWFibGUuc2V0TGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZShSZW5kZXJTdHls
ZTo6Y2xvbmVQdHIoKm5ld1N0eWxlKSk7CiAgICAgICAgIC8vIEFwcGx5IGFsbCBrZXlmcmFtZSBl
ZmZlY3RzIHRvIHRoZSBuZXcgc3R5bGUuCiAgICAgICAgIGF1dG8gYW5pbWF0ZWRTdHlsZSA9IFJl
bmRlclN0eWxlOjpjbG9uZVB0cigqbmV3U3R5bGUpOwotICAgICAgICBhbmltYXRpb25JbXBhY3Qg
PSBzdHlsZWFibGUuYXBwbHlLZXlmcmFtZUVmZmVjdHMoKmFuaW1hdGVkU3R5bGUpOworICAgICAg
ICBhbmltYXRpb25JbXBhY3QgPSBzdHlsZWFibGUuYXBwbHlLZXlmcmFtZUVmZmVjdHMoKmFuaW1h
dGVkU3R5bGUsICpwcmV2aW91c0xhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUpOwogICAgICAgICBu
ZXdTdHlsZSA9IFdURk1vdmUoYW5pbWF0ZWRTdHlsZSk7CiAgICAgfSBlbHNlCiAgICAgICAgIHN0
eWxlYWJsZS5zZXRMYXN0U3R5bGVDaGFuZ2VFdmVudFN0eWxlKG51bGxwdHIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZWFibGUuaAppbmRleCA3MzU3MDEwMTU2ZDU5OWQ4MTgxNTBhMjg4YWU1YWQ5N2E2MTEw
ZThmLi42MzZhNmVkM2VhYWIyZmU4MDI3MmQyMjc4MjUxM2QzODE1ODJiYWNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZWFibGUuaApAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNs
dWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiS2V5ZnJhbWVFZmZlY3RTdGFjay5oIgogI2luY2x1
ZGUgIlBzZXVkb0VsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKQEAgLTg2LDkgKzg3LDkgQEAgc3RydWN0IFN0eWxl
YWJsZSB7CiAgICAgICAgIHJldHVybiBlbGVtZW50Lmhhc0tleWZyYW1lRWZmZWN0cyhwc2V1ZG9J
ZCk7CiAgICAgfQogCi0gICAgT3B0aW9uU2V0PEFuaW1hdGlvbkltcGFjdD4gYXBwbHlLZXlmcmFt
ZUVmZmVjdHMoUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAorICAgIE9wdGlvblNldDxBbmltYXRp
b25JbXBhY3Q+IGFwcGx5S2V5ZnJhbWVFZmZlY3RzKFJlbmRlclN0eWxlJiB0YXJnZXRTdHlsZSwg
Y29uc3QgUmVuZGVyU3R5bGUmIHByZXZpb3VzTGFzdFN0eWxlQ2hhbmdlRXZlbnRTdHlsZSkgY29u
c3QKICAgICB7Ci0gICAgICAgIHJldHVybiBlbGVtZW50LmFwcGx5S2V5ZnJhbWVFZmZlY3RzKHBz
ZXVkb0lkLCBzdHlsZSk7CisgICAgICAgIHJldHVybiBlbGVtZW50LmVuc3VyZUtleWZyYW1lRWZm
ZWN0U3RhY2socHNldWRvSWQpLmFwcGx5S2V5ZnJhbWVFZmZlY3RzKHRhcmdldFN0eWxlLCBwcmV2
aW91c0xhc3RTdHlsZUNoYW5nZUV2ZW50U3R5bGUpOwogICAgIH0KIAogICAgIGNvbnN0IEFuaW1h
dGlvbkNvbGxlY3Rpb24qIGFuaW1hdGlvbnMoKSBjb25zdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDYxM2Y2OTI1MDNiNjJl
YjkyYjg1OGJiMjk2YTZmMzZjODc1OGE3ZTEuLjljYzU3OWNhMjRlZTJmZjViMzA5OTE1NzIxMWIw
N2JiZGZhZTIyMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0xMC0yMyAgQW50b2luZSBR
dWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNjg2MTUp
OiBjZXJ0YWluIGFuaW1hdGlvbnMgYnJlYWsgd2hlbiBtb3ZpbmcgZnJvbSBvbmUgdG8gZGlzcGxh
eSB0byBhbm90aGVyIG9yIHJlc2l6aW5nIHRoZSB3aW5kb3cKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODA4MAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNzA1NDcxMzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW5jcmVhc2UgdGhlIGZpZGVsaXR5IG9mIHRoaXMgdGVzdCB3aGVyZSB0aGUgc2NhbGUg
dHJhbnNmb3JtIHdvdWxkIHNvbWV0aW1lcyB5aWVsZCBzb21lIDAuMDElIEltYWdlT25seUZhaWx1
cmUgcmVzdWx0cy4KKworICAgICAgICAqIHdlYmFuaW1hdGlvbnMvYWNjZWxlcmF0ZWQtdHJhbnNs
YXRlLWFuaW1hdGlvbi1hZGRpdGlvbmFsLWFuaW1hdGlvbi1hZGRlZC1pbi1mbGlnaHQtZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLXRyYW5zbGF0ZS1h
bmltYXRpb24tYWRkaXRpb25hbC1hbmltYXRpb24tYWRkZWQtaW4tZmxpZ2h0Lmh0bWw6CisKIDIw
MjAtMTAtMjIgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAg
ICAgICAgW0dUS10gVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC10cmFuc2xhdGUtYW5pbWF0aW9uLWFkZGl0
aW9uYWwtYW5pbWF0aW9uLWFkZGVkLWluLWZsaWdodC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvd2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC10cmFuc2xhdGUtYW5pbWF0aW9uLWFkZGl0aW9u
YWwtYW5pbWF0aW9uLWFkZGVkLWluLWZsaWdodC1leHBlY3RlZC5odG1sCmluZGV4IDk4YTU5ZDQ3
ODBlOTY1ZTkzMjVhNDMxZDk1MWQyZjRkYmQ4YTQxMGMuLjQxMTk3YjI4OGMwNmQwMTc1NTQ1NDI2
Njg3YWMxODBiNDNkMjUwZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmFuaW1hdGlvbnMv
YWNjZWxlcmF0ZWQtdHJhbnNsYXRlLWFuaW1hdGlvbi1hZGRpdGlvbmFsLWFuaW1hdGlvbi1hZGRl
ZC1pbi1mbGlnaHQtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25z
L2FjY2VsZXJhdGVkLXRyYW5zbGF0ZS1hbmltYXRpb24tYWRkaXRpb25hbC1hbmltYXRpb24tYWRk
ZWQtaW4tZmxpZ2h0LWV4cGVjdGVkLmh0bWwKQEAgLTcsNyArNyw3IEBACiAgICAgICAgIHdpZHRo
OiAxMDBweDsKICAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogYmxhY2s7Ci0gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCkgc2NhbGUoMC41
KTsKKyAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MHB4LCA1MHB4LCAwKTsKICAgICB9
CiAKIDwvc3R5bGU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2FjY2Vs
ZXJhdGVkLXRyYW5zbGF0ZS1hbmltYXRpb24tYWRkaXRpb25hbC1hbmltYXRpb24tYWRkZWQtaW4t
ZmxpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhbmltYXRpb25zL2FjY2VsZXJhdGVkLXRyYW5z
bGF0ZS1hbmltYXRpb24tYWRkaXRpb25hbC1hbmltYXRpb24tYWRkZWQtaW4tZmxpZ2h0Lmh0bWwK
aW5kZXggOGVmZDU0ZmYyNjU5YzQ3MmU3ZTdjYWVmM2JmZjY1MWQzMDkwNDc4My4uYWFlN2QxM2I3
NGYyMTA4MzAzYTYzYmI4NzQ1MWI5MWFjMmVlZGI2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
d2ViYW5pbWF0aW9ucy9hY2NlbGVyYXRlZC10cmFuc2xhdGUtYW5pbWF0aW9uLWFkZGl0aW9uYWwt
YW5pbWF0aW9uLWFkZGVkLWluLWZsaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmFuaW1h
dGlvbnMvYWNjZWxlcmF0ZWQtdHJhbnNsYXRlLWFuaW1hdGlvbi1hZGRpdGlvbmFsLWFuaW1hdGlv
bi1hZGRlZC1pbi1mbGlnaHQuaHRtbApAQCAtMjAsNyArMjAsNyBAQAogCiAgICAgLy8gU3RhcnQg
YW4gYW5pbWF0aW9uIHRoYXQgbGFzdHMgYSBkYXkuCiAgICAgY29uc3QgZHVyYXRpb24gPSAyNCAq
IDYwICogNjAgKiAxMDAwOwotICAgIGNvbnN0IHRyYW5zbGF0ZUFuaW1hdGlvbiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5hbmltYXRlKHsgdHJhbnNsYXRlOiAiMjAwcHgiIH0s
IGR1cmF0aW9uKTsKKyAgICBjb25zdCB0cmFuc2xhdGVBbmltYXRpb24gPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0IikuYW5pbWF0ZSh7IHRyYW5zbGF0ZTogIjEwMHB4IiB9LCBkdXJh
dGlvbik7CiAgICAgdHJhbnNsYXRlQW5pbWF0aW9uLmN1cnJlbnRUaW1lID0gZHVyYXRpb24gLyAy
OwogCiAgICAgLy8gV2FpdCB1bnRpbCB0aGUgYW5pbWF0aW9uIGhhcyBiZWVuIGFwcGxpZWQuCkBA
IC0yOCwxMSArMjgsMTEgQEAKICAgICBhd2FpdCBVSUhlbHBlci5lbnN1cmVTdGFibGVQcmVzZW50
YXRpb25VcGRhdGUoKTsKIAogICAgIC8vIEFkZCBhbiBleHRyYSBhbmltYXRpb24uCi0gICAgY29u
c3Qgc2NhbGVBbmltYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikuYW5p
bWF0ZSh7IHNjYWxlOiAiMCIgfSwgZHVyYXRpb24pOwotICAgIHNjYWxlQW5pbWF0aW9uLmN1cnJl
bnRUaW1lID0gZHVyYXRpb24gLyAyOworICAgIGNvbnN0IHRyYW5zZm9ybUFuaW1hdGlvbiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5hbmltYXRlKHsgdHJhbnNmb3JtOiAidHJh
bnNsYXRlWSgxMDBweCkiIH0sIGR1cmF0aW9uKTsKKyAgICB0cmFuc2Zvcm1BbmltYXRpb24uY3Vy
cmVudFRpbWUgPSBkdXJhdGlvbiAvIDI7CiAKICAgICAvLyBXYWl0IHVudGlsIHRoZSBuZXcgYW5p
bWF0aW9uIGhhcyBiZWVuIGFwcGxpZWQuCi0gICAgYXdhaXQgc2NhbGVBbmltYXRpb24ucmVhZHk7
CisgICAgYXdhaXQgdHJhbnNmb3JtQW5pbWF0aW9uLnJlYWR5OwogICAgIGF3YWl0IFVJSGVscGVy
LmVuc3VyZVN0YWJsZVByZXNlbnRhdGlvblVwZGF0ZSgpOwogCiAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQo=
</data>
<flag name="review"
          id="428576"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>