<?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>223984</bug_id>
          
          <creation_ts>2021-03-30 21:29:02 -0700</creation_ts>
          <short_desc>Assertions in DisplayUpdate when dragging WebView windows between screens with different refresh rates</short_desc>
          <delta_ts>2021-03-31 14:00:19 -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>WebCore Misc.</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>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1745502</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-30 21:29:02 -0700</bug_when>
    <thetext>Assertions in DisplayUpdate when dragging WebView windows between screens with different refresh rates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745503</commentid>
    <comment_count>1</comment_count>
      <attachid>424733</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-30 21:38:36 -0700</bug_when>
    <thetext>Created attachment 424733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745504</commentid>
    <comment_count>2</comment_count>
      <attachid>424734</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-30 21:56:45 -0700</bug_when>
    <thetext>Created attachment 424734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745698</commentid>
    <comment_count>3</comment_count>
      <attachid>424734</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-03-31 11:24:29 -0700</bug_when>
    <thetext>Comment on attachment 424734
Patch

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

&gt; Source/WebCore/page/Chrome.cpp:549
&gt; +void Chrome::windowScreenDidChange(PlatformDisplayID displayID, Optional&lt;FramesPerSecond&gt; nominalFrameInterval)

Seems like at some point we should add a &quot;PlatformDisplay&quot; or &quot;PlatformScreen&quot; object that can package these.

&gt; Source/WebCore/page/Page.cpp:1186
&gt; +        // If the caller didn&apos;t give us a refresh rate, maybe the relevant DisplayRefreshMonitor can? This happens in WebKitLegacy.

Can you add a little bit more detail about why this can happen in WebKitLegacy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745766</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-31 13:59:57 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/275302/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745768</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-31 14:00:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/76069665&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424733</attachid>
            <date>2021-03-30 21:38:36 -0700</date>
            <delta_ts>2021-03-30 22:00:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223984-20210330213835.patch</filename>
            <type>text/plain</type>
            <size>20033</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RmYWVlYTI0YzBlMzEz
