<?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>212159</bug_id>
          
          <creation_ts>2020-05-20 11:44:44 -0700</creation_ts>
          <short_desc>Plumb the display&apos;s nominal refresh rate down to ScrollingTree for use in scroll synchronization</short_desc>
          <delta_ts>2020-05-20 13:23:43 -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>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1654557</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-20 11:44:44 -0700</bug_when>
    <thetext>Plumb the display&apos;s nominal refresh rate down to ScrollingTree for use in scroll synchronization</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654558</commentid>
    <comment_count>1</comment_count>
      <attachid>399864</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-20 11:49:36 -0700</bug_when>
    <thetext>Created attachment 399864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654560</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-20 11:50:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/63457216&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654569</commentid>
    <comment_count>3</comment_count>
      <attachid>399864</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-05-20 12:08:51 -0700</bug_when>
    <thetext>Comment on attachment 399864
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:2125
&gt; -    m_page-&gt;windowScreenDidChange([[[[window screen] deviceDescription] objectForKey:@&quot;NSScreenNumber&quot;] intValue]);
&gt; +    PlatformDisplayID displayID = [[[[window screen] deviceDescription] objectForKey:@&quot;NSScreenNumber&quot;] intValue];

Dots!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654580</commentid>
    <comment_count>4</comment_count>
      <attachid>399872</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-20 12:23:12 -0700</bug_when>
    <thetext>Created attachment 399872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654608</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-20 13:23:42 -0700</bug_when>
    <thetext>Committed r261948: &lt;https://trac.webkit.org/changeset/261948&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399872.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399864</attachid>
            <date>2020-05-20 11:49:36 -0700</date>
            <delta_ts>2020-05-20 12:08:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212159-20200520114935.patch</filename>
            <type>text/plain</type>
            <size>26385</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxOTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjlhZTA2NzgxYmE0MDc2
OTQ0MzViNGQwNGMxMGE3OTRiZGRiZTBhNi4uMDg0ZTVmODlmMWUxMTI1YjhlZDc0NmUyY2FmNDU0
YjhmZmJkNjQ5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA1LTIwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBsdW1iIHRoZSBk
aXNwbGF5J3Mgbm9taW5hbCByZWZyZXNoIHJhdGUgZG93biB0byBTY3JvbGxpbmdUcmVlIGZvciB1
c2UgaW4gc2Nyb2xsIHN5bmNocm9uaXphdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUGx1bWIgYW4gT3B0aW9uYWw8dW5zaWduZWQ+IGRvd24gd2lu
ZG93U2NyZWVuRGlkQ2hhbmdlLCB3aGljaCBjb250YWlucyB0aGUgbm9taW5hbAorICAgICAgICBk
aXNwbGF5IHJlZnJlc2ggcmF0ZSAoYXMgZnJhbWVzIHBlciBzZWNvbmQpIGlmIGF2YWlsYWJsZS4g
T24gbWFjT1MsIHdlIGdldCB0aGlzCisgICAgICAgIGZyb20gQ1ZEaXNwbGF5TGlua0dldE5vbWlu
YWxPdXRwdXRWaWRlb1JlZnJlc2hQZXJpb2QoKS4KKworICAgICAgICBUbyByZWFkIGl0LCBXZWJQ
cm9jZXNzUG9vbDo6bm9taW5hbEZyYW1lc1BlclNlY29uZEZvckRpc3BsYXkoKSBtYWtlcyBhIERp
c3BsYXlMaW5rCisgICAgICAgIHRoYXQgZG9lc24ndCBnZXQgYW55IG9ic2VydmVycywgYnV0IHRo
YXQgRGlzcGxheUxpbmsgd2lsbCB2ZXJ5IGxpa2VseSBnZXQgdXNlZAorICAgICAgICBhcyBzb29u
IGFzIHdlIHNjaGVkdWxlIGEgcmVuZGVyaW5nIHVwZGF0ZS4KKworICAgICAgICAqIHBhZ2UvQ2hy
b21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdl
KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlOjpzY3JvbGxpbmdDb29yZGluYXRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpQYWdlOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvUGFn
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6ZGlzcGxheU5vbWluYWxGcmFtZXNQZXJTZWNv
bmQgY29uc3QpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6
d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjp3
aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6d2luZG93U2NyZWVu
RGlkQ2hhbmdlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vSG9zdFdpbmRvdy5oOgorCiAyMDIwLTA1LTE5ICBTYW0gV2Vpbmln
ICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYWxtb3N0IGFsd2F5cyBpbmNv
cnJlY3QgQ29sb3I6OmdldFJHQkEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOTRmMmRiYTIxMmM1NTYxMjhhMzRiNjEx
YzE3NzU4YzQwM2I4NmRkNy4uM2JkNWIwNzcwMzBkZTY0NzFlNjkxOWI5OWIxNjVhOGE0ZTE1ODhk
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAyMC0wNS0yMCAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBQbHVtYiB0aGUgZGlzcGxheSdzIG5v
bWluYWwgcmVmcmVzaCByYXRlIGRvd24gdG8gU2Nyb2xsaW5nVHJlZSBmb3IgdXNlIGluIHNjcm9s
bCBzeW5jaHJvbml6YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMjE1OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFBsdW1iIGFuIE9wdGlvbmFsPHVuc2lnbmVkPiBkb3duIHdpbmRvd1NjcmVlbkRp
ZENoYW5nZSwgd2hpY2ggY29udGFpbnMgdGhlIG5vbWluYWwKKyAgICAgICAgZGlzcGxheSByZWZy
ZXNoIHJhdGUgKGFzIGZyYW1lcyBwZXIgc2Vjb25kKSBpZiBhdmFpbGFibGUuIE9uIG1hY09TLCB3
ZSBnZXQgdGhpcworICAgICAgICBmcm9tIENWRGlzcGxheUxpbmtHZXROb21pbmFsT3V0cHV0Vmlk
ZW9SZWZyZXNoUGVyaW9kKCkuCisKKyAgICAgICAgVG8gcmVhZCBpdCwgV2ViUHJvY2Vzc1Bvb2w6
Om5vbWluYWxGcmFtZXNQZXJTZWNvbmRGb3JEaXNwbGF5KCkgbWFrZXMgYSBEaXNwbGF5TGluawor
ICAgICAgICB0aGF0IGRvZXNuJ3QgZ2V0IGFueSBvYnNlcnZlcnMsIGJ1dCB0aGF0IERpc3BsYXlM
aW5rIHdpbGwgdmVyeSBsaWtlbHkgZ2V0IHVzZWQKKyAgICAgICAgYXMgc29vbiBhcyB3ZSBzY2hl
ZHVsZSBhIHJlbmRlcmluZyB1cGRhdGUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6Om5v
bWluYWxGcmFtZXNQZXJTZWNvbmRGb3JEaXNwbGF5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp3aW5kb3dE
aWRDaGFuZ2VTY3JlZW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVlbkRpZENoYW5nZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpEaXNwbGF5TGluazo6RGlzcGxheUxpbmspOgorICAgICAgICAo
V2ViS2l0OjpEaXNwbGF5TGluazo6bm9taW5hbEZyYW1lc1BlclNlY29uZCBjb25zdCk6CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW06Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMjAtMDUtMTkgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBhbG1vc3QgYWx3YXlzIGluY29y
cmVjdCBDb2xvcjo6Z2V0UkdCQQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGFhMGFk
ZTIxZjVmN2M2MjczMmUwNzQxYjI3ZjdlYTliNmM1ZTk3NTMuLmRkYTZhYWNiNzIwNzA0MzM2ZmI4
Y2E1MDI5NTFiY2ZmMjdlZWJhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMC0wNS0yMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxl
LmNvbT4KKworICAgICAgICBQbHVtYiB0aGUgZGlzcGxheSdzIG5vbWluYWwgcmVmcmVzaCByYXRl
IGRvd24gdG8gU2Nyb2xsaW5nVHJlZSBmb3IgdXNlIGluIHNjcm9sbCBzeW5jaHJvbml6YXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMjE1OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsdW1iIGFu
IE9wdGlvbmFsPHVuc2lnbmVkPiBkb3duIHdpbmRvd1NjcmVlbkRpZENoYW5nZSwgd2hpY2ggY29u
dGFpbnMgdGhlIG5vbWluYWwKKyAgICAgICAgZGlzcGxheSByZWZyZXNoIHJhdGUgKGFzIGZyYW1l
cyBwZXIgc2Vjb25kKSBpZiBhdmFpbGFibGUuIE9uIG1hY09TLCB3ZSBnZXQgdGhpcworICAgICAg
ICBmcm9tIENWRGlzcGxheUxpbmtHZXROb21pbmFsT3V0cHV0VmlkZW9SZWZyZXNoUGVyaW9kKCku
CisKKyAgICAgICAgVG8gcmVhZCBpdCwgV2ViUHJvY2Vzc1Bvb2w6Om5vbWluYWxGcmFtZXNQZXJT
ZWNvbmRGb3JEaXNwbGF5KCkgbWFrZXMgYSBEaXNwbGF5TGluaworICAgICAgICB0aGF0IGRvZXNu
J3QgZ2V0IGFueSBvYnNlcnZlcnMsIGJ1dCB0aGF0IERpc3BsYXlMaW5rIHdpbGwgdmVyeSBsaWtl
bHkgZ2V0IHVzZWQKKyAgICAgICAgYXMgc29vbiBhcyB3ZSBzY2hlZHVsZSBhIHJlbmRlcmluZyB1
cGRhdGUuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgZG9XaW5kb3dEaWRDaGFuZ2VTY3JlZW5dKToKKwogMjAyMC0wNS0xOCAgRGF2aWQgS2lsemVy
ICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgVGV4dEluZGljYXRvck9w
dGlvbnMgd2l0aCBPcHRpb25TZXQ8VGV4dEluZGljYXRvck9wdGlvbj4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmNwcAppbmRleCBiYmMyNThkMjc1NzZjNjE3YWUyOGE2NTJjMTc4NWFmMzcxNjQ5NWQ3Li41NDUz
N2FkYmU1ZGE2Y2Y0YjkzMjFmMDA4M2I1OGZhYmE1MGZmMDZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwCkBAIC01MTIsMTIgKzUxMiwxMiBAQCBQbGF0Zm9ybURpc3BsYXlJRCBDaHJvbWU6OmRpc3Bs
YXlJRCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGFnZS5kaXNwbGF5SUQoKTsKIH0KIAotdm9pZCBD
aHJvbWU6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQp
Cit2b2lkIENocm9tZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRp
c3BsYXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZUludGVydmFsKQogewotICAg
IGlmIChkaXNwbGF5SUQgPT0gbV9wYWdlLmRpc3BsYXlJRCgpKQorICAgIGlmIChkaXNwbGF5SUQg
PT0gbV9wYWdlLmRpc3BsYXlJRCgpICYmIG5vbWluYWxGcmFtZUludGVydmFsID09IG1fcGFnZS5k
aXNwbGF5Tm9taW5hbEZyYW1lc1BlclNlY29uZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X3BhZ2Uud2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7CisgICAgbV9wYWdlLndpbmRv
d1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZUludGVydmFsKTsKIAogI2lm
IFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKEdSQVBISUNTX0NPTlRFWFRfR0wpCiAgICAgR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0xNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc2NyZWVuRGlkQ2hhbmdl
KGRpc3BsYXlJRCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCAxNmYzZDg1Yzc5OTU3ODll
Nzg4ZWVlYWUyMjI5NDQ3NzJhZGM5NWE3Li4yMDczNGU0MWI1MjQ4NTBhYmM5Y2I1MzU3NDI4MDk2
ODMxOWNhMjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2NoZWR1bGVBbmltYXRpb24oKSBvdmVycmlkZSB7IH0KIAogICAgIFBsYXRmb3Jt
RGlzcGxheUlEIGRpc3BsYXlJRCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgd2luZG93U2Ny
ZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbmRv
d1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+KSBv
dmVycmlkZTsKIAogICAgIEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAg
ICAgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCmluZGV4IDQzZmU0YzQ4MjMxOTU1YmI5Mzk5ZDcwNWRjM2E0ZGRjZjUyNDBiMDYu
LjE0YWMzOGNhODhmYTg2NWQwNzBlZDBlMzZjZmYyODYxNGRlNmMxZDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcApAQCAtNDM1LDcgKzQzNSw3IEBAIFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBQYWdlOjpzY3Jv
bGxpbmdDb29yZGluYXRvcigpCiAgICAgICAgIGlmICghbV9zY3JvbGxpbmdDb29yZGluYXRvcikK
ICAgICAgICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBTY3JvbGxpbmdDb29yZGluYXRv
cjo6Y3JlYXRlKHRoaXMpOwogCi0gICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPndpbmRv
d1NjcmVlbkRpZENoYW5nZShtX2Rpc3BsYXlJRCk7CisgICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRp
bmF0b3ItPndpbmRvd1NjcmVlbkRpZENoYW5nZShtX2Rpc3BsYXlJRCwgbV9kaXNwbGF5Tm9taW5h
bEZyYW1lc1BlclNlY29uZCk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fc2Nyb2xsaW5nQ29vcmRp
bmF0b3IuZ2V0KCk7CkBAIC0xMTEwLDEyICsxMTEwLDEzIEBAIHZvaWQgUGFnZTo6c2V0RGV2aWNl
U2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpCiAgICAgcGFnZU92ZXJsYXlDb250cm9sbGVy
KCkuZGlkQ2hhbmdlRGV2aWNlU2NhbGVGYWN0b3IoKTsKIH0KIAotdm9pZCBQYWdlOjp3aW5kb3dT
Y3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQordm9pZCBQYWdlOjp3
aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBPcHRpb25h
bDx1bnNpZ25lZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZCkKIHsKLSAgICBpZiAoZGlzcGxheUlE
ID09IG1fZGlzcGxheUlEKQorICAgIGlmIChkaXNwbGF5SUQgPT0gbV9kaXNwbGF5SUQgJiYgbm9t
aW5hbEZyYW1lc1BlclNlY29uZCA9PSBtX2Rpc3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kKQog
ICAgICAgICByZXR1cm47CiAKICAgICBtX2Rpc3BsYXlJRCA9IGRpc3BsYXlJRDsKKyAgICBtX2Rp
c3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kID0gbm9taW5hbEZyYW1lc1BlclNlY29uZDsKIAog
ICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFt
ZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQo
KSkKQEAgLTExMjMsNyArMTEyNCw3IEBAIHZvaWQgUGFnZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdl
KFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKICAgICB9CiAKICAgICBpZiAobV9zY3JvbGxp
bmdDb29yZGluYXRvcikKLSAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvci0+d2luZG93U2Ny
ZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7CisgICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3It
PndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmQp
OwogCiAgICAgcmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyKCkud2luZG93U2NyZWVuRGlkQ2hhbmdl
KGRpc3BsYXlJRCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZWI5MmU3NDAyY2VmZWEzNzM2ZjEzOTM5
YWQ5MDYxMWMwMjc3NDFhNC4uZTExODEyMDcwN2QzOTU5YzRhNmVmZTc1MGJkMmZkNDNkMmJkMzA2
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKQEAgLTM2Miw4ICszNjIsOSBAQCBwdWJsaWM6CiAgICAgZmxvYXQg
aW5pdGlhbFNjYWxlSWdub3JpbmdDb250ZW50U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlh
bFNjYWxlSWdub3JpbmdDb250ZW50U2l6ZTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
SW5pdGlhbFNjYWxlSWdub3JpbmdDb250ZW50U2l6ZShmbG9hdCk7CiAKLSAgICB2b2lkIHdpbmRv
d1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCk7CisgICAgdm9pZCB3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFs
RnJhbWVzUGVyU2Vjb25kKTsKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKSBjb25z
dCB7IHJldHVybiBtX2Rpc3BsYXlJRDsgfQorICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBkaXNwbGF5
Tm9taW5hbEZyYW1lc1BlclNlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheU5vbWluYWxG
cmFtZXNQZXJTZWNvbmQ7IH0KIAogICAgIGZsb2F0IHRvcENvbnRlbnRJbnNldCgpIGNvbnN0IHsg
cmV0dXJuIG1fdG9wQ29udGVudEluc2V0OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRU
b3BDb250ZW50SW5zZXQoZmxvYXQpOwpAQCAtODQ1LDYgKzg0Niw3IEBAIHByaXZhdGU6CiAgICAg
UlRDQ29udHJvbGxlciBtX3J0Y0NvbnRyb2xsZXI7CiAKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBt
X2Rpc3BsYXlJRCB7IDAgfTsKKyAgICBPcHRpb25hbDx1bnNpZ25lZD4gbV9kaXNwbGF5Tm9taW5h
bEZyYW1lc1BlclNlY29uZDsKIAogICAgIGludCBtX25lc3RlZFJ1bkxvb3BDb3VudCB7IDAgfTsK
ICAgICBXVEY6OkZ1bmN0aW9uPHZvaWQoKT4gbV91bm5lc3RDYWxsYmFjazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAKaW5kZXggNTQ5YjcxODZiYzA0Mzk1ZjY4ZTVjMTkwMWEwNWI5ZWE4NDE4ZWU1Ni4u
ZWFlNDFiMDI1MzVhOWVlYjk2NjU5ZWM2ZjViMjdlMDJmMTA1MTgyMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAKQEAgLTgxNiwxMCArODE2LDEwIEBAIGJvb2wgQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvcjo6aGFzU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05vZGVJRCBuCiAj
ZW5kaWYKIH0KIAotdm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp3aW5kb3dTY3JlZW5E
aWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQordm9pZCBBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlz
cGxheUlELCBPcHRpb25hbDx1bnNpZ25lZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZCkKIHsKICAg
ICBpZiAobV9zY3JvbGxpbmdUcmVlKQotICAgICAgICBtX3Njcm9sbGluZ1RyZWUtPndpbmRvd1Nj
cmVlbkRpZENoYW5nZShkaXNwbGF5SUQpOworICAgICAgICBtX3Njcm9sbGluZ1RyZWUtPndpbmRv
d1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpOwogfQog
CiBib29sIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmlzUnViYmVyQmFuZEluUHJvZ3Jlc3Mo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDhiMzI0YjBiZDQxYTRhNDc5YjQwYzU2MDE3
M2QzNjQ0NGFlN2MwMWQuLjIyMDg2NTQ4NzZlMTgxNzczNzgwN2ZmMzNjODBmOWE1YTA3ZTExMTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTEzOCw3ICsxMzgsNyBAQCBwcml2YXRlOgogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGlu
Z05vZGVJRCwgT3B0aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPikgZmluYWw7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoU2Ny
b2xsaW5nTm9kZUlEKSBjb25zdCBmaW5hbDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd2lu
ZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSBmaW5hbDsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHdpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCwgT3B0
aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOwogCiAgICAgdmly
dHVhbCB2b2lkIHNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkgPSAwOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCAz
YzhkNTdlNjllNjFjMTBlOTFhMDAwMTY4YjE4ZWMzYjY5NGMwNTk3Li5lMWY1NjdjMzE1NjAyYzli
OGM3MGU4OGZjYzJkMzAxOTE5MTAwNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTE4MSw3ICsxODEsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxEZXN0cm95U2Nyb2xsYWJsZUFyZWEoU2Nyb2xs
YWJsZUFyZWEmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsYWJsZUFyZWFTY3JvbGxiYXJM
YXllckRpZENoYW5nZShTY3JvbGxhYmxlQXJlYSYsIFNjcm9sbGJhck9yaWVudGF0aW9uKSB7IH0K
IAotICAgIHZpcnR1YWwgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5
SUQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1E
aXNwbGF5SUQsIE9wdGlvbmFsPHVuc2lnbmVkPiAvKiBub21pbmFsRnJhbWVzUGVyU2Vjb25kICov
KSB7IH0KIAogICAgIHN0YXRpYyBTdHJpbmcgc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNU
ZXh0KE9wdGlvblNldDxTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbj4pOwogICAgIFN0cmluZyBz
eW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnNBc1RleHQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggYzZjZTYwNTdkZmE0
YTk3YzU5ZjA3MGJkYjMwZTUyODc4YzFjOWNlNC4uMWFkYWNhMjAyOTJlNTNlNDBiNzYxNjVmN2Zh
YzQ0YzEzNmNhNzVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZS5jcHAKQEAgLTUyNywxMCArNTI3LDExIEBAIGJvb2wgU2Nyb2xsaW5nVHJlZTo6
d2lsbFdoZWVsRXZlbnRTdGFydFN3aXBlR2VzdHVyZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQm
IHdoCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWU6OndpbmRvd1Nj
cmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCit2b2lkIFNjcm9sbGlu
Z1RyZWU6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQs
IE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKQogewogICAgIExvY2tI
b2xkZXIgbG9ja2VyKG1fdHJlZVN0YXRlTXV0ZXgpOwogICAgIG1fdHJlZVN0YXRlLmRpc3BsYXlJ
RCA9IGRpc3BsYXlJRDsKKyAgICBtX3RyZWVTdGF0ZS5ub21pbmFsRnJhbWVzUGVyU2Vjb25kID0g
bm9taW5hbEZyYW1lc1BlclNlY29uZDsKIH0KIAogUGxhdGZvcm1EaXNwbGF5SUQgU2Nyb2xsaW5n
VHJlZTo6ZGlzcGxheUlEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWUuaAppbmRleCA1NTk1ODcxNDg0ZTJjYWI5ZWRjODcwYjMyYzA4ZGY2OGQzYTU1YWVl
Li4zYmQ4MjFlZDQ4MTMzMGNiMzg1YmY5ZmRhYWUxN2VmOWU2ZWRlM2ZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCkBAIC0xNzksNyArMTc5LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2NrTGF5ZXJzRm9ySGl0VGVzdGluZygpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCB1bmxvY2tMYXllcnNGb3JIaXRUZXN0aW5nKCkgeyB9CiAKLSAg
ICB2b2lkIHdpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCk7CisgICAgdm9p
ZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIE9wdGlvbmFsPHVuc2ln
bmVkPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKTsKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNw
bGF5SUQoKTsKIAogcHJvdGVjdGVkOgpAQCAtMjIxLDYgKzIyMSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIEV2ZW50VHJhY2tpbmdSZWdpb25zIGV2ZW50VHJhY2tpbmdSZWdpb25zOwogICAgICAgICBG
bG9hdFBvaW50IG1haW5GcmFtZVNjcm9sbFBvc2l0aW9uOwogICAgICAgICBQbGF0Zm9ybURpc3Bs
YXlJRCBkaXNwbGF5SUQgeyAwIH07CisgICAgICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFs
RnJhbWVzUGVyU2Vjb25kOwogICAgICAgICBib29sIG1haW5GcmFtZUlzUnViYmVyQmFuZGluZyB7
IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbWFpbkZyYW1lSXNTY3JvbGxTbmFwcGluZyB7IGZhbHNl
IH07CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5k
b3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAppbmRleCAwYjAxZTM3
M2MxZjQxOTU2NDk2NmRkY2Q5YTkyNDg1MTA3OTNkMDVjLi40MDk0MTMzNTNjYzgxMWQ0YmUzMDAz
OWYyM2MyMjZiMTJjN2FkNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9I
b3N0V2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBA
IC03Niw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVBbmltYXRp
b24oKSA9IDA7CiAKICAgICB2aXJ0dWFsIFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCgpIGNv
bnN0ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3Jt
RGlzcGxheUlEKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHdpbmRvd1NjcmVlbkRpZENoYW5nZShQ
bGF0Zm9ybURpc3BsYXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNv
bmQpID0gMDsKIAogICAgIHZpcnR1YWwgRmxvYXRTaXplIHNjcmVlblNpemUoKSBjb25zdCA9IDA7
CiAgICAgdmlydHVhbCBGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0ID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCmluZGV4IDMyYjIzMjliZGNiMjFhMzc2NmM5OTg5NGIyMDA3MTI0NmJjZDMwNjAuLjBi
ZWUzNzM2NzllZTUxYWU1ZjViYjJkNTE3MWRiM2JmMzVjZDA1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtNzkx
LDYgKzc5MSwyMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZXNldEhTVFNIb3N0c0FkZGVkQWZ0
ZXJEYXRlKGRvdWJsZSBzdGFydERhdGVJbnRlcnZhbFNpbmNlMQogfQogCiAjaWYgUExBVEZPUk0o
TUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCitPcHRpb25h
bDx1bnNpZ25lZD4gV2ViUHJvY2Vzc1Bvb2w6Om5vbWluYWxGcmFtZXNQZXJTZWNvbmRGb3JEaXNw
bGF5KFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKK3sKKyAgICBmb3IgKGF1
dG8mIGRpc3BsYXlMaW5rIDogbV9kaXNwbGF5TGlua3MpIHsKKyAgICAgICAgaWYgKGRpc3BsYXlM
aW5rLT5kaXNwbGF5SUQoKSA9PSBkaXNwbGF5SUQpCisgICAgICAgICAgICByZXR1cm4gZGlzcGxh
eUxpbmstPm5vbWluYWxGcmFtZXNQZXJTZWNvbmQoKTsKKyAgICB9CisKKyAgICAvLyBOb3RlIHRo
YXQgdGhpcyBjcmVhdGVzIGEgRGlzcGxheUxpbmsgd2l0aCBubyBvYnNlcnZlcnMsIGJ1dCBpdCdz
IGhpZ2hseSBsaWtlbHkgdGhhdCB3ZSdsbCBzb29uIGNhbGwgc3RhcnREaXNwbGF5TGluaygpIGZv
ciBpdC4KKyAgICBhdXRvIGRpc3BsYXlMaW5rID0gbWFrZVVuaXF1ZTxEaXNwbGF5TGluaz4oZGlz
cGxheUlEKTsKKyAgICBhdXRvIGZyYW1lUmF0ZSA9IGRpc3BsYXlMaW5rLT5ub21pbmFsRnJhbWVz
UGVyU2Vjb25kKCk7CisgICAgbV9kaXNwbGF5TGlua3MuYXBwZW5kKFdURk1vdmUoZGlzcGxheUxp
bmspKTsKKyAgICByZXR1cm4gZnJhbWVSYXRlOworfQorCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpz
dGFydERpc3BsYXlMaW5rKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgRGlzcGxheUxpbmtP
YnNlcnZlcklEIG9ic2VydmVySUQsIFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkKIHsKICAg
ICBmb3IgKGF1dG8mIGRpc3BsYXlMaW5rIDogbV9kaXNwbGF5TGlua3MpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggMWQ2M2JjMDUxMjYyYWE3
Nzg1YzdlZWQ5MzYwMzU1MjdkNjg4MWE4Mi4uZjc1NzU3ZDIxNjIwYWY1OWYyYzk4MGY2YTUzMjAz
MDBjY2YyNGM3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0lt
cGwubW0KQEAgLTIxMjIsNyArMjEyMiw5IEBAIHZvaWQgV2ViVmlld0ltcGw6OndpbmRvd0RpZENo
YW5nZUJhY2tpbmdQcm9wZXJ0aWVzKENHRmxvYXQgb2xkQmFja2luZ1NjYWxlRmFjdG9yCiB2b2lk
IFdlYlZpZXdJbXBsOjp3aW5kb3dEaWRDaGFuZ2VTY3JlZW4oKQogewogICAgIE5TV2luZG93ICp3
aW5kb3cgPSBtX3RhcmdldFdpbmRvd0Zvck1vdmVQcmVwYXJhdGlvbiA/IG1fdGFyZ2V0V2luZG93
Rm9yTW92ZVByZXBhcmF0aW9uLmdldCgpIDogW21fdmlldyB3aW5kb3ddOwotICAgIG1fcGFnZS0+
d2luZG93U2NyZWVuRGlkQ2hhbmdlKFtbW1t3aW5kb3cgc2NyZWVuXSBkZXZpY2VEZXNjcmlwdGlv
bl0gb2JqZWN0Rm9yS2V5OkAiTlNTY3JlZW5OdW1iZXIiXSBpbnRWYWx1ZV0pOworICAgIFBsYXRm
b3JtRGlzcGxheUlEIGRpc3BsYXlJRCA9IFtbW1t3aW5kb3cgc2NyZWVuXSBkZXZpY2VEZXNjcmlw
dGlvbl0gb2JqZWN0Rm9yS2V5OkAiTlNTY3JlZW5OdW1iZXIiXSBpbnRWYWx1ZV07CisgICAgYXV0
byBmcmFtZXNQZXJTZWNvbmQgPSBtX3BhZ2UtPnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLm5vbWlu
YWxGcmFtZXNQZXJTZWNvbmRGb3JEaXNwbGF5KGRpc3BsYXlJRCk7CisgICAgbV9wYWdlLT53aW5k
b3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlELCBmcmFtZXNQZXJTZWNvbmQpOwogfQogCiB2b2lk
IFdlYlZpZXdJbXBsOjp3aW5kb3dEaWRDaGFuZ2VMYXllckhvc3RpbmcoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYWNjMzIxNjZjZDBmYmJkZDU2NDE4NDlk
MjBlZTIyMzRjMTg5N2M3ZC4uODA3ZjFlZGNlNzQzNGQ1OTc2Y2I2ZmFkZGE2Mjk2OTdmNDI2MDgz
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zNzA1LDEy
ICszNzA1LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZh
Y3RvcihmbG9hdCBzY2FsZUZhY3RvcikKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+ZGV2aWNlU2Nh
bGVGYWN0b3JEaWRDaGFuZ2UoKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVl
bkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCit2b2lkIFdlYlBhZ2VQcm94
eTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgT3B0
aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpCiB7CiAgICAgaWYgKCFoYXNS
dW5uaW5nUHJvY2VzcygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpXaW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlEKSk7CisgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZTo6V2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCwgbm9taW5hbEZy
YW1lc1BlclNlY29uZCkpOwogfQogCiBmbG9hdCBXZWJQYWdlUHJveHk6OmRldmljZVNjYWxlRmFj
dG9yKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjI5
NTRlMzQ5Y2QzZjgwMzk4ZGFhMzhjNjM3N2I0ZGQ4OTI2OTdhNi4uZDBiN2Q2NmYyZTBhMzQ2Y2Rm
NDhlYTY1YTAwNDYwMWFmODZmZTQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKQEAgLTk5Miw3ICs5OTIsNyBAQCBwdWJsaWM6CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVG
YWN0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKGZs
b2F0KTsKICAgICB2b2lkIHNldEN1c3RvbURldmljZVNjYWxlRmFjdG9yKGZsb2F0KTsKLSAgICB2
b2lkIHdpbmRvd1NjcmVlbkRpZENoYW5nZShXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCk7Cisg
ICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQs
IE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKTsKICAgICB2b2lkIGFj
Y2Vzc2liaWxpdHlTZXR0aW5nc0RpZENoYW5nZSgpOwogCiAgICAgdm9pZCBzZXRVc2VGaXhlZExh
eW91dChib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4
IGRjZDhhMzA1YWM4ZWU0NDA5ZWU1NWY0Nzk5ODdiMzYxMGU1ODhmNGQuLjliODI1NDdiODg4Yjk0
YWFlNjdkNzEzZDRkY2RiNzdjNTBlMmFmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UHJvY2Vzc1Bvb2wuaApAQCAtMjQ5LDYgKzI0OSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcp
CisgICAgT3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmRGb3JEaXNwbGF5
KFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKTsKICAgICB2b2lkIHN0YXJ0RGlzcGxheUxpbmso
SVBDOjpDb25uZWN0aW9uJiwgRGlzcGxheUxpbmtPYnNlcnZlcklELCBXZWJDb3JlOjpQbGF0Zm9y
bURpc3BsYXlJRCk7CiAgICAgdm9pZCBzdG9wRGlzcGxheUxpbmsoSVBDOjpDb25uZWN0aW9uJiwg
RGlzcGxheUxpbmtPYnNlcnZlcklELCBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCk7CiAgICAg
dm9pZCBzdG9wRGlzcGxheUxpbmtzKElQQzo6Q29ubmVjdGlvbiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5rLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5jcHAKaW5kZXggMjI2NDQ0YzM5ODY3Yzc1MWZlY2Vi
MDc5NWZmZmNjYzMxMTZlOTJjMy4uYzI3MmMwZThmMDcxZWE2YWU1MWU5NDdmN2E5NDUwZjNjNzYz
YTk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuY3BwCkBA
IC0zNiwxNiArMzYsMTggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBEaXNwbGF5TGluazo6RGlzcGxh
eUxpbmsoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQogICAgIDogbV9kaXNw
bGF5SUQoZGlzcGxheUlEKQogeworICAgIC8vIEZJWE1FOiBXZSBjYW4gZ2V0IGhlcmUgd2l0aCBk
aXNwbGF5SUQgPT0gMCAod2Via2l0Lm9yZy9iLzIxMjEyMCksIGluIHdoaWNoIGNhc2UgQ1ZEaXNw
bGF5TGlua0NyZWF0ZVdpdGhDR0Rpc3BsYXkoKQorICAgIC8vIHByb2JhYmx5IGRlZmF1bHRzIHRv
IHRoZSBtYWluIHNjcmVlbi4KICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNz
UHJpdmlsZWdlOjpDYW5Db21tdW5pY2F0ZVdpdGhXaW5kb3dTZXJ2ZXIpKTsKICAgICBDVlJldHVy
biBlcnJvciA9IENWRGlzcGxheUxpbmtDcmVhdGVXaXRoQ0dEaXNwbGF5KGRpc3BsYXlJRCwgJm1f
ZGlzcGxheUxpbmspOwogICAgIGlmIChlcnJvcikgewotICAgICAgICBXVEZMb2dBbHdheXMoIkNv
dWxkIG5vdCBjcmVhdGUgYSBkaXNwbGF5IGxpbms6ICVkIiwgZXJyb3IpOworICAgICAgICBXVEZM
b2dBbHdheXMoIkNvdWxkIG5vdCBjcmVhdGUgYSBkaXNwbGF5IGxpbmsgZm9yIGRpc3BsYXkgJXU6
IGVycm9yICVkIiwgZGlzcGxheUlELCBlcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgCiAgICAgZXJyb3IgPSBDVkRpc3BsYXlMaW5rU2V0T3V0cHV0Q2FsbGJhY2sobV9kaXNwbGF5
TGluaywgZGlzcGxheUxpbmtDYWxsYmFjaywgdGhpcyk7CiAgICAgaWYgKGVycm9yKSB7Ci0gICAg
ICAgIFdURkxvZ0Fsd2F5cygiQ291bGQgbm90IHNldCB0aGUgZGlzcGxheSBsaW5rIG91dHB1dCBj
YWxsYmFjazogJWQiLCBlcnJvcik7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiQ291bGQgbm90IHNl
dCB0aGUgZGlzcGxheSBsaW5rIG91dHB1dCBjYWxsYmFjayBmb3IgZGlzcGxheSAldTogZXJyb3Ig
JWQiLCBkaXNwbGF5SUQsIGVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIH0KQEAgLTYx
LDYgKzYzLDEyIEBAIERpc3BsYXlMaW5rOjp+RGlzcGxheUxpbmsoKQogICAgIENWRGlzcGxheUxp
bmtSZWxlYXNlKG1fZGlzcGxheUxpbmspOwogfQogCitPcHRpb25hbDx1bnNpZ25lZD4gRGlzcGxh
eUxpbms6Om5vbWluYWxGcmFtZXNQZXJTZWNvbmQoKSBjb25zdAoreworICAgIENWVGltZSByZWZy
ZXNoUGVyaW9kID0gQ1ZEaXNwbGF5TGlua0dldE5vbWluYWxPdXRwdXRWaWRlb1JlZnJlc2hQZXJp
b2QobV9kaXNwbGF5TGluayk7CisgICAgcmV0dXJuIHJvdW5kKChkb3VibGUpcmVmcmVzaFBlcmlv
ZC50aW1lU2NhbGUgLyAoZG91YmxlKXJlZnJlc2hQZXJpb2QudGltZVZhbHVlKTsKK30KKwogdm9p
ZCBEaXNwbGF5TGluazo6YWRkT2JzZXJ2ZXIoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBE
aXNwbGF5TGlua09ic2VydmVySUQgb2JzZXJ2ZXJJRCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6
aXNNYWluKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3Bs
YXlMaW5rLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaAppbmRl
eCBkMzNiNGI5NzNjODY1ODNmZDI5NmIwMTVjZDJiOWRlZDYzOTBiMzdlLi4wZDFiYTY0MDhhYjU3
OGRkZWVjNzVkYzczMDI2MGUwOGIxMjc1OGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvRGlzcGxheUxpbmsuaApAQCAtNTEsNiArNTEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNP
YnNlcnZlcnMoKSBjb25zdDsKIAogICAgIFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGRpc3Bs
YXlJRCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheUlEOyB9CisgICAgCisgICAgT3B0aW9uYWw8
dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQoKSBjb25zdDsKIAogcHJpdmF0ZToKICAg
ICBzdGF0aWMgQ1ZSZXR1cm4gZGlzcGxheUxpbmtDYWxsYmFjayhDVkRpc3BsYXlMaW5rUmVmLCBj
b25zdCBDVlRpbWVTdGFtcCosIGNvbnN0IENWVGltZVN0YW1wKiwgQ1ZPcHRpb25GbGFncywgQ1ZP
cHRpb25GbGFncyosIHZvaWQqIGRhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
Lm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCmluZGV4IDg2ZTRlNWNjOWFlZjFkODEwZTJlZDc3
MWMyMTExY2FmNDkwNmQ0YWYuLjI2YzM3NDc2YzdiMDFkZWY4YjQ2ZjFjZGIxMDNmZjg1OWFkYWEz
MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEubW0KQEAgLTcyLDcgKzcyLDcgQEAgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OlJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKFdlYlBhZ2UmIHdlYlBhZ2UsIGNvbnN0IFcKICAgICAv
LyBGSVhNRTogV2hpbGUgdXNpbmcgdGhlIGhpZ2ggZW5kIG9mIHRoZSByYW5nZSBvZiBEaXNwbGF5
SURzIG1ha2VzIGEgY29sbGlzaW9uIHdpdGggcmVhbCwgbm9uLVJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhCiAgICAgLy8gRGlzcGxheUlEcyBsZXNzIGxpa2VseSwgaXQgaXMgbm90IGVudGlyZWx5
IHNhZmUgdG8gaGF2ZSBhIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhIGFuZCBUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYQogICAgIC8vIGNvZWV4aXN0IGluIHRoZSBzYW1lIHByb2Nlc3Mu
Ci0gICAgd2ViUGFnZS53aW5kb3dTY3JlZW5EaWRDaGFuZ2Uoc3RkOjpudW1lcmljX2xpbWl0czx1
aW50MzJfdD46Om1heCgpIC0gd2ViUGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAg
d2ViUGFnZS53aW5kb3dTY3JlZW5EaWRDaGFuZ2Uoc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJf
dD46Om1heCgpIC0gd2ViUGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgV1RGOjpudWxsb3B0
KTsKIAogICAgIGlmIChhdXRvIHZpZXdFeHBvc2VkUmVjdCA9IHBhcmFtZXRlcnMudmlld0V4cG9z
ZWRSZWN0KQogICAgICAgICBzZXRWaWV3RXhwb3NlZFJlY3Qodmlld0V4cG9zZWRSZWN0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNGFjNDQ3
YzFjOGYzYzc0ODAwMTViNjhmOTFlYzcxZWNkZjNkYmVlZS4uMTRmZjBlYmI1MzRmMGU4OTQyNTEz
YzBlZTE3NTc2MmY3ZWMzYWM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKQEAgLTE5NzEsOSArMTk3MSw5IEBAIHZvaWQgV2ViUGFnZTo6c2V0UGFn
ZUFuZFRleHRab29tRmFjdG9ycyhkb3VibGUgcGFnZVpvb21GYWN0b3IsIGRvdWJsZSB0ZXh0Wm9v
bUZhCiAgICAgcmV0dXJuIGZyYW1lLT5zZXRQYWdlQW5kVGV4dFpvb21GYWN0b3JzKHN0YXRpY19j
YXN0PGZsb2F0PihwYWdlWm9vbUZhY3RvciksIHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0Wm9vbUZh
Y3RvcikpOwogfQogCi12b2lkIFdlYlBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZSh1aW50MzJf
dCBkaXNwbGF5SUQpCit2b2lkIFdlYlBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9y
bURpc3BsYXlJRCBkaXNwbGF5SUQsIE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFsRnJhbWVzUGVy
U2Vjb25kKQogewotICAgIG1fcGFnZS0+Y2hyb21lKCkud2luZG93U2NyZWVuRGlkQ2hhbmdlKHN0
YXRpY19jYXN0PFBsYXRmb3JtRGlzcGxheUlEPihkaXNwbGF5SUQpKTsKKyAgICBtX3BhZ2UtPmNo
cm9tZSgpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZXNQZXJT
ZWNvbmQpOwogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LnVwZGF0ZVBhZ2VTY3JlZW5Qcm9wZXJ0aWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMGIxZDgxYzg2OThjN2FhMjY0Yzc2YTkwMjU0ZTcwMGI0
YWY5YzM1Yy4uZDYyNjgyODQ0M2E2NjMzNThkYzcxNmRjNjhlZjhiZTAyZjA3N2I1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjA0LDYgKzIwNCw4
IEBAIGVudW0gY2xhc3MgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24gOiB1aW50
OF90OwogZW51bSBjbGFzcyBUZXh0R3JhbnVsYXJpdHkgOiB1aW50OF90OwogZW51bSBjbGFzcyBX
cml0aW5nRGlyZWN0aW9uIDogdWludDhfdDsKIAordXNpbmcgUGxhdGZvcm1EaXNwbGF5SUQgPSB1
aW50MzJfdDsKKwogc3RydWN0IEF0dHJpYnV0ZWRTdHJpbmc7CiBzdHJ1Y3QgQmFja0ZvcndhcmRJ
dGVtSWRlbnRpZmllcjsKIHN0cnVjdCBDb21wb3NpdGlvbkhpZ2hsaWdodDsKQEAgLTUxNyw3ICs1
MTksNyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHBhZ2Vab29tRmFjdG9yKCkgY29uc3Q7CiAgICAg
dm9pZCBzZXRQYWdlWm9vbUZhY3Rvcihkb3VibGUpOwogICAgIHZvaWQgc2V0UGFnZUFuZFRleHRa
b29tRmFjdG9ycyhkb3VibGUgcGFnZVpvb21GYWN0b3IsIGRvdWJsZSB0ZXh0Wm9vbUZhY3Rvcik7
Ci0gICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UodWludDMyX3QpOworICAgIHZvaWQgd2lu
ZG93U2NyZWVuRGlkQ2hhbmdlKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlELCBPcHRpb25hbDx1
bnNpZ25lZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZCk7CiAgICAgU3RyaW5nIGR1bXBIaXN0b3J5
Rm9yVGVzdGluZyhjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSk7CiAgICAgdm9pZCBjbGVhckhpc3Rv
cnkoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KaW5kZXggODFhN2Y3OGEwYTY4OWUzMjUwMTJiODMyZmY3ODlkMWY5OTE4
OWE3Ny4uMmFhZGVmZTI3MmM2YzcxNTUwNjY4NmM2NjY1NGU4MDVjNTQzNmM4OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CkBAIC0yNjcsNyArMjY3LDcgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVt
OnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBTZXRQYWdl
QW5kVGV4dFpvb21GYWN0b3JzKGRvdWJsZSBwYWdlWm9vbUZhY3RvciwgZG91YmxlIHRleHRab29t
RmFjdG9yKQogICAgIFNldFBhZ2Vab29tRmFjdG9yKGRvdWJsZSB6b29tRmFjdG9yKQogICAgIFNl
dFRleHRab29tRmFjdG9yKGRvdWJsZSB6b29tRmFjdG9yKQotICAgIFdpbmRvd1NjcmVlbkRpZENo
YW5nZSh1aW50MzJfdCBkaXNwbGF5SUQpCisgICAgV2luZG93U2NyZWVuRGlkQ2hhbmdlKHVpbnQz
Ml90IGRpc3BsYXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQp
CiAKICAgICBBY2Nlc3NpYmlsaXR5U2V0dGluZ3NEaWRDaGFuZ2UoKQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggZmRjYmE0ZWYwYTZjYWM0NzdjZGNl
OWY0NzZiMmVkNTRmMmM0ZWM3ZS4uMzg3NTBiYzRiYWFhZTgzYzdjZWY3MmMzYzkwYTFlMTkwYmIw
MTI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
NjA0NSw4ICs2MDQ1LDEwIEBAIC0gKHZvaWQpdmlld0RpZE1vdmVUb1dpbmRvdwogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQogLSAodm9pZClkb1dpbmRvd0RpZENoYW5nZVNjcmVlbgogewotICAg
IGlmIChfcHJpdmF0ZSAmJiBfcHJpdmF0ZS0+cGFnZSkKLSAgICAgICAgX3ByaXZhdGUtPnBhZ2Ut
PmNocm9tZSgpLndpbmRvd1NjcmVlbkRpZENoYW5nZSgoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5
SUQpW1tbW1tzZWxmIHdpbmRvd10gc2NyZWVuXSBkZXZpY2VEZXNjcmlwdGlvbl0gb2JqZWN0Rm9y
S2V5OkAiTlNTY3JlZW5OdW1iZXIiXSBpbnRWYWx1ZV0pOworICAgIGlmIChfcHJpdmF0ZSAmJiBf
cHJpdmF0ZS0+cGFnZSkgeworICAgICAgICBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBkaXNw
bGF5SUQgPSBbW1tbW3NlbGYgd2luZG93XSBzY3JlZW5dIGRldmljZURlc2NyaXB0aW9uXSBvYmpl
Y3RGb3JLZXk6QCJOU1NjcmVlbk51bWJlciJdIGludFZhbHVlXTsKKyAgICAgICAgX3ByaXZhdGUt
PnBhZ2UtPmNocm9tZSgpLndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsIFdURjo6bnVs
bG9wdCk7CisgICAgfQogfQogCiAtICh2b2lkKV93aW5kb3dDaGFuZ2VkS2V5U3RhdGUK
</data>
<flag name="review"
          id="415280"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399872</attachid>
            <date>2020-05-20 12:23:12 -0700</date>
            <delta_ts>2020-05-20 13:23:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212159-20200520122312.patch</filename>
            <type>text/plain</type>
            <size>28906</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxOTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjlhZTA2NzgxYmE0MDc2