NTFlOTIyOGI5OTFlMjFjYjRkNWY1ZTdmNC4uOGFiYzkwYTQyODJjM2NjOTA0NzVjNGZiZTU4ZTdh
MzY0NzE3MTNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIxLTAzLTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFzc2VydGlvbnMg
aW4gRGlzcGxheVVwZGF0ZSB3aGVuIGRyYWdnaW5nIFdlYlZpZXcgd2luZG93cyBiZXR3ZWVuIHNj
cmVlbnMgd2l0aCBkaWZmZXJlbnQgcmVmcmVzaCByYXRlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzOTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHZhcmlvdXMgcmVhc29ucyB3aHkg
cmlnb3JvdXMgYXNzZXJ0aW9ucyBpbiBEaXNwbGF5VXBkYXRlOjpyZWxldmFudEZvclVwZGF0ZUZy
ZXF1ZW5jeSgpCisgICAgICAgIGFyZSBpbGwgYWR2aXNlZC4KKworICAgICAgICBXaGVuIFdlYktp
dExlZ2FjeSBjYWxscyB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoKSBpdCBkb2VzIG5vdCBwYXNzIGlu
IGEgbm9taW5hbCBkaXNwbGF5CisgICAgICAgIHJlZnJlc2ggcmF0ZSwgc28gd2UgYXNzdW1lIDYw
ZnBzLiBJZiB0aGUgc2NyZWVuIGFjdHVhbGx5IGhhcyBhIG5vbi02MGZwcyByZWZyZXNoIHJhdGUs
IHRoZW4KKyAgICAgICAgd2UgY2FuIGdldCBtaXhlZCA2MC81MCBzdGF0ZSBpbiB2YXJpb3VzIHBs
YWNlczsgdGhpcyBjaGFuZ2UgZml4ZXMgb25lIG9mIHRoZW0sIGJ1dCBzdWNoIGJ1Z3MKKyAgICAg
ICAgaGF2ZSB0byBub3QgcmVzdWx0IGluIGFzc2VydGlvbnMgb3IgZGl2aWRlIGJ5IHplcm8gY3Jh
c2hlcyBpbgorICAgICAgICBEaXNwbGF5VXBkYXRlOjpyZWxldmFudEZvclVwZGF0ZUZyZXF1ZW5j
eSgpLgorCisgICAgICAgIFRoZSBzZWNvbmQgcmVhc29uIGlzIHdlYmtpdC5vcmcvYi8yMTIxMjA7
IHdlIG1heSBzdGFydCBEaXNwbGF5UmVmcmVzaE1vbml0b3JzIHdpdGggRGlzcGxheUlECisgICAg
ICAgIDAgYmVmb3JlIHdlIGtub3cgd2hhdCBzY3JlZW4gd2UncmUgb24sIGFnYWluIHJpc2tpbmcg
YSBzaXR1YXRpb24gd2hlcmUgdGhlIGFjdHVhbCBzY3JlZW4gaGFzCisgICAgICAgIGEgbm9uLTYw
ZnBzIHJlZnJlc2ggcmF0ZS4KKworICAgICAgICBUbyBmaXggdGhlIGNhc2Ugd2hlcmUgbm8gbm9t
aW5hbCByZWZyZXNoIHJhdGUgaXMgcGFzc2VkIHRocm91Z2gKKyAgICAgICAgQ2hyb21lOjp3aW5k
b3dTY3JlZW5EaWRDaGFuZ2UoKSwgYWxsb3cgYSBEaXNwbGF5UmVmcmVzaE1vbml0b3IgdG8gc3Vw
cGx5IGEgcmF0ZTsgb2Z0ZW4sIGEKKyAgICAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yIGNhbiBj
b21wdXRlIG9uZSBmcm9tIGl0cyBrbm93bGVkZ2Ugb2YgdGhlIGRpc3BsYXkuIFRoaXMgcmVxdWly
ZXMKKyAgICAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlciBpcyBhYmxlIHRvIGNyZWF0
ZSBhIERpc3BsYXlSZWZyZXNoTW9uaXRvciB3aXRoIG5vIGNsaWVudCwgc28KKyAgICAgICAgc3Vw
cG9ydCB0aGF0IHdpdGggYSBsaXR0bGUgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgSGF2ZSBzb21l
IERpc3BsYXlSZWZyZXNoTW9uaXRvciBpbXBsZW1lbnRhdGlvbnMgc3VwcGx5IHRoZWlyIG5vbWlu
YWwgZGlzcGxheSByZWZyZXNoIHJhdGUKKyAgICAgICAgd2hlbiBrbm93bi4KKworICAgICAgICAq
IHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6d2luZG93U2NyZWVu
RGlkQ2hhbmdlKTogTm8gbmVlZCB0byBlYXJseSByZXR1cm4gaGVyZTsgUGFnZSBkb2VzIHRoZSBz
YW1lIGNoZWNrLgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOiBQdXNoIHRoZSBjYWxsIHRvIGFkanVzdFJlbmRl
cmluZ1VwZGF0ZUZyZXF1ZW5jeSgpIGludG8gCisgICAgICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVk
dWxlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZSgpIGFzIHN1Z2dlc3RlZCBpbiBhIHByZXZpb3Vz
IHJldmlldy4KKyAgICAgICAgKiBwYWdlL1JlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OndpbmRvd1NjcmVlbkRp
ZENoYW5nZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlO
b21pbmFsRnJhbWVzUGVyU2Vjb25kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hbmFnZXI6OmVuc3VyZU1vbml0b3JGb3JEaXNwbGF5SUQpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6bm9taW5hbEZyYW1lc1Bl
clNlY29uZEZvckRpc3BsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25p
dG9yTWFuYWdlcjo6bW9uaXRvckZvckNsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0Rpc3BsYXlVcGRhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVVwZGF0
ZTo6cmVsZXZhbnRGb3JVcGRhdGVGcmVxdWVuY3kgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpkaXNwbGF5Tm9taW5hbEZyYW1lc1Bl
clNlY29uZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0xlZ2FjeURpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lEaXNwbGF5UmVm
cmVzaE1vbml0b3JNYWM6OmVuc3VyZURpc3BsYXlMaW5rKToKKyAgICAgICAgKFdlYkNvcmU6Okxl
Z2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYzo6c3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20p
OgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjOjpkaXNw
bGF5Tm9taW5hbEZyYW1lc1BlclNlY29uZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0xlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oOgorCiAyMDIxLTAzLTI5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IG5vbi02
MGZwcyBkaXNwbGF5IHVwZGF0ZXMgdG8gYmUgZHJpdmVuIGJ5IERpc3BsYXlSZWZyZXNoTW9uaXRv
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA5ZTVhN2RlMTBjODA0ZWY3MGY1YmRmZTcxYjc2MDAyMjdmNzY5YmIyLi44
NzFjYzZmNjhlNjMwNzBhMmEwYjhkYzZjM2FmYWI2OTYzYmFhMDlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTAzLTMwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIEFzc2VydGlvbnMgaW4gRGlzcGxheVVwZGF0ZSB3aGVuIGRyYWdnaW5n
IFdlYlZpZXcgd2luZG93cyBiZXR3ZWVuIHNjcmVlbnMgd2l0aCBkaWZmZXJlbnQgcmVmcmVzaCBy
YXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIz
OTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yIGtub3dzIGl0cyBtX3ByZWZlcnJlZEZy
YW1lc1BlclNlY29uZCBzbyBjYW4KKyAgICAgICAgcmV0dXJuIHRoYXQuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlS
ZWZyZXNoTW9uaXRvci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXll
clRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlOb21p
bmFsRnJhbWVzUGVyU2Vjb25kKToKKwogMjAyMS0wMy0yOSAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBub24tNjBmcHMgZGlzcGxheSB1cGRh
dGVzIHRvIGJlIGRyaXZlbiBieSBEaXNwbGF5UmVmcmVzaE1vbml0b3IKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmNwcAppbmRleCA3ZmU3MTQ0YWY2ZjE0MTljZjYxMWZiNjgyMDkxOWFmY2FkMmU5NjhlLi5lYzI0
NzZhOTc5NDJmODA2OTVkNmQwMDdkYzk0YzJmNmMwYTI4ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwCkBAIC01NDYsMTEgKzU0Niw4IEBAIFBsYXRmb3JtRGlzcGxheUlEIENocm9tZTo6ZGlzcGxh
eUlEKCkgY29uc3QKICAgICByZXR1cm4gbV9wYWdlLmRpc3BsYXlJRCgpOwogfQogCi12b2lkIENo
cm9tZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwg
T3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZUludGVydmFsKQordm9pZCBDaHJvbWU6Ondp
bmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQsIE9wdGlvbmFs
PEZyYW1lc1BlclNlY29uZD4gbm9taW5hbEZyYW1lSW50ZXJ2YWwpCiB7Ci0gICAgaWYgKGRpc3Bs
YXlJRCA9PSBtX3BhZ2UuZGlzcGxheUlEKCkgJiYgbm9taW5hbEZyYW1lSW50ZXJ2YWwgPT0gbV9w
YWdlLmRpc3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kKCkpCi0gICAgICAgIHJldHVybjsKLQog
ICAgIG1fcGFnZS53aW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlELCBub21pbmFsRnJhbWVJ
bnRlcnZhbCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGQ1MjZhNTk1ODIxNDEwZDZlYjEx
MDBhNDkzNzBkYTkyNDdjMmRiOWMuLmI2YjRkZmUyMDIyYjA3MWRkODEyMzg3YTI1YzJjOThjYjU0
NTc3MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIkRl
YnVnUGFnZU92ZXJsYXlzLmgiCiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCIK
ICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCIKKyNpbmNsdWRlICJEaXNwbGF5UmVm
cmVzaE1vbml0b3JNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNs
dWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudFRpbWVs
aW5lLmgiCkBAIC0xMTgxLDYgKzExODIsMTAgQEAgdm9pZCBQYWdlOjp3aW5kb3dTY3JlZW5EaWRD
aGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBPcHRpb25hbDxGcmFtZXNQZXIKIAog
ICAgIG1fZGlzcGxheUlEID0gZGlzcGxheUlEOwogICAgIG1fZGlzcGxheU5vbWluYWxGcmFtZXNQ
ZXJTZWNvbmQgPSBub21pbmFsRnJhbWVzUGVyU2Vjb25kOworICAgIGlmICghbV9kaXNwbGF5Tm9t
aW5hbEZyYW1lc1BlclNlY29uZCkgeworICAgICAgICAvLyBJZiB0aGUgY2FsbGVyIGRpZG4ndCBn
aXZlIHVzIGEgcmVmcmVzaCByYXRlLCBtYXliZSB0aGUgcmVsZXZhbnQgRGlzcGxheVJlZnJlc2hN
b25pdG9yIGNhbj8gVGhpcyBoYXBwZW5zIGluIFdlYktpdExlZ2FjeS4KKyAgICAgICAgbV9kaXNw
bGF5Tm9taW5hbEZyYW1lc1BlclNlY29uZCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6
OnNoYXJlZE1hbmFnZXIoKS5ub21pbmFsRnJhbWVzUGVyU2Vjb25kRm9yRGlzcGxheShtX2Rpc3Bs
YXlJRCwgY2hyb21lKCkuY2xpZW50KCkuZGlzcGxheVJlZnJlc2hNb25pdG9yRmFjdG9yeSgpKTsK
KyAgICB9CiAKICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZy
YW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUt
PmRvY3VtZW50KCkpCkBAIC0xMTk1LDEwICsxMjAwLDkgQEAgdm9pZCBQYWdlOjp3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBPcHRpb25hbDxGcmFtZXNQ
ZXIKICNlbmRpZgogCiAgICAgaWYgKG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCi0gICAgICAgIG1f
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsIG5v
bWluYWxGcmFtZXNQZXJTZWNvbmQpOworICAgICAgICBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yLT53
aW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlELCBtX2Rpc3BsYXlOb21pbmFsRnJhbWVzUGVy
U2Vjb25kKTsKIAogICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcigpLndpbmRvd1NjcmVlbkRp
ZENoYW5nZShkaXNwbGF5SUQpOwotICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcigpLmFkanVz
dFJlbmRlcmluZ1VwZGF0ZUZyZXF1ZW5jeSgpOwogCiAgICAgc2V0TmVlZHNSZWNhbGNTdHlsZUlu
QWxsRnJhbWVzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmlu
Z1VwZGF0ZVNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlci5jcHAKaW5kZXggOWExYTU0ZTUyZDk2YWU0NjU2YjA4ODExMGVkODE1ZWMwMjU3
NTBiMi4uNTI2ZTVlYTY5OWQ3ZTY1ZDQ0YmQzZWM0YmVjNTE1NTA5NjRjZjdiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyLmNwcApAQCAtMTE1
LDYgKzExNSw3IEBAIERpc3BsYXlSZWZyZXNoTW9uaXRvckZhY3RvcnkqIFJlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlcjo6ZGlzcGxheVJlZnJlc2hNb25pdG9yRmFjCiAKIHZvaWQgUmVuZGVyaW5nVXBk
YXRlU2NoZWR1bGVyOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlz
cGxheUlEKQogeworICAgIGFkanVzdFJlbmRlcmluZ1VwZGF0ZUZyZXF1ZW5jeSgpOwogICAgIERp
c3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS53aW5kb3dTY3JlZW5E
aWRDaGFuZ2UoZGlzcGxheUlELCAqdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKaW5kZXggMjVh
MTNmOTJlNDk0Y2RjZjMzODc2YTk5YTUzYzM3OGU4MTM0Mjc2NS4uZjZlMmNiMDk0NjI4N2E1NWI0
OWYzZmQ2YTk4MThmNDk5MDNhYWEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKQEAgLTU4LDcgKzU4LDkg
QEAgcHVibGljOgogICAgIGJvb2wgaGFzQ2xpZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50
cy5zaXplKCk7IH0KICAgICB2b2lkIGFkZENsaWVudChEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGll
bnQmKTsKICAgICBib29sIHJlbW92ZUNsaWVudChEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQm
KTsKLSAgICAKKworICAgIHZpcnR1YWwgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5
Tm9taW5hbEZyYW1lc1BlclNlY29uZCgpIHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQorCiAgICAg
UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3QgeyByZXR1cm4gbV9kaXNwbGF5SUQ7
IH0KIAogICAgIHN0YXRpYyBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEZWZh
dWx0RGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1h
bmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFuYWdlci5jcHAKaW5kZXggZDk1ZWNhNzRjMjBjYTA2Y2VhYWRiNjFhNzU3NDZj
ZDE0M2NkZTA3Ny4uN2FmOTVjODdiMTFmODdlYTFmNTg5YzU4ZTkwNzI3ODY0NmU5YWM5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5jcHAKQEAgLTQxLDIzICs0MSwxNiBAQCBEaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyJiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VyKCkKICAgICByZXR1cm4gbWFuYWdlci5nZXQoKTsKIH0KIAotRGlzcGxheVJl
ZnJlc2hNb25pdG9yKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjptb25pdG9yRm9yQ2xp
ZW50KERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCYgY2xpZW50KQorRGlzcGxheVJlZnJlc2hN
b25pdG9yKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjplbnN1cmVNb25pdG9yRm9yRGlz
cGxheUlEKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgRGlzcGxheVJlZnJlc2hNb25pdG9y
RmFjdG9yeSogZmFjdG9yeSkKIHsKLSAgICBpZiAoIWNsaWVudC5oYXNEaXNwbGF5SUQoKSkKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBQbGF0Zm9ybURpc3BsYXlJRCBjbGllbnREaXNw
bGF5SUQgPSBjbGllbnQuZGlzcGxheUlEKCk7Ci0gICAgaWYgKGF1dG8qIGV4aXN0aW5nTW9uaXRv
ciA9IG1vbml0b3JGb3JEaXNwbGF5SUQoY2xpZW50RGlzcGxheUlEKSkgewotICAgICAgICBleGlz
dGluZ01vbml0b3ItPmFkZENsaWVudChjbGllbnQpOworICAgIGlmIChhdXRvKiBleGlzdGluZ01v
bml0b3IgPSBtb25pdG9yRm9yRGlzcGxheUlEKGRpc3BsYXlJRCkpCiAgICAgICAgIHJldHVybiBl
eGlzdGluZ01vbml0b3I7Ci0gICAgfQogCi0gICAgYXV0byBtb25pdG9yID0gRGlzcGxheVJlZnJl
c2hNb25pdG9yOjpjcmVhdGUoY2xpZW50LmRpc3BsYXlSZWZyZXNoTW9uaXRvckZhY3RvcnkoKSwg
Y2xpZW50RGlzcGxheUlEKTsKKyAgICBhdXRvIG1vbml0b3IgPSBEaXNwbGF5UmVmcmVzaE1vbml0
b3I6OmNyZWF0ZShmYWN0b3J5LCBkaXNwbGF5SUQpOwogICAgIGlmICghbW9uaXRvcikKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBMT0dfV0lUSF9TVFJFQU0oRGlzcGxheUxpbmssIHN0
cmVhbSA8PCAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6bW9uaXRvckZvckNsaWVudCgp
IC0gY3JlYXRlZCBtb25pdG9yICIgPDwgbW9uaXRvci5nZXQoKSA8PCAiIGZvciBkaXNwbGF5ICIg
PDwgY2xpZW50RGlzcGxheUlEKTsKLSAgICBtb25pdG9yLT5hZGRDbGllbnQoY2xpZW50KTsKKyAg
ICBMT0dfV0lUSF9TVFJFQU0oRGlzcGxheUxpbmssIHN0cmVhbSA8PCAiRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFuYWdlcjo6ZW5zdXJlTW9uaXRvckZvckRpc3BsYXlJRCgpIC0gY3JlYXRlZCBtb25p
dG9yICIgPDwgbW9uaXRvci5nZXQoKSA8PCAiIGZvciBkaXNwbGF5ICIgPDwgZGlzcGxheUlEKTsK
ICAgICBEaXNwbGF5UmVmcmVzaE1vbml0b3IqIHJlc3VsdCA9IG1vbml0b3IuZ2V0KCk7CiAgICAg
bV9tb25pdG9ycy5hcHBlbmQoeyBXVEZNb3ZlKG1vbml0b3IpIH0pOwogICAgIHJldHVybiByZXN1
bHQ7CkBAIC0xMDgsNiArMTAxLDE1IEBAIHZvaWQgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdl
cjo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsCiAgICAgICAg
IHNjaGVkdWxlQW5pbWF0aW9uKGNsaWVudCk7CiB9CiAKK09wdGlvbmFsPEZyYW1lc1BlclNlY29u
ZD4gRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6bm9taW5hbEZyYW1lc1BlclNlY29uZEZv
ckRpc3BsYXkoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBEaXNwbGF5UmVmcmVzaE1vbml0
b3JGYWN0b3J5KiBmYWN0b3J5KQoreworICAgIGF1dG8qIG1vbml0b3IgPSBlbnN1cmVNb25pdG9y
Rm9yRGlzcGxheUlEKGRpc3BsYXlJRCwgZmFjdG9yeSk7CisgICAgaWYgKG1vbml0b3IpCisgICAg
ICAgIG1vbml0b3ItPmRpc3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kKCk7CisKKyAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworfQorCiB2b2lkIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6
OmRpc3BsYXlXYXNVcGRhdGVkKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgY29uc3QgRGlz
cGxheVVwZGF0ZSYgZGlzcGxheVVwZGF0ZSkKIHsKICAgICBhdXRvKiBtb25pdG9yID0gbW9uaXRv
ckZvckRpc3BsYXlJRChkaXNwbGF5SUQpOwpAQCAtMTIyLDYgKzEyNCwxOCBAQCBzaXplX3QgRGlz
cGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6ZmluZE1vbml0b3JGb3JEaXNwbGF5SUQoUGxhdGZv
cm1EaXNwbGF5SUQgZAogICAgIH0pOwogfQogCitEaXNwbGF5UmVmcmVzaE1vbml0b3IqIERpc3Bs
YXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6Om1vbml0b3JGb3JDbGllbnQoRGlzcGxheVJlZnJlc2hN
b25pdG9yQ2xpZW50JiBjbGllbnQpCit7CisgICAgaWYgKCFjbGllbnQuaGFzRGlzcGxheUlEKCkp
CisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byogbW9uaXRvciA9IGVuc3VyZU1v
bml0b3JGb3JEaXNwbGF5SUQoY2xpZW50LmRpc3BsYXlJRCgpLCBjbGllbnQuZGlzcGxheVJlZnJl
c2hNb25pdG9yRmFjdG9yeSgpKTsKKyAgICBpZiAobW9uaXRvcikKKyAgICAgICAgbW9uaXRvci0+
YWRkQ2xpZW50KGNsaWVudCk7CisKKyAgICByZXR1cm4gbW9uaXRvcjsKK30KKwogRGlzcGxheVJl
ZnJlc2hNb25pdG9yKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjptb25pdG9yRm9yRGlz
cGxheUlEKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkgY29uc3QKIHsKICAgICBhdXRvIGlu
ZGV4ID0gZmluZE1vbml0b3JGb3JEaXNwbGF5SUQoZGlzcGxheUlEKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvck1hbmFnZXIuaAppbmRleCBlZTg5MTI5MDM0MjUzNzUxZGRlNzJiNmFhZTJkNDVlNjNhN2Vj
YTc4Li5lZmZlN2E4NTYxMGY0NDBmYjU3Zjg3ZDczNmRkZTRmNjA5MTg2NWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JN
YW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFuYWdlci5oCkBAIC00Nyw2ICs0Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQm
LCBGcmFtZXNQZXJTZWNvbmQpOwogICAgIGJvb2wgc2NoZWR1bGVBbmltYXRpb24oRGlzcGxheVJl
ZnJlc2hNb25pdG9yQ2xpZW50Jik7CiAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxh
dGZvcm1EaXNwbGF5SUQsIERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCYpOworICAgIAorICAg
IE9wdGlvbmFsPEZyYW1lc1BlclNlY29uZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZEZvckRpc3Bs
YXkoUGxhdGZvcm1EaXNwbGF5SUQsIERpc3BsYXlSZWZyZXNoTW9uaXRvckZhY3RvcnkqKTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlzcGxheVdhc1VwZGF0ZWQoUGxhdGZvcm1EaXNwbGF5
SUQsIGNvbnN0IERpc3BsYXlVcGRhdGUmKTsKIApAQCAtNjAsNiArNjIsOCBAQCBwcml2YXRlOgog
ICAgIERpc3BsYXlSZWZyZXNoTW9uaXRvciogbW9uaXRvckZvckRpc3BsYXlJRChQbGF0Zm9ybURp
c3BsYXlJRCkgY29uc3Q7CiAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yKiBtb25pdG9yRm9yQ2xp
ZW50KERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCYpOwogCisgICAgRGlzcGxheVJlZnJlc2hN
b25pdG9yKiBlbnN1cmVNb25pdG9yRm9yRGlzcGxheUlEKFBsYXRmb3JtRGlzcGxheUlELCBEaXNw
bGF5UmVmcmVzaE1vbml0b3JGYWN0b3J5Kik7CisKICAgICBzdHJ1Y3QgRGlzcGxheVJlZnJlc2hN
b25pdG9yV3JhcHBlciB7CiAgICAgICAgIERpc3BsYXlSZWZyZXNoTW9uaXRvcldyYXBwZXIoRGlz
cGxheVJlZnJlc2hNb25pdG9yV3JhcHBlciYmKSA9IGRlZmF1bHQ7CiAgICAgICAgIH5EaXNwbGF5
UmVmcmVzaE1vbml0b3JXcmFwcGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Rpc3BsYXlVcGRhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRGlzcGxheVVwZGF0ZS5jcHAKaW5kZXggOTg5MjA2YjdmMjNkN2U2ZTE0MDUzZTVi
OGUzOWI3NGQ2YjVkNGRjYS4uOTc3NmRmODUzMTcyZjkwMGE5Y2JhNzY2NjJkOWE4MTEzZTEwNDkw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVVw
ZGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVVw
ZGF0ZS5jcHAKQEAgLTM0LDkgKzM0LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBE
aXNwbGF5VXBkYXRlOjpyZWxldmFudEZvclVwZGF0ZUZyZXF1ZW5jeShGcmFtZXNQZXJTZWNvbmQg
cHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKSBjb25zdAogewotICAgIEFTU0VSVChXVEY6OmlzSW50
ZWdyYWwoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHVwZGF0ZXNQZXJTZWNvbmQpIC8gcHJlZmVycmVkRnJh
bWVzUGVyU2Vjb25kKSk7CisgICAgLy8gRklYTUU6IElkZWFsbHkgdGhpcyB3b3VsZCBiZSBhbiBh
c3NlcnRpb24sIGJ1dCB0aGF0IG1heSBmaXJlIHdoZW4gd2luZG93cyBtb3ZlIGJldHdlZW4gc2Ny
ZWVucyB3aXRoIGRpZmZlcmVudCByZWZyZXNoIHJhdGVzLCBiZWNhdXNlIG9mIHdlYmtpdC5vcmcv
Yi8yMTIxMjAuCisgICAgaWYgKCFXVEY6OmlzSW50ZWdyYWwoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHVw
ZGF0ZXNQZXJTZWNvbmQpIC8gcHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kIHx8ICFwcmVmZXJyZWRG
cmFtZXNQZXJTZWNvbmQpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHVuc2lnbmVkIHJh
dGVGYWN0b3IgPSB1cGRhdGVzUGVyU2Vjb25kIC8gcHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kOwot
ICAgIHJldHVybiAhKHVwZGF0ZUluZGV4ICUgcmF0ZUZhY3Rvcik7CisgICAgcmV0dXJuICFyYXRl
RmFjdG9yIHx8ICEodXBkYXRlSW5kZXggJSByYXRlRmFjdG9yKTsKIH0KIAogVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRGlzcGxheVVwZGF0ZSYgdXBkYXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvcklPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oCmluZGV4IDFmOTEzMzNlYTE1MGIwMTRiODBkOTA5
MTc4ZmVjYTkyNGYzZjc2MjUuLjJiNWY1MjRmZDE3NTIxMDg0MmE5ZmM4ZWNhY2UzMTE1NzY3ZTkx
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9u
TWVjaGFuaXNtKCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkg
ZmluYWw7CisgICAgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5Tm9taW5hbEZyYW1l
c1BlclNlY29uZCgpIGZpbmFsOwogCiAgICAgUmV0YWluUHRyPFdlYkRpc3BsYXlMaW5rSGFuZGxl
cj4gbV9oYW5kbGVyOwogICAgIERpc3BsYXlVcGRhdGUgbV9jdXJyZW50VXBkYXRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNo
TW9uaXRvcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JJT1MubW0KaW5kZXggZDQyYzNkNmM3ZTYxNmUyMGZhYTQzMWQyYTEw
NzEwMTVmYThmODA0NC4uZTUxNmY4MTY5YjA1NzFiZGUzYmJjODMxYjE0YjI0YWE2NzM4ZmJkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tCkBAIC0xNDksNiArMTQ5LDExIEBAIHZv
aWQgRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkK
ICAgICBtX2Rpc3BsYXlMaW5rSXNBY3RpdmUgPSBmYWxzZTsKIH0KIAorT3B0aW9uYWw8RnJhbWVz
UGVyU2Vjb25kPiBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1M6OmRpc3BsYXlOb21pbmFsRnJhbWVz
UGVyU2Vjb25kKCkKK3sKKyAgICByZXR1cm4gRGlzcGxheUxpbmtGcmFtZXNQZXJTZWNvbmQ7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1J
TFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTGVn
YWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwCmluZGV4IGRm
YTdhZjdhNmVlOGE4MDM3MThkZjg3NTAzMGI0OGFhZGMwOTMzOGUuLjRlODEyYzcwMDU5MzBjNGI0
N2Q1ZDE0M2EwYmRkZTg1ODExMTFmYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVz
aE1vbml0b3JNYWMuY3BwCkBAIC04NSwxOCArODUsMjcgQEAgV2ViQ29yZTo6RnJhbWVzUGVyU2Vj
b25kIExlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYzo6bm9taW5hbEZyYW1lc1BlclNlY29u
ZEYKICAgICByZXR1cm4gcm91bmQoKGRvdWJsZSlyZWZyZXNoUGVyaW9kLnRpbWVTY2FsZSAvIChk
b3VibGUpcmVmcmVzaFBlcmlvZC50aW1lVmFsdWUpOwogfQogCitib29sIExlZ2FjeURpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYzo6ZW5zdXJlRGlzcGxheUxpbmsoKQoreworICAgIGlmIChtX2Rpc3Bs
YXlMaW5rKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8gZXJyb3IgPSBDVkRpc3Bs
YXlMaW5rQ3JlYXRlV2l0aENHRGlzcGxheShkaXNwbGF5SUQoKSwgJm1fZGlzcGxheUxpbmspOwor
ICAgIGlmIChlcnJvcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZXJyb3IgPSBDVkRp
c3BsYXlMaW5rU2V0T3V0cHV0Q2FsbGJhY2sobV9kaXNwbGF5TGluaywgZGlzcGxheUxpbmtDYWxs
YmFjaywgdGhpcyk7CisgICAgaWYgKGVycm9yKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIAorICAgIHJldHVybiB0cnVlOworfQorCiBib29sIExlZ2FjeURpc3BsYXlSZWZyZXNoTW9u
aXRvck1hYzo6c3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKQogewogICAgIGlmICghbV9kaXNw
bGF5TGluaykgewotICAgICAgICBhdXRvIGVycm9yID0gQ1ZEaXNwbGF5TGlua0NyZWF0ZVdpdGhD
R0Rpc3BsYXkoZGlzcGxheUlEKCksICZtX2Rpc3BsYXlMaW5rKTsKLSAgICAgICAgaWYgKGVycm9y
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIGVycm9yID0gQ1ZEaXNwbGF5
TGlua1NldE91dHB1dENhbGxiYWNrKG1fZGlzcGxheUxpbmssIGRpc3BsYXlMaW5rQ2FsbGJhY2ss
IHRoaXMpOwotICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgIGlmICghZW5zdXJlRGlzcGxheUxp
bmsoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBtX2N1cnJlbnRVcGRh
dGUgPSB7IDAsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmRGcm9tRGlzcGxheUxpbmsobV9kaXNwbGF5
TGluaykgfTsKICAgICB9CiAKICAgICBpZiAoIW1fZGlzcGxheUxpbmtJc0FjdGl2ZSkgewpAQCAt
MTA3LDcgKzExNiw3IEBAIGJvb2wgTGVnYWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjOjpzdGFy
dE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIAogICAgICAgICBtX2Rpc3BsYXlMaW5rSXNBY3RpdmUgPSB0cnVlOwotICAgICAgICBtX2N1
cnJlbnRVcGRhdGUudXBkYXRlSW5kZXggPSAwOworICAgICAgICBtX2N1cnJlbnRVcGRhdGUgPSB7
IDAsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmRGcm9tRGlzcGxheUxpbmsobV9kaXNwbGF5TGluaykg
fTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEyNiw2ICsxMzUsMTQgQEAgdm9pZCBM
ZWdhY3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWM6OnN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20o
KQogICAgIG1fZGlzcGxheUxpbmtJc0FjdGl2ZSA9IGZhbHNlOwogfQogCitPcHRpb25hbDxGcmFt
ZXNQZXJTZWNvbmQ+IExlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYzo6ZGlzcGxheU5vbWlu
YWxGcmFtZXNQZXJTZWNvbmQoKQoreworICAgIGlmICghZW5zdXJlRGlzcGxheUxpbmsoKSkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgCisgICAgcmV0dXJuIG5vbWluYWxG
cmFtZXNQZXJTZWNvbmRGcm9tRGlzcGxheUxpbmsobV9kaXNwbGF5TGluayk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVz
aE1vbml0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9MZWdh
Y3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaAppbmRleCBkMTAwYzNiNTMxODBjMGFkZTAyYzRj
OWVlNDNhNzAwMDJkNTM1MTg3Li5hMmRiYzU4N2UyMGU2ZmNjNTU2ZjcwM2RkMTNlYzI0NjMyOGIw
MTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTGVn
YWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0xlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCkBAIC01NCw2
ICs1NCw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9uTWVjaGFuaXNt
KCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7Cisg
ICAgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5Tm9taW5hbEZyYW1lc1BlclNlY29u
ZCgpIGZpbmFsOworICAgIAorICAgIGJvb2wgZW5zdXJlRGlzcGxheUxpbmsoKTsKIAogICAgIHN0
YXRpYyBGcmFtZXNQZXJTZWNvbmQgbm9taW5hbEZyYW1lc1BlclNlY29uZEZyb21EaXNwbGF5TGlu
ayhDVkRpc3BsYXlMaW5rUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNo
TW9uaXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oCmluZGV4IGE0ZWFlNTI5
OTdlM2I1MjcxNDE4NGVlYjgzNTcwNTIyMjkxOTMxMDAuLmQzMTM4ZGNlYTcyYzEwMDk3ZDExOGVi
ZTQwMzk3MDE0NTRmMzdhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0
b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKQEAgLTUxLDYgKzUxLDcg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkg
ZmluYWwgeyB9CisgICAgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5Tm9taW5hbEZy
YW1lc1BlclNlY29uZCgpIGZpbmFsOwogCiAgICAgV2Vha1B0cjxSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYT4gbV9kcmF3aW5nQXJlYTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZy
ZXNoTW9uaXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IubW0KaW5kZXggYTQw
MWMyYmQ4YzA0ZWE2YjhjNmE2YmE5ODY4ZjAwNDI0YTRhNzRiZi4uZTcwM2Q0ZGYxOGU1Y2Q4NTdk
OTY3NWYwYjBiMGE1ZDQyZTdlOTM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNo
TW9uaXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVM
YXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tCkBAIC05MSw0
ICs5MSw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yOjp1cGRh
dGVEcmF3aW5nQXJlYShSZW1vdGVMYXllclRyZWVEcmF3CiAgICAgbV9kcmF3aW5nQXJlYSA9IG1h
a2VXZWFrUHRyKGRyYXdpbmdBcmVhKTsKIH0KIAorT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBS
ZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlOb21pbmFsRnJhbWVz
UGVyU2Vjb25kKCkKK3sKKyAgICByZXR1cm4gbV9wcmVmZXJyZWRGcmFtZXNQZXJTZWNvbmQ7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="commit-queue"
          id="444484"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424734</attachid>
            <date>2021-03-30 21:56:45 -0700</date>
            <delta_ts>2021-03-31 11:24:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223984-20210330215644.patch</filename>
            <type>text/plain</type>
            <size>20042</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MjE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RmYWVlYTI0YzBlMzEz