OTQ0MzViNGQwNGMxMGE3OTRiZGRiZTBhNi4uMjhjZDAwMDQxZjM1Y2E5ZGZiZjRlOTNhNTZkMjMy
YjgxODM5ZmFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIwLTA1LTIwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBsdW1iIHRoZSBk
aXNwbGF5J3Mgbm9taW5hbCByZWZyZXNoIHJhdGUgZG93biB0byBTY3JvbGxpbmdUcmVlIGZvciB1
c2UgaW4gc2Nyb2xsIHN5bmNocm9uaXphdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhv
cnRvbi4KKworICAgICAgICBQbHVtYiBhbiBPcHRpb25hbDx1bnNpZ25lZD4gZG93biB3aW5kb3dT
Y3JlZW5EaWRDaGFuZ2UsIHdoaWNoIGNvbnRhaW5zIHRoZSBub21pbmFsCisgICAgICAgIGRpc3Bs
YXkgcmVmcmVzaCByYXRlIChhcyBmcmFtZXMgcGVyIHNlY29uZCkgaWYgYXZhaWxhYmxlLiBPbiBt
YWNPUywgd2UgZ2V0IHRoaXMKKyAgICAgICAgZnJvbSBDVkRpc3BsYXlMaW5rR2V0Tm9taW5hbE91
dHB1dFZpZGVvUmVmcmVzaFBlcmlvZCgpLgorCisgICAgICAgIFRvIHJlYWQgaXQsIFdlYlByb2Nl
c3NQb29sOjpub21pbmFsRnJhbWVzUGVyU2Vjb25kRm9yRGlzcGxheSgpIG1ha2VzIGEgRGlzcGxh
eUxpbmsKKyAgICAgICAgdGhhdCBkb2Vzbid0IGdldCBhbnkgb2JzZXJ2ZXJzLCBidXQgdGhhdCBE
aXNwbGF5TGluayB3aWxsIHZlcnkgbGlrZWx5IGdldCB1c2VkCisgICAgICAgIGFzIHNvb24gYXMg
d2Ugc2NoZWR1bGUgYSByZW5kZXJpbmcgdXBkYXRlLgorCisgICAgICAgICogcGFnZS9DaHJvbWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgor
ICAgICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2U6OnNjcm9sbGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9QYWdlLmg6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpkaXNwbGF5Tm9taW5hbEZyYW1lc1BlclNlY29uZCBj
b25zdCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp3aW5k
b3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OndpbmRv
d1NjcmVlbkRpZENoYW5nZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjp3aW5kb3dTY3JlZW5EaWRD
aGFuZ2UpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Ib3N0V2luZG93Lmg6CisKIDIwMjAtMDUtMTkgIFNhbSBXZWluaWcgIDx3
ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBhbG1vc3QgYWx3YXlzIGluY29ycmVj
dCBDb2xvcjo6Z2V0UkdCQQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA5NGYyZGJhMjEyYzU1NjEyOGEzNGI2MTFjMTc3
NThjNDAzYjg2ZGQ3Li5mODQ0MzhjYTIxMTk4MGFlZjgxNmExNWFhMGY3YjVjZDU0MzI1ZmNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIwLTA1LTIwICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFBsdW1iIHRoZSBkaXNwbGF5J3Mgbm9taW5h
bCByZWZyZXNoIHJhdGUgZG93biB0byBTY3JvbGxpbmdUcmVlIGZvciB1c2UgaW4gc2Nyb2xsIHN5
bmNocm9uaXphdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEyMTU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAg
ICBQbHVtYiBhbiBPcHRpb25hbDx1bnNpZ25lZD4gZG93biB3aW5kb3dTY3JlZW5EaWRDaGFuZ2Us
IHdoaWNoIGNvbnRhaW5zIHRoZSBub21pbmFsCisgICAgICAgIGRpc3BsYXkgcmVmcmVzaCByYXRl
IChhcyBmcmFtZXMgcGVyIHNlY29uZCkgaWYgYXZhaWxhYmxlLiBPbiBtYWNPUywgd2UgZ2V0IHRo
aXMKKyAgICAgICAgZnJvbSBDVkRpc3BsYXlMaW5rR2V0Tm9taW5hbE91dHB1dFZpZGVvUmVmcmVz
aFBlcmlvZCgpLgorCisgICAgICAgIFRvIHJlYWQgaXQsIFdlYlByb2Nlc3NQb29sOjpub21pbmFs
RnJhbWVzUGVyU2Vjb25kRm9yRGlzcGxheSgpIG1ha2VzIGEgRGlzcGxheUxpbmsKKyAgICAgICAg
dGhhdCBkb2Vzbid0IGdldCBhbnkgb2JzZXJ2ZXJzLCBidXQgdGhhdCBEaXNwbGF5TGluayB3aWxs
IHZlcnkgbGlrZWx5IGdldCB1c2VkCisgICAgICAgIGFzIHNvb24gYXMgd2Ugc2NoZWR1bGUgYSBy
ZW5kZXJpbmcgdXBkYXRlLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpub21pbmFsRnJh
bWVzUGVyU2Vjb25kRm9yRGlzcGxheSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6d2luZG93RGlkQ2hhbmdl
U2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5rLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RGlzcGxheUxpbms6OkRpc3BsYXlMaW5rKToKKyAgICAgICAgKFdlYktpdDo6
RGlzcGxheUxpbms6Om5vbWluYWxGcmFtZXNQZXJTZWNvbmQgY29uc3QpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6UmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDIwLTA1LTE5ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgYWxtb3N0IGFsd2F5cyBpbmNvcnJlY3QgQ29s
b3I6OmdldFJHQkEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBhYTBhZGUyMWY1Zjdj
NjI3MzJlMDc0MWIyN2Y3ZWE5YjZjNWU5NzUzLi5jMGRhNWI1OTFjMjYwOTNmNTQwN2EzMGI2Yzhj
ZGI2NzE2NGMxOWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMjAtMDUtMjAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUGx1bWIgdGhlIGRpc3BsYXkncyBub21pbmFsIHJlZnJlc2ggcmF0ZSBkb3duIHRv
IFNjcm9sbGluZ1RyZWUgZm9yIHVzZSBpbiBzY3JvbGwgc3luY2hyb25pemF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIxNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIFBsdW1iIGFuIE9wdGlvbmFsPHVu
c2lnbmVkPiBkb3duIHdpbmRvd1NjcmVlbkRpZENoYW5nZSwgd2hpY2ggY29udGFpbnMgdGhlIG5v
bWluYWwKKyAgICAgICAgZGlzcGxheSByZWZyZXNoIHJhdGUgKGFzIGZyYW1lcyBwZXIgc2Vjb25k
KSBpZiBhdmFpbGFibGUuIE9uIG1hY09TLCB3ZSBnZXQgdGhpcworICAgICAgICBmcm9tIENWRGlz
cGxheUxpbmtHZXROb21pbmFsT3V0cHV0VmlkZW9SZWZyZXNoUGVyaW9kKCkuCisKKyAgICAgICAg
VG8gcmVhZCBpdCwgV2ViUHJvY2Vzc1Bvb2w6Om5vbWluYWxGcmFtZXNQZXJTZWNvbmRGb3JEaXNw
bGF5KCkgbWFrZXMgYSBEaXNwbGF5TGluaworICAgICAgICB0aGF0IGRvZXNuJ3QgZ2V0IGFueSBv
YnNlcnZlcnMsIGJ1dCB0aGF0IERpc3BsYXlMaW5rIHdpbGwgdmVyeSBsaWtlbHkgZ2V0IHVzZWQK
KyAgICAgICAgYXMgc29vbiBhcyB3ZSBzY2hlZHVsZSBhIHJlbmRlcmluZyB1cGRhdGUuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgZG9XaW5kb3dE
aWRDaGFuZ2VTY3JlZW5dKToKKwogMjAyMC0wNS0xOCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2UgVGV4dEluZGljYXRvck9wdGlvbnMgd2l0aCBP
cHRpb25TZXQ8VGV4dEluZGljYXRvck9wdGlvbj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCBi
YmMyNThkMjc1NzZjNjE3YWUyOGE2NTJjMTc4NWFmMzcxNjQ5NWQ3Li41NDUzN2FkYmU1ZGE2Y2Y0
YjkzMjFmMDA4M2I1OGZhYmE1MGZmMDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC01MTIs
MTIgKzUxMiwxMiBAQCBQbGF0Zm9ybURpc3BsYXlJRCBDaHJvbWU6OmRpc3BsYXlJRCgpIGNvbnN0
CiAgICAgcmV0dXJuIG1fcGFnZS5kaXNwbGF5SUQoKTsKIH0KIAotdm9pZCBDaHJvbWU6OndpbmRv
d1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCit2b2lkIENocm9t
ZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgT3B0
aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZUludGVydmFsKQogewotICAgIGlmIChkaXNwbGF5
SUQgPT0gbV9wYWdlLmRpc3BsYXlJRCgpKQorICAgIGlmIChkaXNwbGF5SUQgPT0gbV9wYWdlLmRp
c3BsYXlJRCgpICYmIG5vbWluYWxGcmFtZUludGVydmFsID09IG1fcGFnZS5kaXNwbGF5Tm9taW5h
bEZyYW1lc1BlclNlY29uZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3BhZ2Uud2luZG93
U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7CisgICAgbV9wYWdlLndpbmRvd1NjcmVlbkRpZENo
YW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZUludGVydmFsKTsKIAogI2lmIFBMQVRGT1JNKE1B
QykgJiYgRU5BQkxFKEdSQVBISUNTX0NPTlRFWFRfR0wpCiAgICAgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0xNYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkuc2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCwg
dGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCAxNmYzZDg1Yzc5OTU3ODllNzg4ZWVlYWUyMjI5
NDQ3NzJhZGM5NWE3Li4yMDczNGU0MWI1MjQ4NTBhYmM5Y2I1MzU3NDI4MDk2ODMxOWNhMjUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2No
ZWR1bGVBbmltYXRpb24oKSBvdmVycmlkZSB7IH0KIAogICAgIFBsYXRmb3JtRGlzcGxheUlEIGRp
c3BsYXlJRCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdl
KFBsYXRmb3JtRGlzcGxheUlEKSBvdmVycmlkZTsKKyAgICB2b2lkIHdpbmRvd1NjcmVlbkRpZENo
YW5nZShQbGF0Zm9ybURpc3BsYXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+KSBvdmVycmlkZTsKIAog
ICAgIEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgRmxvYXRTaXpl
IGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmlu
ZGV4IDQzZmU0YzQ4MjMxOTU1YmI5Mzk5ZDcwNWRjM2E0ZGRjZjUyNDBiMDYuLjE0YWMzOGNhODhm
YTg2NWQwNzBlZDBlMzZjZmYyODYxNGRlNmMxZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNDM1
LDcgKzQzNSw3IEBAIFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBQYWdlOjpzY3JvbGxpbmdDb29yZGlu
YXRvcigpCiAgICAgICAgIGlmICghbV9zY3JvbGxpbmdDb29yZGluYXRvcikKICAgICAgICAgICAg
IG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKHRo
aXMpOwogCi0gICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPndpbmRvd1NjcmVlbkRpZENo
YW5nZShtX2Rpc3BsYXlJRCk7CisgICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPndpbmRv
d1NjcmVlbkRpZENoYW5nZShtX2Rpc3BsYXlJRCwgbV9kaXNwbGF5Tm9taW5hbEZyYW1lc1BlclNl
Y29uZCk7CiAgICAgfQogCiAgICAgcmV0dXJuIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IuZ2V0KCk7
CkBAIC0xMTEwLDEyICsxMTEwLDEzIEBAIHZvaWQgUGFnZTo6c2V0RGV2aWNlU2NhbGVGYWN0b3Io
ZmxvYXQgc2NhbGVGYWN0b3IpCiAgICAgcGFnZU92ZXJsYXlDb250cm9sbGVyKCkuZGlkQ2hhbmdl
RGV2aWNlU2NhbGVGYWN0b3IoKTsKIH0KIAotdm9pZCBQYWdlOjp3aW5kb3dTY3JlZW5EaWRDaGFu
Z2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQordm9pZCBQYWdlOjp3aW5kb3dTY3JlZW5E
aWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBPcHRpb25hbDx1bnNpZ25lZD4g
bm9taW5hbEZyYW1lc1BlclNlY29uZCkKIHsKLSAgICBpZiAoZGlzcGxheUlEID09IG1fZGlzcGxh
eUlEKQorICAgIGlmIChkaXNwbGF5SUQgPT0gbV9kaXNwbGF5SUQgJiYgbm9taW5hbEZyYW1lc1Bl
clNlY29uZCA9PSBtX2Rpc3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kKQogICAgICAgICByZXR1
cm47CiAKICAgICBtX2Rpc3BsYXlJRCA9IGRpc3BsYXlJRDsKKyAgICBtX2Rpc3BsYXlOb21pbmFs
RnJhbWVzUGVyU2Vjb25kID0gbm9taW5hbEZyYW1lc1BlclNlY29uZDsKIAogICAgIGZvciAoRnJh
bWUqIGZyYW1lID0gJm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRy
YXZlcnNlTmV4dCgpKSB7CiAgICAgICAgIGlmIChmcmFtZS0+ZG9jdW1lbnQoKSkKQEAgLTExMjMs
NyArMTEyNCw3IEBAIHZvaWQgUGFnZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCkKICAgICB9CiAKICAgICBpZiAobV9zY3JvbGxpbmdDb29yZGluYXRv
cikKLSAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvci0+d2luZG93U2NyZWVuRGlkQ2hhbmdl
KGRpc3BsYXlJRCk7CisgICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPndpbmRvd1NjcmVl
bkRpZENoYW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpOwogCiAgICAgcmVu
ZGVyaW5nVXBkYXRlU2NoZWR1bGVyKCkud2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKaW5kZXggZWI5MmU3NDAyY2VmZWEzNzM2ZjEzOTM5YWQ5MDYxMWMwMjc3
NDFhNC4uZTExODEyMDcwN2QzOTU5YzRhNmVmZTc1MGJkMmZkNDNkMmJkMzA2YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmgKQEAgLTM2Miw4ICszNjIsOSBAQCBwdWJsaWM6CiAgICAgZmxvYXQgaW5pdGlhbFNjYWxl
SWdub3JpbmdDb250ZW50U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhbFNjYWxlSWdub3Jp
bmdDb250ZW50U2l6ZTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW5pdGlhbFNjYWxl
SWdub3JpbmdDb250ZW50U2l6ZShmbG9hdCk7CiAKLSAgICB2b2lkIHdpbmRvd1NjcmVlbkRpZENo
YW5nZShQbGF0Zm9ybURpc3BsYXlJRCk7CisgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2Uo
UGxhdGZvcm1EaXNwbGF5SUQsIE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFsRnJhbWVzUGVyU2Vj
b25kKTsKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKSBjb25zdCB7IHJldHVybiBt
X2Rpc3BsYXlJRDsgfQorICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBkaXNwbGF5Tm9taW5hbEZyYW1l
c1BlclNlY29uZCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheU5vbWluYWxGcmFtZXNQZXJTZWNv
bmQ7IH0KIAogICAgIGZsb2F0IHRvcENvbnRlbnRJbnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fdG9w
Q29udGVudEluc2V0OyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUb3BDb250ZW50SW5z
ZXQoZmxvYXQpOwpAQCAtODQ1LDYgKzg0Niw3IEBAIHByaXZhdGU6CiAgICAgUlRDQ29udHJvbGxl
ciBtX3J0Y0NvbnRyb2xsZXI7CiAKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBtX2Rpc3BsYXlJRCB7
IDAgfTsKKyAgICBPcHRpb25hbDx1bnNpZ25lZD4gbV9kaXNwbGF5Tm9taW5hbEZyYW1lc1BlclNl
Y29uZDsKIAogICAgIGludCBtX25lc3RlZFJ1bkxvb3BDb3VudCB7IDAgfTsKICAgICBXVEY6OkZ1
bmN0aW9uPHZvaWQoKT4gbV91bm5lc3RDYWxsYmFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5k
ZXggNTQ5YjcxODZiYzA0Mzk1ZjY4ZTVjMTkwMWEwNWI5ZWE4NDE4ZWU1Ni4uZWFlNDFiMDI1MzVh
OWVlYjk2NjU5ZWM2ZjViMjdlMDJmMTA1MTgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAg
LTgxNiwxMCArODE2LDEwIEBAIGJvb2wgQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcjo6aGFzU3lu
Y2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05vZGVJRCBuCiAjZW5kaWYKIH0KIAot
dm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxh
dGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQordm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
Ojp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBPcHRp
b25hbDx1bnNpZ25lZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZCkKIHsKICAgICBpZiAobV9zY3Jv
bGxpbmdUcmVlKQotICAgICAgICBtX3Njcm9sbGluZ1RyZWUtPndpbmRvd1NjcmVlbkRpZENoYW5n
ZShkaXNwbGF5SUQpOworICAgICAgICBtX3Njcm9sbGluZ1RyZWUtPndpbmRvd1NjcmVlbkRpZENo
YW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpOwogfQogCiBib29sIEFzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvci5oCmluZGV4IDhiMzI0YjBiZDQxYTRhNDc5YjQwYzU2MDE3M2QzNjQ0NGFlN2Mw
MWQuLjIyMDg2NTQ4NzZlMTgxNzczNzgwN2ZmMzNjODBmOWE1YTA3ZTExMTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKQEAgLTEzOCw3ICsxMzgsNyBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFNjcm9sbGluZ05vZGVJRCwgT3B0
aW9uU2V0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uPikgZmluYWw7CiAgICAgV0VCQ09SRV9F
WFBPUlQgYm9vbCBoYXNTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoU2Nyb2xsaW5nTm9kZUlE
KSBjb25zdCBmaW5hbDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgd2luZG93U2NyZWVuRGlk
Q2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSBmaW5hbDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHdpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCwgT3B0aW9uYWw8dW5zaWdu
ZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpIGZpbmFsOwogCiAgICAgdmlydHVhbCB2b2lkIHNj
aGVkdWxlVHJlZVN0YXRlQ29tbWl0KCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAppbmRleCAzYzhkNTdlNjllNjFj
MTBlOTFhMDAwMTY4YjE4ZWMzYjY5NGMwNTk3Li5lMWY1NjdjMzE1NjAyYzliOGM3MGU4OGZjYzJk
MzAxOTE5MTAwNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKQEAgLTE4MSw3ICsxODEsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIHdpbGxEZXN0cm95U2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEmKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsYWJsZUFyZWFTY3JvbGxiYXJMYXllckRpZENoYW5n
ZShTY3JvbGxhYmxlQXJlYSYsIFNjcm9sbGJhck9yaWVudGF0aW9uKSB7IH0KIAotICAgIHZpcnR1
YWwgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQpIHsgfQorICAg
IHZpcnR1YWwgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIE9w
dGlvbmFsPHVuc2lnbmVkPiAvKiBub21pbmFsRnJhbWVzUGVyU2Vjb25kICovKSB7IH0KIAogICAg
IHN0YXRpYyBTdHJpbmcgc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0KE9wdGlvblNl
dDxTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbj4pOwogICAgIFN0cmluZyBzeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnNBc1RleHQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggYzZjZTYwNTdkZmE0YTk3YzU5ZjA3MGJk
YjMwZTUyODc4YzFjOWNlNC4uMWFkYWNhMjAyOTJlNTNlNDBiNzYxNjVmN2ZhYzQ0YzEzNmNhNzVk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJl
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5j
cHAKQEAgLTUyNywxMCArNTI3LDExIEBAIGJvb2wgU2Nyb2xsaW5nVHJlZTo6d2lsbFdoZWVsRXZl
bnRTdGFydFN3aXBlR2VzdHVyZShjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi12b2lkIFNjcm9sbGluZ1RyZWU6OndpbmRvd1NjcmVlbkRpZENoYW5n
ZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCit2b2lkIFNjcm9sbGluZ1RyZWU6OndpbmRv
d1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQsIE9wdGlvbmFsPHVu
c2lnbmVkPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKQogewogICAgIExvY2tIb2xkZXIgbG9ja2Vy
KG1fdHJlZVN0YXRlTXV0ZXgpOwogICAgIG1fdHJlZVN0YXRlLmRpc3BsYXlJRCA9IGRpc3BsYXlJ
RDsKKyAgICBtX3RyZWVTdGF0ZS5ub21pbmFsRnJhbWVzUGVyU2Vjb25kID0gbm9taW5hbEZyYW1l
c1BlclNlY29uZDsKIH0KIAogUGxhdGZvcm1EaXNwbGF5SUQgU2Nyb2xsaW5nVHJlZTo6ZGlzcGxh
eUlEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaApp
bmRleCA1NTk1ODcxNDg0ZTJjYWI5ZWRjODcwYjMyYzA4ZGY2OGQzYTU1YWVlLi4zYmQ4MjFlZDQ4
MTMzMGNiMzg1YmY5ZmRhYWUxN2VmOWU2ZWRlM2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCkBAIC0xNzksNyArMTc5LDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBsb2NrTGF5ZXJzRm9ySGl0VGVzdGluZygpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCB1bmxvY2tMYXllcnNGb3JIaXRUZXN0aW5nKCkgeyB9CiAKLSAgICB2b2lkIHdpbmRv
d1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCk7CisgICAgdm9pZCB3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQsIE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFs
RnJhbWVzUGVyU2Vjb25kKTsKICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQoKTsKIAog
cHJvdGVjdGVkOgpAQCAtMjIxLDYgKzIyMSw3IEBAIHByaXZhdGU6CiAgICAgICAgIEV2ZW50VHJh
Y2tpbmdSZWdpb25zIGV2ZW50VHJhY2tpbmdSZWdpb25zOwogICAgICAgICBGbG9hdFBvaW50IG1h
aW5GcmFtZVNjcm9sbFBvc2l0aW9uOwogICAgICAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5
SUQgeyAwIH07CisgICAgICAgIE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFsRnJhbWVzUGVyU2Vj
b25kOwogICAgICAgICBib29sIG1haW5GcmFtZUlzUnViYmVyQmFuZGluZyB7IGZhbHNlIH07CiAg
ICAgICAgIGJvb2wgbWFpbkZyYW1lSXNTY3JvbGxTbmFwcGluZyB7IGZhbHNlIH07CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAppbmRleCAwYjAxZTM3M2MxZjQxOTU2NDk2
NmRkY2Q5YTkyNDg1MTA3OTNkMDVjLi40MDk0MTMzNTNjYzgxMWQ0YmUzMDAzOWYyM2MyMjZiMTJj
N2FkNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC03Niw3ICs3Niw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVBbmltYXRpb24oKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCgpIGNvbnN0ID0gMDsKLSAg
ICB2aXJ0dWFsIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEKSA9
IDA7CisgICAgdmlydHVhbCB2b2lkIHdpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3Bs
YXlJRCwgT3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpID0gMDsKIAog
ICAgIHZpcnR1YWwgRmxvYXRTaXplIHNjcmVlblNpemUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBGbG9hdFNpemUgYXZhaWxhYmxlU2NyZWVuU2l6ZSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNjcmVlbk1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybVNjcmVlbk1hYy5tbQppbmRleCAwMzY4NGUy
YjUxYWZmODNhOThiMzBkZTVkZjhmNzJhMWNhZWRjMWUxLi5iZTNlYmNiYzY5YTQzZmZiODZmZDgz
NmY1NWIwODY3ZDlkMjUxODM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvUGxhdGZvcm1TY3JlZW5NYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXRmb3JtU2NyZWVuTWFjLm1tCkBAIC00OCw3ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRChOU1NjcmVlbiAqc2NyZWVuKQogewogICAg
IEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkNvbW11bmlj
YXRlV2l0aFdpbmRvd1NlcnZlcikpOwotICAgIHJldHVybiBbW1tzY3JlZW4gZGV2aWNlRGVzY3Jp
cHRpb25dIG9iamVjdEZvcktleTpAIk5TU2NyZWVuTnVtYmVyIl0gaW50VmFsdWVdOworICAgIHJl
dHVybiBbW3NjcmVlbi5kZXZpY2VEZXNjcmlwdGlvbiBvYmplY3RGb3JLZXk6QCJOU1NjcmVlbk51
bWJlciJdIGludFZhbHVlXTsKIH0KIAogc3RhdGljIFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJ
RChXaWRnZXQqIHdpZGdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDMyYjIzMjliZGNiMjFhMzc2NmM5OTg5NGIy
MDA3MTI0NmJjZDMwNjAuLjBiZWUzNzM2NzllZTUxYWU1ZjViYjJkNTE3MWRiM2JmMzVjZDA1YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQpAQCAtNzkxLDYgKzc5MSwyMCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZXNl
dEhTVFNIb3N0c0FkZGVkQWZ0ZXJEYXRlKGRvdWJsZSBzdGFydERhdGVJbnRlcnZhbFNpbmNlMQog
fQogCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJf
QkxPQ0tJTkcpCitPcHRpb25hbDx1bnNpZ25lZD4gV2ViUHJvY2Vzc1Bvb2w6Om5vbWluYWxGcmFt
ZXNQZXJTZWNvbmRGb3JEaXNwbGF5KFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJ
RCkKK3sKKyAgICBmb3IgKGF1dG8mIGRpc3BsYXlMaW5rIDogbV9kaXNwbGF5TGlua3MpIHsKKyAg
ICAgICAgaWYgKGRpc3BsYXlMaW5rLT5kaXNwbGF5SUQoKSA9PSBkaXNwbGF5SUQpCisgICAgICAg
ICAgICByZXR1cm4gZGlzcGxheUxpbmstPm5vbWluYWxGcmFtZXNQZXJTZWNvbmQoKTsKKyAgICB9
CisKKyAgICAvLyBOb3RlIHRoYXQgdGhpcyBjcmVhdGVzIGEgRGlzcGxheUxpbmsgd2l0aCBubyBv
YnNlcnZlcnMsIGJ1dCBpdCdzIGhpZ2hseSBsaWtlbHkgdGhhdCB3ZSdsbCBzb29uIGNhbGwgc3Rh
cnREaXNwbGF5TGluaygpIGZvciBpdC4KKyAgICBhdXRvIGRpc3BsYXlMaW5rID0gbWFrZVVuaXF1
ZTxEaXNwbGF5TGluaz4oZGlzcGxheUlEKTsKKyAgICBhdXRvIGZyYW1lUmF0ZSA9IGRpc3BsYXlM
aW5rLT5ub21pbmFsRnJhbWVzUGVyU2Vjb25kKCk7CisgICAgbV9kaXNwbGF5TGlua3MuYXBwZW5k
KFdURk1vdmUoZGlzcGxheUxpbmspKTsKKyAgICByZXR1cm4gZnJhbWVSYXRlOworfQorCiB2b2lk
IFdlYlByb2Nlc3NQb29sOjpzdGFydERpc3BsYXlMaW5rKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbiwgRGlzcGxheUxpbmtPYnNlcnZlcklEIG9ic2VydmVySUQsIFBsYXRmb3JtRGlzcGxheUlE
IGRpc3BsYXlJRCkKIHsKICAgICBmb3IgKGF1dG8mIGRpc3BsYXlMaW5rIDogbV9kaXNwbGF5TGlu
a3MpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5k
ZXggMWQ2M2JjMDUxMjYyYWE3Nzg1YzdlZWQ5MzYwMzU1MjdkNjg4MWE4Mi4uMWYyMWRmMTIxNmI1
ZmFmOGE0OWUzM2NmNzhlOGNlY2RmNDQwOGFjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTk2LDYgKzk2LDcgQEAKICNpbXBvcnQgPFdlYkNv
cmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYXN0ZWJvYXJkLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLmg+CisjaW1wb3J0IDxXZWJD
b3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Byb21pc2VkQXR0YWNobWVu
dEluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1RleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmg+CkBAIC0yMTIyLDcg
KzIxMjMsOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjp3aW5kb3dEaWRDaGFuZ2VCYWNraW5nUHJvcGVy
dGllcyhDR0Zsb2F0IG9sZEJhY2tpbmdTY2FsZUZhY3Rvcgogdm9pZCBXZWJWaWV3SW1wbDo6d2lu
ZG93RGlkQ2hhbmdlU2NyZWVuKCkKIHsKICAgICBOU1dpbmRvdyAqd2luZG93ID0gbV90YXJnZXRX
aW5kb3dGb3JNb3ZlUHJlcGFyYXRpb24gPyBtX3RhcmdldFdpbmRvd0Zvck1vdmVQcmVwYXJhdGlv
bi5nZXQoKSA6IFttX3ZpZXcgd2luZG93XTsKLSAgICBtX3BhZ2UtPndpbmRvd1NjcmVlbkRpZENo
YW5nZShbW1tbd2luZG93IHNjcmVlbl0gZGV2aWNlRGVzY3JpcHRpb25dIG9iamVjdEZvcktleTpA
Ik5TU2NyZWVuTnVtYmVyIl0gaW50VmFsdWVdKTsKKyAgICBQbGF0Zm9ybURpc3BsYXlJRCBkaXNw
bGF5SUQgPSBXZWJDb3JlOjpkaXNwbGF5SUQod2luZG93LnNjcmVlbik7CisgICAgYXV0byBmcmFt
ZXNQZXJTZWNvbmQgPSBtX3BhZ2UtPnByb2Nlc3MoKS5wcm9jZXNzUG9vbCgpLm5vbWluYWxGcmFt
ZXNQZXJTZWNvbmRGb3JEaXNwbGF5KGRpc3BsYXlJRCk7CisgICAgbV9wYWdlLT53aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoZGlzcGxheUlELCBmcmFtZXNQZXJTZWNvbmQpOwogfQogCiB2b2lkIFdlYlZp
ZXdJbXBsOjp3aW5kb3dEaWRDaGFuZ2VMYXllckhvc3RpbmcoKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYWNjMzIxNjZjZDBmYmJkZDU2NDE4NDlkMjBlZTIy
MzRjMTg5N2M3ZC4uODA3ZjFlZGNlNzQzNGQ1OTc2Y2I2ZmFkZGE2Mjk2OTdmNDI2MDgzYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zNzA1LDEyICszNzA1
LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3Rvcihm
bG9hdCBzY2FsZUZhY3RvcikKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+ZGV2aWNlU2NhbGVGYWN0
b3JEaWRDaGFuZ2UoKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OndpbmRvd1NjcmVlbkRpZENo
YW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCit2b2lkIFdlYlBhZ2VQcm94eTo6d2lu
ZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgT3B0aW9uYWw8
dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpCiB7CiAgICAgaWYgKCFoYXNSdW5uaW5n
UHJvY2VzcygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
OjpXaW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlEKSk7CisgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6V2luZG93U2NyZWVuRGlkQ2hhbmdlKGRpc3BsYXlJRCwgbm9taW5hbEZyYW1lc1Bl
clNlY29uZCkpOwogfQogCiBmbG9hdCBXZWJQYWdlUHJveHk6OmRldmljZVNjYWxlRmFjdG9yKCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjI5NTRlMzQ5
Y2QzZjgwMzk4ZGFhMzhjNjM3N2I0ZGQ4OTI2OTdhNi4uZDBiN2Q2NmYyZTBhMzQ2Y2RmNDhlYTY1
YTAwNDYwMWFmODZmZTQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTk5Miw3ICs5OTIsNyBAQCBwdWJsaWM6CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3Io
KSBjb25zdDsKICAgICB2b2lkIHNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9yKGZsb2F0KTsK
ICAgICB2b2lkIHNldEN1c3RvbURldmljZVNjYWxlRmFjdG9yKGZsb2F0KTsKLSAgICB2b2lkIHdp
bmRvd1NjcmVlbkRpZENoYW5nZShXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCk7CisgICAgdm9p
ZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQsIE9wdGlv
bmFsPHVuc2lnbmVkPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKTsKICAgICB2b2lkIGFjY2Vzc2li
aWxpdHlTZXR0aW5nc0RpZENoYW5nZSgpOwogCiAgICAgdm9pZCBzZXRVc2VGaXhlZExheW91dChi
b29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGRjZDhh
MzA1YWM4ZWU0NDA5ZWU1NWY0Nzk5ODdiMzYxMGU1ODhmNGQuLjliODI1NDdiODg4Yjk0YWFlNjdk
NzEzZDRkY2RiNzdjNTBlMmFmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaApAQCAtMjQ5LDYgKzI0OSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisgICAg
T3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmRGb3JEaXNwbGF5KFdlYkNv
cmU6OlBsYXRmb3JtRGlzcGxheUlEKTsKICAgICB2b2lkIHN0YXJ0RGlzcGxheUxpbmsoSVBDOjpD
b25uZWN0aW9uJiwgRGlzcGxheUxpbmtPYnNlcnZlcklELCBXZWJDb3JlOjpQbGF0Zm9ybURpc3Bs
YXlJRCk7CiAgICAgdm9pZCBzdG9wRGlzcGxheUxpbmsoSVBDOjpDb25uZWN0aW9uJiwgRGlzcGxh
eUxpbmtPYnNlcnZlcklELCBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCk7CiAgICAgdm9pZCBz
dG9wRGlzcGxheUxpbmtzKElQQzo6Q29ubmVjdGlvbiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5rLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9EaXNwbGF5TGluay5jcHAKaW5kZXggMjI2NDQ0YzM5ODY3Yzc1MWZlY2ViMDc5NWZm
ZmNjYzMxMTZlOTJjMy4uYzI3MmMwZThmMDcxZWE2YWU1MWU5NDdmN2E5NDUwZjNjNzYzYTk1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5rLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuY3BwCkBAIC0zNiwx
NiArMzYsMTggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBEaXNwbGF5TGluazo6RGlzcGxheUxpbmso
V2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQogICAgIDogbV9kaXNwbGF5SUQo
ZGlzcGxheUlEKQogeworICAgIC8vIEZJWE1FOiBXZSBjYW4gZ2V0IGhlcmUgd2l0aCBkaXNwbGF5
SUQgPT0gMCAod2Via2l0Lm9yZy9iLzIxMjEyMCksIGluIHdoaWNoIGNhc2UgQ1ZEaXNwbGF5TGlu
a0NyZWF0ZVdpdGhDR0Rpc3BsYXkoKQorICAgIC8vIHByb2JhYmx5IGRlZmF1bHRzIHRvIHRoZSBt
YWluIHNjcmVlbi4KICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmls
ZWdlOjpDYW5Db21tdW5pY2F0ZVdpdGhXaW5kb3dTZXJ2ZXIpKTsKICAgICBDVlJldHVybiBlcnJv
ciA9IENWRGlzcGxheUxpbmtDcmVhdGVXaXRoQ0dEaXNwbGF5KGRpc3BsYXlJRCwgJm1fZGlzcGxh
eUxpbmspOwogICAgIGlmIChlcnJvcikgewotICAgICAgICBXVEZMb2dBbHdheXMoIkNvdWxkIG5v
dCBjcmVhdGUgYSBkaXNwbGF5IGxpbms6ICVkIiwgZXJyb3IpOworICAgICAgICBXVEZMb2dBbHdh
eXMoIkNvdWxkIG5vdCBjcmVhdGUgYSBkaXNwbGF5IGxpbmsgZm9yIGRpc3BsYXkgJXU6IGVycm9y
ICVkIiwgZGlzcGxheUlELCBlcnJvcik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgCiAg
ICAgZXJyb3IgPSBDVkRpc3BsYXlMaW5rU2V0T3V0cHV0Q2FsbGJhY2sobV9kaXNwbGF5TGluaywg
ZGlzcGxheUxpbmtDYWxsYmFjaywgdGhpcyk7CiAgICAgaWYgKGVycm9yKSB7Ci0gICAgICAgIFdU
RkxvZ0Fsd2F5cygiQ291bGQgbm90IHNldCB0aGUgZGlzcGxheSBsaW5rIG91dHB1dCBjYWxsYmFj
azogJWQiLCBlcnJvcik7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiQ291bGQgbm90IHNldCB0aGUg
ZGlzcGxheSBsaW5rIG91dHB1dCBjYWxsYmFjayBmb3IgZGlzcGxheSAldTogZXJyb3IgJWQiLCBk
aXNwbGF5SUQsIGVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIH0KQEAgLTYxLDYgKzYz
LDEyIEBAIERpc3BsYXlMaW5rOjp+RGlzcGxheUxpbmsoKQogICAgIENWRGlzcGxheUxpbmtSZWxl
YXNlKG1fZGlzcGxheUxpbmspOwogfQogCitPcHRpb25hbDx1bnNpZ25lZD4gRGlzcGxheUxpbms6
Om5vbWluYWxGcmFtZXNQZXJTZWNvbmQoKSBjb25zdAoreworICAgIENWVGltZSByZWZyZXNoUGVy
aW9kID0gQ1ZEaXNwbGF5TGlua0dldE5vbWluYWxPdXRwdXRWaWRlb1JlZnJlc2hQZXJpb2QobV9k
aXNwbGF5TGluayk7CisgICAgcmV0dXJuIHJvdW5kKChkb3VibGUpcmVmcmVzaFBlcmlvZC50aW1l
U2NhbGUgLyAoZG91YmxlKXJlZnJlc2hQZXJpb2QudGltZVZhbHVlKTsKK30KKwogdm9pZCBEaXNw
bGF5TGluazo6YWRkT2JzZXJ2ZXIoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBEaXNwbGF5
TGlua09ic2VydmVySUQgb2JzZXJ2ZXJJRCkKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWlu
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5r
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaAppbmRleCBkMzNi
NGI5NzNjODY1ODNmZDI5NmIwMTVjZDJiOWRlZDYzOTBiMzdlLi4wZDFiYTY0MDhhYjU3OGRkZWVj
NzVkYzczMDI2MGUwOGIxMjc1OGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvRGlzcGxheUxpbmsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlz
cGxheUxpbmsuaApAQCAtNTEsNiArNTEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNPYnNlcnZl
cnMoKSBjb25zdDsKIAogICAgIFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGlzcGxheUlEOyB9CisgICAgCisgICAgT3B0aW9uYWw8dW5zaWdu
ZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQoKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBzdGF0
aWMgQ1ZSZXR1cm4gZGlzcGxheUxpbmtDYWxsYmFjayhDVkRpc3BsYXlMaW5rUmVmLCBjb25zdCBD
VlRpbWVTdGFtcCosIGNvbnN0IENWVGltZVN0YW1wKiwgQ1ZPcHRpb25GbGFncywgQ1ZPcHRpb25G
bGFncyosIHZvaWQqIGRhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhp
Y3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCmluZGV4IDI4MTg5YzgyZGE2
MmQ5ZTBkOWY1MTZmMWE2OWQ0YTg2MTRkYmQxZDYuLmY1ZjI0YmMwZmQxMmYyZGU4MWYyYWM1MmZk
ZjBjYTJmNzFiYmFjYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKQEAgLTU3Niw3ICs1NzYsNyBA
QCB2b2lkIERyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljczo6ZW50ZXJBY2NlbGVyYXRlZENv
bXBvc2l0aW5nTW9kZShHcmFwaGljc0xheQogICAgIGF1dG8gY2hhbmdlV2luZG93U2NyZWVuID0g
WyZdIHsKICAgICAgICAgLy8gSW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgd2UgZ2V0IGEgdW5pcXVl
IERpc3BsYXlSZWZyZXNoTW9uaXRvciBwZXItRHJhd2luZ0FyZWEgKG5lY2Vzc2FyeSBiZWNhdXNl
IFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yCiAgICAgICAgIC8vIGlzIGRyaXZlbiBieSB0
aGUgVGhyZWFkZWRDb21wb3NpdG9yIG9mIHRoZSBkcmF3aW5nIGFyZWEpLCBnaXZlIGVhY2ggcGFn
ZSBhIHVuaXF1ZSBEaXNwbGF5SUQgZGVyaXZlZCBmcm9tIFdlYlBhZ2UncyB1bmlxdWUgSUQuCi0g
ICAgICAgIG1fd2ViUGFnZS53aW5kb3dTY3JlZW5EaWRDaGFuZ2UobV9sYXllclRyZWVIb3N0LT5k
aXNwbGF5SUQoKSk7CisgICAgICAgIG1fd2ViUGFnZS53aW5kb3dTY3JlZW5EaWRDaGFuZ2UobV9s
YXllclRyZWVIb3N0LT5kaXNwbGF5SUQoKSwgV1RGOjpudWxsb3B0KTsKICAgICB9OwogCiAgICAg
QVNTRVJUKCFtX2xheWVyVHJlZUhvc3QpOwpAQCAtNjMyLDcgKzYzMiw3IEBAIHZvaWQgRHJhd2lu
Z0FyZWFDb29yZGluYXRlZEdyYXBoaWNzOjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUo
KQogICAgIG1fZGlzY2FyZFByZXZpb3VzTGF5ZXJUcmVlSG9zdFRpbWVyLnN0YXJ0T25lU2hvdCg1
X3MpOwogCiAgICAgLy8gQWx3YXlzIHVzZSB0aGUgcHJpbWFyeSBkaXNwbGF5IElEICgwKSB3aGVu
IG5vdCBpbiBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBtb2RlLgotICAgIG1fd2ViUGFnZS53aW5k
b3dTY3JlZW5EaWRDaGFuZ2UoMCk7CisgICAgbV93ZWJQYWdlLndpbmRvd1NjcmVlbkRpZENoYW5n
ZSgwLCBXVEY6Om51bGxvcHQpOwogCiAgICAgbV9kaXJ0eVJlZ2lvbiA9IG1fd2ViUGFnZS5ib3Vu
ZHMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLm1tCmluZGV4IDg2ZTRlNWNjOWFlZjFkODEwZTJlZDc3MWMyMTExY2FmNDkwNmQ0YWYu
LjI2YzM3NDc2YzdiMDFkZWY4YjQ2ZjFjZGIxMDNmZjg1OWFkYWEzMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTcyLDcg
KzcyLDcgQEAgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OlJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhKFdlYlBhZ2UmIHdlYlBhZ2UsIGNvbnN0IFcKICAgICAvLyBGSVhNRTogV2hpbGUgdXNp
bmcgdGhlIGhpZ2ggZW5kIG9mIHRoZSByYW5nZSBvZiBEaXNwbGF5SURzIG1ha2VzIGEgY29sbGlz
aW9uIHdpdGggcmVhbCwgbm9uLVJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhCiAgICAgLy8gRGlz
cGxheUlEcyBsZXNzIGxpa2VseSwgaXQgaXMgbm90IGVudGlyZWx5IHNhZmUgdG8gaGF2ZSBhIFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhIGFuZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YQogICAgIC8vIGNvZWV4aXN0IGluIHRoZSBzYW1lIHByb2Nlc3MuCi0gICAgd2ViUGFnZS53aW5k
b3dTY3JlZW5EaWRDaGFuZ2Uoc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpIC0g
d2ViUGFnZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CisgICAgd2ViUGFnZS53aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2Uoc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpIC0gd2ViUGFn
ZS5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgV1RGOjpudWxsb3B0KTsKIAogICAgIGlmIChhdXRv
IHZpZXdFeHBvc2VkUmVjdCA9IHBhcmFtZXRlcnMudmlld0V4cG9zZWRSZWN0KQogICAgICAgICBz
ZXRWaWV3RXhwb3NlZFJlY3Qodmlld0V4cG9zZWRSZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNGFjNDQ3YzFjOGYzYzc0ODAwMTViNjhm
OTFlYzcxZWNkZjNkYmVlZS4uMTRmZjBlYmI1MzRmMGU4OTQyNTEzYzBlZTE3NTc2MmY3ZWMzYWM4
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTE5NzEsOSArMTk3MSw5IEBAIHZvaWQgV2ViUGFnZTo6c2V0UGFnZUFuZFRleHRab29tRmFjdG9y
cyhkb3VibGUgcGFnZVpvb21GYWN0b3IsIGRvdWJsZSB0ZXh0Wm9vbUZhCiAgICAgcmV0dXJuIGZy
YW1lLT5zZXRQYWdlQW5kVGV4dFpvb21GYWN0b3JzKHN0YXRpY19jYXN0PGZsb2F0PihwYWdlWm9v
bUZhY3RvciksIHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0Wm9vbUZhY3RvcikpOwogfQogCi12b2lk
IFdlYlBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZSh1aW50MzJfdCBkaXNwbGF5SUQpCit2b2lk
IFdlYlBhZ2U6OndpbmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5
SUQsIE9wdGlvbmFsPHVuc2lnbmVkPiBub21pbmFsRnJhbWVzUGVyU2Vjb25kKQogewotICAgIG1f
cGFnZS0+Y2hyb21lKCkud2luZG93U2NyZWVuRGlkQ2hhbmdlKHN0YXRpY19jYXN0PFBsYXRmb3Jt
RGlzcGxheUlEPihkaXNwbGF5SUQpKTsKKyAgICBtX3BhZ2UtPmNocm9tZSgpLndpbmRvd1NjcmVl
bkRpZENoYW5nZShkaXNwbGF5SUQsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpOwogCiAjaWYgUExB
VEZPUk0oTUFDKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnVwZGF0ZVBhZ2VTY3JlZW5Q
cm9wZXJ0aWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggMGIxZDgxYzg2OThjN2FhMjY0Yzc2YTkwMjU0ZTcwMGI0YWY5YzM1Yy4uZDYyNjgyODQ0
M2E2NjMzNThkYzcxNmRjNjhlZjhiZTAyZjA3N2I1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjA0LDYgKzIwNCw4IEBAIGVudW0gY2xhc3MgVGV4
dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24gOiB1aW50OF90OwogZW51bSBjbGFzcyBU
ZXh0R3JhbnVsYXJpdHkgOiB1aW50OF90OwogZW51bSBjbGFzcyBXcml0aW5nRGlyZWN0aW9uIDog
dWludDhfdDsKIAordXNpbmcgUGxhdGZvcm1EaXNwbGF5SUQgPSB1aW50MzJfdDsKKwogc3RydWN0
IEF0dHJpYnV0ZWRTdHJpbmc7CiBzdHJ1Y3QgQmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKIHN0
cnVjdCBDb21wb3NpdGlvbkhpZ2hsaWdodDsKQEAgLTUxNyw3ICs1MTksNyBAQCBwdWJsaWM6CiAg
ICAgZG91YmxlIHBhZ2Vab29tRmFjdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRQYWdlWm9vbUZh
Y3Rvcihkb3VibGUpOwogICAgIHZvaWQgc2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhkb3VibGUg
cGFnZVpvb21GYWN0b3IsIGRvdWJsZSB0ZXh0Wm9vbUZhY3Rvcik7Ci0gICAgdm9pZCB3aW5kb3dT
Y3JlZW5EaWRDaGFuZ2UodWludDMyX3QpOworICAgIHZvaWQgd2luZG93U2NyZWVuRGlkQ2hhbmdl
KFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlELCBPcHRpb25hbDx1bnNpZ25lZD4gbm9taW5hbEZy
YW1lc1BlclNlY29uZCk7CiAgICAgU3RyaW5nIGR1bXBIaXN0b3J5Rm9yVGVzdGluZyhjb25zdCBT
dHJpbmcmIGRpcmVjdG9yeSk7CiAgICAgdm9pZCBjbGVhckhpc3RvcnkoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5k
ZXggODFhN2Y3OGEwYTY4OWUzMjUwMTJiODMyZmY3ODlkMWY5OTE4OWE3Ny4uMmFhZGVmZTI3MmM2
YzcxNTUwNjY4NmM2NjY1NGU4MDVjNTQzNmM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yNjcsNyArMjY3LDcg
QEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpT
eW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBTZXRQYWdlQW5kVGV4dFpvb21GYWN0b3Jz
KGRvdWJsZSBwYWdlWm9vbUZhY3RvciwgZG91YmxlIHRleHRab29tRmFjdG9yKQogICAgIFNldFBh
Z2Vab29tRmFjdG9yKGRvdWJsZSB6b29tRmFjdG9yKQogICAgIFNldFRleHRab29tRmFjdG9yKGRv
dWJsZSB6b29tRmFjdG9yKQotICAgIFdpbmRvd1NjcmVlbkRpZENoYW5nZSh1aW50MzJfdCBkaXNw
bGF5SUQpCisgICAgV2luZG93U2NyZWVuRGlkQ2hhbmdlKHVpbnQzMl90IGRpc3BsYXlJRCwgT3B0
aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZXNQZXJTZWNvbmQpCiAKICAgICBBY2Nlc3NpYmls
aXR5U2V0dGluZ3NEaWRDaGFuZ2UoKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KaW5kZXggZmRjYmE0ZWYwYTZjYWM0NzdjZGNlOWY0NzZiMmVkNTRmMmM0ZWM3
ZS4uNWRiNWYyNTA5OWY0ODdjYjlmMjQ2YjNmYTFkZWQ1YTMxNjVmMTliYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTkyLDYgKzE5Miw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL1BhZ2VHcm91cC5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYXRoVXRpbGl0
aWVzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Byb2dyZXNz
VHJhY2tlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZW5kZXJUaGVtZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SZW5kZXJWaWV3Lmg+CkBAIC02MDQ2LDcgKzYwNDcsNyBAQCAtICh2b2lkKXZpZXdEaWRN
b3ZlVG9XaW5kb3cKIC0gKHZvaWQpZG9XaW5kb3dEaWRDaGFuZ2VTY3JlZW4KIHsKICAgICBpZiAo
X3ByaXZhdGUgJiYgX3ByaXZhdGUtPnBhZ2UpCi0gICAgICAgIF9wcml2YXRlLT5wYWdlLT5jaHJv
bWUoKS53aW5kb3dTY3JlZW5EaWRDaGFuZ2UoKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKVtb
W1tbc2VsZiB3aW5kb3ddIHNjcmVlbl0gZGV2aWNlRGVzY3JpcHRpb25dIG9iamVjdEZvcktleTpA
Ik5TU2NyZWVuTnVtYmVyIl0gaW50VmFsdWVdKTsKKyAgICAgICAgX3ByaXZhdGUtPnBhZ2UtPmNo
cm9tZSgpLndpbmRvd1NjcmVlbkRpZENoYW5nZShXZWJDb3JlOjpkaXNwbGF5SUQoc2VsZi53aW5k
b3cuc2NyZWVuKSwgV1RGOjpudWxsb3B0KTsKIH0KIAogLSAodm9pZClfd2luZG93Q2hhbmdlZEtl
eVN0YXRlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>