NTFlOTIyOGI5OTFlMjFjYjRkNWY1ZTdmNC4uOGFiYzkwYTQyODJjM2NjOTA0NzVjNGZiZTU4ZTdh
MzY0NzE3MTNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIxLTAzLTMwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFzc2VydGlvbnMg
aW4gRGlzcGxheVVwZGF0ZSB3aGVuIGRyYWdnaW5nIFdlYlZpZXcgd2luZG93cyBiZXR3ZWVuIHNj
cmVlbnMgd2l0aCBkaWZmZXJlbnQgcmVmcmVzaCByYXRlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzOTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHZhcmlvdXMgcmVhc29ucyB3aHkg
cmlnb3JvdXMgYXNzZXJ0aW9ucyBpbiBEaXNwbGF5VXBkYXRlOjpyZWxldmFudEZvclVwZGF0ZUZy
ZXF1ZW5jeSgpCisgICAgICAgIGFyZSBpbGwgYWR2aXNlZC4KKworICAgICAgICBXaGVuIFdlYktp
dExlZ2FjeSBjYWxscyB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoKSBpdCBkb2VzIG5vdCBwYXNzIGlu
IGEgbm9taW5hbCBkaXNwbGF5CisgICAgICAgIHJlZnJlc2ggcmF0ZSwgc28gd2UgYXNzdW1lIDYw
ZnBzLiBJZiB0aGUgc2NyZWVuIGFjdHVhbGx5IGhhcyBhIG5vbi02MGZwcyByZWZyZXNoIHJhdGUs
IHRoZW4KKyAgICAgICAgd2UgY2FuIGdldCBtaXhlZCA2MC81MCBzdGF0ZSBpbiB2YXJpb3VzIHBs
YWNlczsgdGhpcyBjaGFuZ2UgZml4ZXMgb25lIG9mIHRoZW0sIGJ1dCBzdWNoIGJ1Z3MKKyAgICAg
ICAgaGF2ZSB0byBub3QgcmVzdWx0IGluIGFzc2VydGlvbnMgb3IgZGl2aWRlIGJ5IHplcm8gY3Jh
c2hlcyBpbgorICAgICAgICBEaXNwbGF5VXBkYXRlOjpyZWxldmFudEZvclVwZGF0ZUZyZXF1ZW5j
eSgpLgorCisgICAgICAgIFRoZSBzZWNvbmQgcmVhc29uIGlzIHdlYmtpdC5vcmcvYi8yMTIxMjA7
IHdlIG1heSBzdGFydCBEaXNwbGF5UmVmcmVzaE1vbml0b3JzIHdpdGggRGlzcGxheUlECisgICAg
ICAgIDAgYmVmb3JlIHdlIGtub3cgd2hhdCBzY3JlZW4gd2UncmUgb24sIGFnYWluIHJpc2tpbmcg
YSBzaXR1YXRpb24gd2hlcmUgdGhlIGFjdHVhbCBzY3JlZW4gaGFzCisgICAgICAgIGEgbm9uLTYw
ZnBzIHJlZnJlc2ggcmF0ZS4KKworICAgICAgICBUbyBmaXggdGhlIGNhc2Ugd2hlcmUgbm8gbm9t
aW5hbCByZWZyZXNoIHJhdGUgaXMgcGFzc2VkIHRocm91Z2gKKyAgICAgICAgQ2hyb21lOjp3aW5k
b3dTY3JlZW5EaWRDaGFuZ2UoKSwgYWxsb3cgYSBEaXNwbGF5UmVmcmVzaE1vbml0b3IgdG8gc3Vw
cGx5IGEgcmF0ZTsgb2Z0ZW4sIGEKKyAgICAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yIGNhbiBj
b21wdXRlIG9uZSBmcm9tIGl0cyBrbm93bGVkZ2Ugb2YgdGhlIGRpc3BsYXkuIFRoaXMgcmVxdWly
ZXMKKyAgICAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlciBpcyBhYmxlIHRvIGNyZWF0
ZSBhIERpc3BsYXlSZWZyZXNoTW9uaXRvciB3aXRoIG5vIGNsaWVudCwgc28KKyAgICAgICAgc3Vw
cG9ydCB0aGF0IHdpdGggYSBsaXR0bGUgcmVmYWN0b3JpbmcuCisKKyAgICAgICAgSGF2ZSBzb21l
IERpc3BsYXlSZWZyZXNoTW9uaXRvciBpbXBsZW1lbnRhdGlvbnMgc3VwcGx5IHRoZWlyIG5vbWlu
YWwgZGlzcGxheSByZWZyZXNoIHJhdGUKKyAgICAgICAgd2hlbiBrbm93bi4KKworICAgICAgICAq
IHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6d2luZG93U2NyZWVu
RGlkQ2hhbmdlKTogTm8gbmVlZCB0byBlYXJseSByZXR1cm4gaGVyZTsgUGFnZSBkb2VzIHRoZSBz
YW1lIGNoZWNrLgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UpOiBQdXNoIHRoZSBjYWxsIHRvIGFkanVzdFJlbmRl
cmluZ1VwZGF0ZUZyZXF1ZW5jeSgpIGludG8gCisgICAgICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVk
dWxlcigpLndpbmRvd1NjcmVlbkRpZENoYW5nZSgpIGFzIHN1Z2dlc3RlZCBpbiBhIHByZXZpb3Vz
IHJldmlldy4KKyAgICAgICAgKiBwYWdlL1JlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXI6OndpbmRvd1NjcmVlbkRp
ZENoYW5nZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25p
dG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlO
b21pbmFsRnJhbWVzUGVyU2Vjb25kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hbmFnZXI6OmVuc3VyZU1vbml0b3JGb3JEaXNwbGF5SUQpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6bm9taW5hbEZyYW1lc1Bl
clNlY29uZEZvckRpc3BsYXkpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25p
dG9yTWFuYWdlcjo6bW9uaXRvckZvckNsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0Rpc3BsYXlVcGRhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheVVwZGF0
ZTo6cmVsZXZhbnRGb3JVcGRhdGVGcmVxdWVuY3kgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2lvcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JJT1MuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpkaXNwbGF5Tm9taW5hbEZyYW1lc1Bl
clNlY29uZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0xlZ2FjeURpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZWdhY3lEaXNwbGF5UmVm
cmVzaE1vbml0b3JNYWM6OmVuc3VyZURpc3BsYXlMaW5rKToKKyAgICAgICAgKFdlYkNvcmU6Okxl
Z2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYzo6c3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20p
OgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjOjpkaXNw
bGF5Tm9taW5hbEZyYW1lc1BlclNlY29uZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0xlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oOgorCiAyMDIxLTAzLTI5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IG5vbi02
MGZwcyBkaXNwbGF5IHVwZGF0ZXMgdG8gYmUgZHJpdmVuIGJ5IERpc3BsYXlSZWZyZXNoTW9uaXRv
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA5ZTVhN2RlMTBjODA0ZWY3MGY1YmRmZTcxYjc2MDAyMjdmNzY5YmIyLi44
NzFjYzZmNjhlNjMwNzBhMmEwYjhkYzZjM2FmYWI2OTYzYmFhMDlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTAzLTMwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIEFzc2VydGlvbnMgaW4gRGlzcGxheVVwZGF0ZSB3aGVuIGRyYWdnaW5n
IFdlYlZpZXcgd2luZG93cyBiZXR3ZWVuIHNjcmVlbnMgd2l0aCBkaWZmZXJlbnQgcmVmcmVzaCBy
YXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIz
OTg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yIGtub3dzIGl0cyBtX3ByZWZlcnJlZEZy
YW1lc1BlclNlY29uZCBzbyBjYW4KKyAgICAgICAgcmV0dXJuIHRoYXQuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlS
ZWZyZXNoTW9uaXRvci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXll
clRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1tOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlOb21p
bmFsRnJhbWVzUGVyU2Vjb25kKToKKwogMjAyMS0wMy0yOSAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBub24tNjBmcHMgZGlzcGxheSB1cGRh
dGVzIHRvIGJlIGRyaXZlbiBieSBEaXNwbGF5UmVmcmVzaE1vbml0b3IKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmNwcAppbmRleCA3ZmU3MTQ0YWY2ZjE0MTljZjYxMWZiNjgyMDkxOWFmY2FkMmU5NjhlLi5lYzI0
NzZhOTc5NDJmODA2OTVkNmQwMDdkYzk0YzJmNmMwYTI4ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUu
Y3BwCkBAIC01NDYsMTEgKzU0Niw4IEBAIFBsYXRmb3JtRGlzcGxheUlEIENocm9tZTo6ZGlzcGxh
eUlEKCkgY29uc3QKICAgICByZXR1cm4gbV9wYWdlLmRpc3BsYXlJRCgpOwogfQogCi12b2lkIENo
cm9tZTo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwg
T3B0aW9uYWw8dW5zaWduZWQ+IG5vbWluYWxGcmFtZUludGVydmFsKQordm9pZCBDaHJvbWU6Ondp
bmRvd1NjcmVlbkRpZENoYW5nZShQbGF0Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQsIE9wdGlvbmFs
PEZyYW1lc1BlclNlY29uZD4gbm9taW5hbEZyYW1lSW50ZXJ2YWwpCiB7Ci0gICAgaWYgKGRpc3Bs
YXlJRCA9PSBtX3BhZ2UuZGlzcGxheUlEKCkgJiYgbm9taW5hbEZyYW1lSW50ZXJ2YWwgPT0gbV9w
YWdlLmRpc3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kKCkpCi0gICAgICAgIHJldHVybjsKLQog
ICAgIG1fcGFnZS53aW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlELCBub21pbmFsRnJhbWVJ
bnRlcnZhbCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGQ1MjZhNTk1ODIxNDEwZDZlYjEx
MDBhNDkzNzBkYTkyNDdjMmRiOWMuLmI2YjRkZmUyMDIyYjA3MWRkODEyMzg3YTI1YzJjOThjYjU0
NTc3MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNDUsNiArNDUsNyBAQAogI2luY2x1ZGUgIkRl
YnVnUGFnZU92ZXJsYXlzLmgiCiAjaW5jbHVkZSAiRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCIK
ICNpbmNsdWRlICJEaWFnbm9zdGljTG9nZ2luZ0tleXMuaCIKKyNpbmNsdWRlICJEaXNwbGF5UmVm
cmVzaE1vbml0b3JNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNs
dWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudFRpbWVs
aW5lLmgiCkBAIC0xMTgxLDYgKzExODIsMTAgQEAgdm9pZCBQYWdlOjp3aW5kb3dTY3JlZW5EaWRD
aGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBPcHRpb25hbDxGcmFtZXNQZXIKIAog
ICAgIG1fZGlzcGxheUlEID0gZGlzcGxheUlEOwogICAgIG1fZGlzcGxheU5vbWluYWxGcmFtZXNQ
ZXJTZWNvbmQgPSBub21pbmFsRnJhbWVzUGVyU2Vjb25kOworICAgIGlmICghbV9kaXNwbGF5Tm9t
aW5hbEZyYW1lc1BlclNlY29uZCkgeworICAgICAgICAvLyBJZiB0aGUgY2FsbGVyIGRpZG4ndCBn
aXZlIHVzIGEgcmVmcmVzaCByYXRlLCBtYXliZSB0aGUgcmVsZXZhbnQgRGlzcGxheVJlZnJlc2hN
b25pdG9yIGNhbj8gVGhpcyBoYXBwZW5zIGluIFdlYktpdExlZ2FjeS4KKyAgICAgICAgbV9kaXNw
bGF5Tm9taW5hbEZyYW1lc1BlclNlY29uZCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6
OnNoYXJlZE1hbmFnZXIoKS5ub21pbmFsRnJhbWVzUGVyU2Vjb25kRm9yRGlzcGxheShtX2Rpc3Bs
YXlJRCwgY2hyb21lKCkuY2xpZW50KCkuZGlzcGxheVJlZnJlc2hNb25pdG9yRmFjdG9yeSgpKTsK
KyAgICB9CiAKICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZtYWluRnJhbWUoKTsgZnJhbWU7IGZy
YW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBpZiAoZnJhbWUt
PmRvY3VtZW50KCkpCkBAIC0xMTk1LDEwICsxMjAwLDkgQEAgdm9pZCBQYWdlOjp3aW5kb3dTY3Jl
ZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBPcHRpb25hbDxGcmFtZXNQ
ZXIKICNlbmRpZgogCiAgICAgaWYgKG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCi0gICAgICAgIG1f
c2Nyb2xsaW5nQ29vcmRpbmF0b3ItPndpbmRvd1NjcmVlbkRpZENoYW5nZShkaXNwbGF5SUQsIG5v
bWluYWxGcmFtZXNQZXJTZWNvbmQpOworICAgICAgICBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yLT53
aW5kb3dTY3JlZW5EaWRDaGFuZ2UoZGlzcGxheUlELCBtX2Rpc3BsYXlOb21pbmFsRnJhbWVzUGVy
U2Vjb25kKTsKIAogICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcigpLndpbmRvd1NjcmVlbkRp
ZENoYW5nZShkaXNwbGF5SUQpOwotICAgIHJlbmRlcmluZ1VwZGF0ZVNjaGVkdWxlcigpLmFkanVz
dFJlbmRlcmluZ1VwZGF0ZUZyZXF1ZW5jeSgpOwogCiAgICAgc2V0TmVlZHNSZWNhbGNTdHlsZUlu
QWxsRnJhbWVzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmlu
Z1VwZGF0ZVNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlci5jcHAKaW5kZXggOWExYTU0ZTUyZDk2YWU0NjU2YjA4ODExMGVkODE1ZWMwMjU3
NTBiMi4uNTI2ZTVlYTY5OWQ3ZTY1ZDQ0YmQzZWM0YmVjNTE1NTA5NjRjZjdiMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyLmNwcApAQCAtMTE1
LDYgKzExNSw3IEBAIERpc3BsYXlSZWZyZXNoTW9uaXRvckZhY3RvcnkqIFJlbmRlcmluZ1VwZGF0
ZVNjaGVkdWxlcjo6ZGlzcGxheVJlZnJlc2hNb25pdG9yRmFjCiAKIHZvaWQgUmVuZGVyaW5nVXBk
YXRlU2NoZWR1bGVyOjp3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxhdGZvcm1EaXNwbGF5SUQgZGlz
cGxheUlEKQogeworICAgIGFkanVzdFJlbmRlcmluZ1VwZGF0ZUZyZXF1ZW5jeSgpOwogICAgIERp
c3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS53aW5kb3dTY3JlZW5E
aWRDaGFuZ2UoZGlzcGxheUlELCAqdGhpcyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKaW5kZXggMjVh
MTNmOTJlNDk0Y2RjZjMzODc2YTk5YTUzYzM3OGU4MTM0Mjc2NS4uZjZlMmNiMDk0NjI4N2E1NWI0
OWYzZmQ2YTk4MThmNDk5MDNhYWEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKQEAgLTU4LDcgKzU4LDkg
QEAgcHVibGljOgogICAgIGJvb2wgaGFzQ2xpZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50
cy5zaXplKCk7IH0KICAgICB2b2lkIGFkZENsaWVudChEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGll
bnQmKTsKICAgICBib29sIHJlbW92ZUNsaWVudChEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQm
KTsKLSAgICAKKworICAgIHZpcnR1YWwgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5
Tm9taW5hbEZyYW1lc1BlclNlY29uZCgpIHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQorCiAgICAg
UGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKCkgY29uc3QgeyByZXR1cm4gbV9kaXNwbGF5SUQ7
IH0KIAogICAgIHN0YXRpYyBSZWZQdHI8RGlzcGxheVJlZnJlc2hNb25pdG9yPiBjcmVhdGVEZWZh
dWx0RGlzcGxheVJlZnJlc2hNb25pdG9yKFBsYXRmb3JtRGlzcGxheUlEKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1h
bmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJl
c2hNb25pdG9yTWFuYWdlci5jcHAKaW5kZXggZDk1ZWNhNzRjMjBjYTA2Y2VhYWRiNjFhNzU3NDZj
ZDE0M2NkZTA3Ny4uN2FmOTVjODdiMTFmODdlYTFmNTg5YzU4ZTkwNzI3ODY0NmU5YWM5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5jcHAKQEAgLTQxLDIzICs0MSwxNiBAQCBEaXNw
bGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyJiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjpz
aGFyZWRNYW5hZ2VyKCkKICAgICByZXR1cm4gbWFuYWdlci5nZXQoKTsKIH0KIAotRGlzcGxheVJl
ZnJlc2hNb25pdG9yKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjptb25pdG9yRm9yQ2xp
ZW50KERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCYgY2xpZW50KQorRGlzcGxheVJlZnJlc2hN
b25pdG9yKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjplbnN1cmVNb25pdG9yRm9yRGlz
cGxheUlEKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgRGlzcGxheVJlZnJlc2hNb25pdG9y
RmFjdG9yeSogZmFjdG9yeSkKIHsKLSAgICBpZiAoIWNsaWVudC5oYXNEaXNwbGF5SUQoKSkKLSAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBQbGF0Zm9ybURpc3BsYXlJRCBjbGllbnREaXNw
bGF5SUQgPSBjbGllbnQuZGlzcGxheUlEKCk7Ci0gICAgaWYgKGF1dG8qIGV4aXN0aW5nTW9uaXRv
ciA9IG1vbml0b3JGb3JEaXNwbGF5SUQoY2xpZW50RGlzcGxheUlEKSkgewotICAgICAgICBleGlz
dGluZ01vbml0b3ItPmFkZENsaWVudChjbGllbnQpOworICAgIGlmIChhdXRvKiBleGlzdGluZ01v
bml0b3IgPSBtb25pdG9yRm9yRGlzcGxheUlEKGRpc3BsYXlJRCkpCiAgICAgICAgIHJldHVybiBl
eGlzdGluZ01vbml0b3I7Ci0gICAgfQogCi0gICAgYXV0byBtb25pdG9yID0gRGlzcGxheVJlZnJl
c2hNb25pdG9yOjpjcmVhdGUoY2xpZW50LmRpc3BsYXlSZWZyZXNoTW9uaXRvckZhY3RvcnkoKSwg
Y2xpZW50RGlzcGxheUlEKTsKKyAgICBhdXRvIG1vbml0b3IgPSBEaXNwbGF5UmVmcmVzaE1vbml0
b3I6OmNyZWF0ZShmYWN0b3J5LCBkaXNwbGF5SUQpOwogICAgIGlmICghbW9uaXRvcikKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBMT0dfV0lUSF9TVFJFQU0oRGlzcGxheUxpbmssIHN0
cmVhbSA8PCAiRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6bW9uaXRvckZvckNsaWVudCgp
IC0gY3JlYXRlZCBtb25pdG9yICIgPDwgbW9uaXRvci5nZXQoKSA8PCAiIGZvciBkaXNwbGF5ICIg
PDwgY2xpZW50RGlzcGxheUlEKTsKLSAgICBtb25pdG9yLT5hZGRDbGllbnQoY2xpZW50KTsKKyAg
ICBMT0dfV0lUSF9TVFJFQU0oRGlzcGxheUxpbmssIHN0cmVhbSA8PCAiRGlzcGxheVJlZnJlc2hN
b25pdG9yTWFuYWdlcjo6ZW5zdXJlTW9uaXRvckZvckRpc3BsYXlJRCgpIC0gY3JlYXRlZCBtb25p
dG9yICIgPDwgbW9uaXRvci5nZXQoKSA8PCAiIGZvciBkaXNwbGF5ICIgPDwgZGlzcGxheUlEKTsK
ICAgICBEaXNwbGF5UmVmcmVzaE1vbml0b3IqIHJlc3VsdCA9IG1vbml0b3IuZ2V0KCk7CiAgICAg
bV9tb25pdG9ycy5hcHBlbmQoeyBXVEZNb3ZlKG1vbml0b3IpIH0pOwogICAgIHJldHVybiByZXN1
bHQ7CkBAIC0xMDgsNiArMTAxLDE1IEBAIHZvaWQgRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdl
cjo6d2luZG93U2NyZWVuRGlkQ2hhbmdlKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsCiAgICAgICAg
IHNjaGVkdWxlQW5pbWF0aW9uKGNsaWVudCk7CiB9CiAKK09wdGlvbmFsPEZyYW1lc1BlclNlY29u
ZD4gRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6bm9taW5hbEZyYW1lc1BlclNlY29uZEZv
ckRpc3BsYXkoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlELCBEaXNwbGF5UmVmcmVzaE1vbml0
b3JGYWN0b3J5KiBmYWN0b3J5KQoreworICAgIGF1dG8qIG1vbml0b3IgPSBlbnN1cmVNb25pdG9y
Rm9yRGlzcGxheUlEKGRpc3BsYXlJRCwgZmFjdG9yeSk7CisgICAgaWYgKG1vbml0b3IpCisgICAg
ICAgIG1vbml0b3ItPmRpc3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kKCk7CisKKyAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworfQorCiB2b2lkIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6
OmRpc3BsYXlXYXNVcGRhdGVkKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgY29uc3QgRGlz
cGxheVVwZGF0ZSYgZGlzcGxheVVwZGF0ZSkKIHsKICAgICBhdXRvKiBtb25pdG9yID0gbW9uaXRv
ckZvckRpc3BsYXlJRChkaXNwbGF5SUQpOwpAQCAtMTIyLDYgKzEyNCwxOCBAQCBzaXplX3QgRGlz
cGxheVJlZnJlc2hNb25pdG9yTWFuYWdlcjo6ZmluZE1vbml0b3JGb3JEaXNwbGF5SUQoUGxhdGZv
cm1EaXNwbGF5SUQgZAogICAgIH0pOwogfQogCitEaXNwbGF5UmVmcmVzaE1vbml0b3IqIERpc3Bs
YXlSZWZyZXNoTW9uaXRvck1hbmFnZXI6Om1vbml0b3JGb3JDbGllbnQoRGlzcGxheVJlZnJlc2hN
b25pdG9yQ2xpZW50JiBjbGllbnQpCit7CisgICAgaWYgKCFjbGllbnQuaGFzRGlzcGxheUlEKCkp
CisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byogbW9uaXRvciA9IGVuc3VyZU1v
bml0b3JGb3JEaXNwbGF5SUQoY2xpZW50LmRpc3BsYXlJRCgpLCBjbGllbnQuZGlzcGxheVJlZnJl
c2hNb25pdG9yRmFjdG9yeSgpKTsKKyAgICBpZiAobW9uaXRvcikKKyAgICAgICAgbW9uaXRvci0+
YWRkQ2xpZW50KGNsaWVudCk7CisKKyAgICByZXR1cm4gbW9uaXRvcjsKK30KKwogRGlzcGxheVJl
ZnJlc2hNb25pdG9yKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyOjptb25pdG9yRm9yRGlz
cGxheUlEKFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCkgY29uc3QKIHsKICAgICBhdXRvIGlu
ZGV4ID0gZmluZE1vbml0b3JGb3JEaXNwbGF5SUQoZGlzcGxheUlEKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9uaXRvck1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Rpc3BsYXlSZWZyZXNoTW9u
aXRvck1hbmFnZXIuaAppbmRleCBlZTg5MTI5MDM0MjUzNzUxZGRlNzJiNmFhZTJkNDVlNjNhN2Vj
YTc4Li5lZmZlN2E4NTYxMGY0NDBmYjU3Zjg3ZDczNmRkZTRmNjA5MTg2NWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9EaXNwbGF5UmVmcmVzaE1vbml0b3JN
YW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVJl
ZnJlc2hNb25pdG9yTWFuYWdlci5oCkBAIC00Nyw2ICs0Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZChEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQm
LCBGcmFtZXNQZXJTZWNvbmQpOwogICAgIGJvb2wgc2NoZWR1bGVBbmltYXRpb24oRGlzcGxheVJl
ZnJlc2hNb25pdG9yQ2xpZW50Jik7CiAgICAgdm9pZCB3aW5kb3dTY3JlZW5EaWRDaGFuZ2UoUGxh
dGZvcm1EaXNwbGF5SUQsIERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCYpOworICAgIAorICAg
IE9wdGlvbmFsPEZyYW1lc1BlclNlY29uZD4gbm9taW5hbEZyYW1lc1BlclNlY29uZEZvckRpc3Bs
YXkoUGxhdGZvcm1EaXNwbGF5SUQsIERpc3BsYXlSZWZyZXNoTW9uaXRvckZhY3RvcnkqKTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlzcGxheVdhc1VwZGF0ZWQoUGxhdGZvcm1EaXNwbGF5
SUQsIGNvbnN0IERpc3BsYXlVcGRhdGUmKTsKIApAQCAtNjAsNiArNjIsOCBAQCBwcml2YXRlOgog
ICAgIERpc3BsYXlSZWZyZXNoTW9uaXRvciogbW9uaXRvckZvckRpc3BsYXlJRChQbGF0Zm9ybURp
c3BsYXlJRCkgY29uc3Q7CiAgICAgRGlzcGxheVJlZnJlc2hNb25pdG9yKiBtb25pdG9yRm9yQ2xp
ZW50KERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCYpOwogCisgICAgRGlzcGxheVJlZnJlc2hN
b25pdG9yKiBlbnN1cmVNb25pdG9yRm9yRGlzcGxheUlEKFBsYXRmb3JtRGlzcGxheUlELCBEaXNw
bGF5UmVmcmVzaE1vbml0b3JGYWN0b3J5Kik7CisKICAgICBzdHJ1Y3QgRGlzcGxheVJlZnJlc2hN
b25pdG9yV3JhcHBlciB7CiAgICAgICAgIERpc3BsYXlSZWZyZXNoTW9uaXRvcldyYXBwZXIoRGlz
cGxheVJlZnJlc2hNb25pdG9yV3JhcHBlciYmKSA9IGRlZmF1bHQ7CiAgICAgICAgIH5EaXNwbGF5
UmVmcmVzaE1vbml0b3JXcmFwcGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0Rpc3BsYXlVcGRhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRGlzcGxheVVwZGF0ZS5jcHAKaW5kZXggOTg5MjA2YjdmMjNkN2U2ZTE0MDUzZTVi
OGUzOWI3NGQ2YjVkNGRjYS4uOTc3NmRmODUzMTcyZjkwMGE5Y2JhNzY2NjJkOWE4MTEzZTEwNDkw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVVw
ZGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRGlzcGxheVVw
ZGF0ZS5jcHAKQEAgLTM0LDkgKzM0LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBE
aXNwbGF5VXBkYXRlOjpyZWxldmFudEZvclVwZGF0ZUZyZXF1ZW5jeShGcmFtZXNQZXJTZWNvbmQg
cHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKSBjb25zdAogewotICAgIEFTU0VSVChXVEY6OmlzSW50
ZWdyYWwoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHVwZGF0ZXNQZXJTZWNvbmQpIC8gcHJlZmVycmVkRnJh
bWVzUGVyU2Vjb25kKSk7CisgICAgLy8gRklYTUU6IElkZWFsbHkgdGhpcyB3b3VsZCBiZSBhbiBh
c3NlcnRpb24sIGJ1dCB0aGF0IG1heSBmaXJlIHdoZW4gd2luZG93cyBtb3ZlIGJldHdlZW4gc2Ny
ZWVucyB3aXRoIGRpZmZlcmVudCByZWZyZXNoIHJhdGVzLCBiZWNhdXNlIG9mIHdlYmtpdC5vcmcv
Yi8yMTIxMjAuCisgICAgaWYgKCFXVEY6OmlzSW50ZWdyYWwoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHVw
ZGF0ZXNQZXJTZWNvbmQpIC8gcHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kIHx8ICFwcmVmZXJyZWRG
cmFtZXNQZXJTZWNvbmQpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHVuc2lnbmVkIHJh
dGVGYWN0b3IgPSB1cGRhdGVzUGVyU2Vjb25kIC8gcHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kOwot
ICAgIHJldHVybiAhKHVwZGF0ZUluZGV4ICUgcmF0ZUZhY3Rvcik7CisgICAgcmV0dXJuICFyYXRl
RmFjdG9yIHx8ICEodXBkYXRlSW5kZXggJSByYXRlRmFjdG9yKTsKIH0KIAogVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRGlzcGxheVVwZGF0ZSYgdXBkYXRlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvcklPUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L0Rpc3BsYXlSZWZyZXNoTW9uaXRvcklPUy5oCmluZGV4IDFmOTEzMzNlYTE1MGIwMTRiODBkOTA5
MTc4ZmVjYTkyNGYzZjc2MjUuLjJiNWY1MjRmZDE3NTIxMDg0MmE5ZmM4ZWNhY2UzMTE1NzY3ZTkx
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9u
TWVjaGFuaXNtKCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkg
ZmluYWw7CisgICAgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5Tm9taW5hbEZyYW1l
c1BlclNlY29uZCgpIGZpbmFsOwogCiAgICAgUmV0YWluUHRyPFdlYkRpc3BsYXlMaW5rSGFuZGxl
cj4gbV9oYW5kbGVyOwogICAgIERpc3BsYXlVcGRhdGUgbV9jdXJyZW50VXBkYXRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlSZWZyZXNo
TW9uaXRvcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9EaXNw
bGF5UmVmcmVzaE1vbml0b3JJT1MubW0KaW5kZXggZDQyYzNkNmM3ZTYxNmUyMGZhYTQzMWQyYTEw
NzEwMTVmYThmODA0NC4uZTUxNmY4MTY5YjA1NzFiZGUzYmJjODMxYjE0YjI0YWE2NzM4ZmJkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0Rpc3BsYXlS
ZWZyZXNoTW9uaXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9pb3MvRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TLm1tCkBAIC0xNDksNiArMTQ5LDExIEBAIHZv
aWQgRGlzcGxheVJlZnJlc2hNb25pdG9ySU9TOjpzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkK
ICAgICBtX2Rpc3BsYXlMaW5rSXNBY3RpdmUgPSBmYWxzZTsKIH0KIAorT3B0aW9uYWw8RnJhbWVz
UGVyU2Vjb25kPiBEaXNwbGF5UmVmcmVzaE1vbml0b3JJT1M6OmRpc3BsYXlOb21pbmFsRnJhbWVz
UGVyU2Vjb25kKCkKK3sKKyAgICByZXR1cm4gRGlzcGxheUxpbmtGcmFtZXNQZXJTZWNvbmQ7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1J
TFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTGVn
YWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwCmluZGV4IGRm
YTdhZjdhNmVlOGE4MDM3MThkZjg3NTAzMGI0OGFhZGMwOTMzOGUuLjRlODEyYzcwMDU5MzBjNGI0
N2Q1ZDE0M2EwYmRkZTg1ODExMTFmYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVz
aE1vbml0b3JNYWMuY3BwCkBAIC04NSwxOCArODUsMjcgQEAgV2ViQ29yZTo6RnJhbWVzUGVyU2Vj
b25kIExlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYzo6bm9taW5hbEZyYW1lc1BlclNlY29u
ZEYKICAgICByZXR1cm4gcm91bmQoKGRvdWJsZSlyZWZyZXNoUGVyaW9kLnRpbWVTY2FsZSAvIChk
b3VibGUpcmVmcmVzaFBlcmlvZC50aW1lVmFsdWUpOwogfQogCitib29sIExlZ2FjeURpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYzo6ZW5zdXJlRGlzcGxheUxpbmsoKQoreworICAgIGlmIChtX2Rpc3Bs
YXlMaW5rKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGF1dG8gZXJyb3IgPSBDVkRpc3Bs
YXlMaW5rQ3JlYXRlV2l0aENHRGlzcGxheShkaXNwbGF5SUQoKSwgJm1fZGlzcGxheUxpbmspOwor
ICAgIGlmIChlcnJvcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZXJyb3IgPSBDVkRp
c3BsYXlMaW5rU2V0T3V0cHV0Q2FsbGJhY2sobV9kaXNwbGF5TGluaywgZGlzcGxheUxpbmtDYWxs
YmFjaywgdGhpcyk7CisgICAgaWYgKGVycm9yKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIAorICAgIHJldHVybiB0cnVlOworfQorCiBib29sIExlZ2FjeURpc3BsYXlSZWZyZXNoTW9u
aXRvck1hYzo6c3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKQogewogICAgIGlmICghbV9kaXNw
bGF5TGluaykgewotICAgICAgICBhdXRvIGVycm9yID0gQ1ZEaXNwbGF5TGlua0NyZWF0ZVdpdGhD
R0Rpc3BsYXkoZGlzcGxheUlEKCksICZtX2Rpc3BsYXlMaW5rKTsKLSAgICAgICAgaWYgKGVycm9y
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIGVycm9yID0gQ1ZEaXNwbGF5
TGlua1NldE91dHB1dENhbGxiYWNrKG1fZGlzcGxheUxpbmssIGRpc3BsYXlMaW5rQ2FsbGJhY2ss
IHRoaXMpOwotICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgIGlmICghZW5zdXJlRGlzcGxheUxp
bmsoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBtX2N1cnJlbnRVcGRh
dGUgPSB7IDAsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmRGcm9tRGlzcGxheUxpbmsobV9kaXNwbGF5
TGluaykgfTsKICAgICB9CiAKICAgICBpZiAoIW1fZGlzcGxheUxpbmtJc0FjdGl2ZSkgewpAQCAt
MTA3LDcgKzExNiw3IEBAIGJvb2wgTGVnYWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjOjpzdGFy
dE5vdGlmaWNhdGlvbk1lY2hhbmlzbSgpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIAogICAgICAgICBtX2Rpc3BsYXlMaW5rSXNBY3RpdmUgPSB0cnVlOwotICAgICAgICBtX2N1
cnJlbnRVcGRhdGUudXBkYXRlSW5kZXggPSAwOworICAgICAgICBtX2N1cnJlbnRVcGRhdGUgPSB7
IDAsIG5vbWluYWxGcmFtZXNQZXJTZWNvbmRGcm9tRGlzcGxheUxpbmsobV9kaXNwbGF5TGluaykg
fTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEyNiw2ICsxMzUsMTQgQEAgdm9pZCBM
ZWdhY3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWM6OnN0b3BOb3RpZmljYXRpb25NZWNoYW5pc20o
KQogICAgIG1fZGlzcGxheUxpbmtJc0FjdGl2ZSA9IGZhbHNlOwogfQogCitPcHRpb25hbDxGcmFt
ZXNQZXJTZWNvbmQ+IExlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYzo6ZGlzcGxheU5vbWlu
YWxGcmFtZXNQZXJTZWNvbmQoKQoreworICAgIGlmICghZW5zdXJlRGlzcGxheUxpbmsoKSkKKyAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgCisgICAgcmV0dXJuIG5vbWluYWxG
cmFtZXNQZXJTZWNvbmRGcm9tRGlzcGxheUxpbmsobV9kaXNwbGF5TGluayk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9MZWdhY3lEaXNwbGF5UmVmcmVz
aE1vbml0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9MZWdh
Y3lEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaAppbmRleCBkMTAwYzNiNTMxODBjMGFkZTAyYzRj
OWVlNDNhNzAwMDJkNTM1MTg3Li5hMmRiYzU4N2UyMGU2ZmNjNTU2ZjcwM2RkMTNlYzI0NjMyOGIw
MTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvTGVn
YWN5RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0xlZ2FjeURpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oCkBAIC01NCw2
ICs1NCw5IEBAIHByaXZhdGU6CiAKICAgICBib29sIHN0YXJ0Tm90aWZpY2F0aW9uTWVjaGFuaXNt
KCkgZmluYWw7CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkgZmluYWw7Cisg
ICAgT3B0aW9uYWw8RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5Tm9taW5hbEZyYW1lc1BlclNlY29u
ZCgpIGZpbmFsOworICAgIAorICAgIGJvb2wgZW5zdXJlRGlzcGxheUxpbmsoKTsKIAogICAgIHN0
YXRpYyBGcmFtZXNQZXJTZWNvbmQgbm9taW5hbEZyYW1lc1BlclNlY29uZEZyb21EaXNwbGF5TGlu
ayhDVkRpc3BsYXlMaW5rUmVmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNo
TW9uaXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvci5oCmluZGV4IGE0ZWFlNTI5
OTdlM2I1MjcxNDE4NGVlYjgzNTcwNTIyMjkxOTMxMDAuLjk5MzQ3M2QwY2U4MmM2MGIwYjczODdl
MWFhYjYxZjg5MGUxMzJhZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0
b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKQEAgLTUxLDYgKzUxLDcg
QEAgcHJpdmF0ZToKIAogICAgIGJvb2wgc3RhcnROb3RpZmljYXRpb25NZWNoYW5pc20oKSBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBzdG9wTm90aWZpY2F0aW9uTWVjaGFuaXNtKCkg
ZmluYWwgeyB9CisgICAgT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVzUGVyU2Vjb25kPiBkaXNwbGF5
Tm9taW5hbEZyYW1lc1BlclNlY29uZCgpIGZpbmFsOwogCiAgICAgV2Vha1B0cjxSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYT4gbV9kcmF3aW5nQXJlYTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURp
c3BsYXlSZWZyZXNoTW9uaXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3IubW0K
aW5kZXggYTQwMWMyYmQ4YzA0ZWE2YjhjNmE2YmE5ODY4ZjAwNDI0YTRhNzRiZi4uZTcwM2Q0ZGYx
OGU1Y2Q4NTdkOTY3NWYwYjBiMGE1ZDQyZTdlOTM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURpc3Bs
YXlSZWZyZXNoTW9uaXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yLm1t
CkBAIC05MSw0ICs5MSw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25p
dG9yOjp1cGRhdGVEcmF3aW5nQXJlYShSZW1vdGVMYXllclRyZWVEcmF3CiAgICAgbV9kcmF3aW5n
QXJlYSA9IG1ha2VXZWFrUHRyKGRyYXdpbmdBcmVhKTsKIH0KIAorT3B0aW9uYWw8RnJhbWVzUGVy
U2Vjb25kPiBSZW1vdGVMYXllclRyZWVEaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlOb21p
bmFsRnJhbWVzUGVyU2Vjb25kKCkKK3sKKyAgICByZXR1cm4gbV9wcmVmZXJyZWRGcmFtZXNQZXJT
ZWNvbmQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="444482"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>