<?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>180495</bug_id>
          
          <creation_ts>2017-12-06 12:34:33 -0800</creation_ts>
          <short_desc>[WTF] Remove XXXLockBase since constexpr constructor can initialize static variables without calling global constructors</short_desc>
          <delta_ts>2017-12-11 23:39:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=180691</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1378746</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-06 12:34:33 -0800</bug_when>
    <thetext>[WTF] Remove XXXLockBase since constexpr constructor can initialize static variables without calling global constructors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378747</commentid>
    <comment_count>1</comment_count>
      <attachid>328607</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-06 12:37:09 -0800</bug_when>
    <thetext>Created attachment 328607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378749</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-06 12:44:27 -0800</bug_when>
    <thetext>We will extend it for bmalloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378765</commentid>
    <comment_count>3</comment_count>
      <attachid>328613</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-06 13:15:27 -0800</bug_when>
    <thetext>Created attachment 328613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378796</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-06 14:00:05 -0800</bug_when>
    <thetext>Hm, in the meantime, I disable bmalloc&apos;s change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378797</commentid>
    <comment_count>5</comment_count>
      <attachid>328623</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-06 14:00:27 -0800</bug_when>
    <thetext>Created attachment 328623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378823</commentid>
    <comment_count>6</comment_count>
      <attachid>328623</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-06 14:28:12 -0800</bug_when>
    <thetext>Comment on attachment 328623
Patch

Very nice.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378983</commentid>
    <comment_count>7</comment_count>
      <attachid>328623</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-06 19:31:28 -0800</bug_when>
    <thetext>Comment on attachment 328623
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378992</commentid>
    <comment_count>8</comment_count>
      <attachid>328623</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-06 19:52:12 -0800</bug_when>
    <thetext>Comment on attachment 328623
Patch

Clearing flags on attachment: 328623

Committed r225617: &lt;https://trac.webkit.org/changeset/225617&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378993</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-06 19:52:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378995</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-06 19:53:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/35900197&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328607</attachid>
            <date>2017-12-06 12:37:09 -0800</date>
            <delta_ts>2017-12-06 13:15:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180495-20171207053708.patch</filename>
            <type>text/plain</type>
            <size>16062</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4YzhkMDExNDc2NDFhZjg2ZmMxNTk4
ZWU2ZWY1NmUwZGQ5MTJiYzcuLmM0ODNkY2UwMmY0OTZlNjMxODYyMWIxMjIwOTExYjE4MWE5MDQ4
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsODcgQEAKKzIwMTctMTItMDYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIFhYWExvY2tCYXNlIHNp
bmNlIGNvbnN0ZXhwciBjb25zdHJ1Y3RvciBjYW4gaW5pdGlhbGl6ZSBzdGF0aWMgdmFyaWFibGVz
IHdpdGhvdXQgY2FsbGluZyBnbG9iYWwgY29uc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA0OTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWZXJ5IG5pY2UgZmVhdHVyZSBvZiBDKysxMSBp
cyB0aGF0IGNvbnN0ZXhwciBjb25zdHJ1Y3RvciBjYW4gaW5pdGlhbGl6ZSBzdGF0aWMgZ2xvYmFs
IHZhcmlhYmxlcworICAgICAgICB3aXRob3V0IGNhbGxpbmcgZ2xvYmFsIGNvbnN0cnVjdG9ycy4g
V2UgZG8gbm90IG5lZWQgdG8gaGF2ZSBYWFhMb2NrQmFzZSB3aXRoIGRlcml2ZWQgWFhYTG9jawor
ICAgICAgICBjbGFzcyBzaW5jZSBTdGF0aWNYWFhMb2NrIGNhbiBoYXZlIGNvbnN0cnVjdG9ycyBh
cyBsb25nIGFzIGl0IGlzIGNvbnN0ZXhwci4KKyAgICAgICAgV2UgcmVtb3ZlIGJ1bmNoIG9mIHRo
ZXNlIGNsYXNzZXMsIGFuZCBzZXQgYFhYWExvY2soKSA9IGRlZmF1bHQ7YCBleHBsaWNpdGx5IGZv
ciByZWFkYWJpbGl0eS4KKyAgICAgICAgQysrMTEncyBkZWZhdWx0IGNvbnN0cnVjdG9yIGlzIGNv
bnN0ZXhwciBhcyBsb25nIGFzIGl0cyBtZW1iZXIncyBkZWZhdWx0IGNvbnN0cnVjdG9yIC8gZGVm
YXVsdAorICAgICAgICBpbml0aWFsaXplciBpcyBjb25zdGV4cHIuCisKKyAgICAgICAgKiB3dGYv
Q29uZGl0aW9uLmg6CisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OmNvbnN0cnVjdCk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbCk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRGb3IpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29u
ZGl0aW9uQmFzZTo6bm90aWZ5T25lKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29uZGl0aW9u
QmFzZTo6bm90aWZ5QWxsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29uZGl0aW9uOjpDb25k
aXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9Db3VudGluZ0xvY2suaDoKKyAgICAgICAg
KFdURjo6Q291bnRpbmdMb2NrOjpDb3VudGluZ0xvY2spOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpDb3VudGluZ0xvY2s6On5Db3VudGluZ0xvY2spOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9M
b2NrLmNwcDoKKyAgICAgICAgKFdURjo6TG9jazo6bG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpM
b2NrOjp1bmxvY2tTbG93KToKKyAgICAgICAgKFdURjo6TG9jazo6dW5sb2NrRmFpcmx5U2xvdyk6
CisgICAgICAgIChXVEY6OkxvY2s6OnNhZmVwb2ludFNsb3cpOgorICAgICAgICAoV1RGOjpMb2Nr
QmFzZTo6bG9ja1Nsb3cpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6dW5sb2Nr
U2xvdyk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp1bmxvY2tGYWlybHlTbG93
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TG9ja0Jhc2U6OnNhZmVwb2ludFNsb3cpOiBEZWxl
dGVkLgorICAgICAgICAqIHd0Zi9Mb2NrLmg6CisgICAgICAgIChXVEY6OkxvY2tCYXNlOjpjb25z
dHJ1Y3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6bG9jayk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp0cnlMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6TG9ja0Jhc2U6OnRyeV9sb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TG9ja0Jhc2U6
OnVubG9jayk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp1bmxvY2tGYWlybHkp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6c2FmZXBvaW50KTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6TG9ja0Jhc2U6OmlzSGVsZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OkxvY2tCYXNlOjppc0xvY2tlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
OkxvY2tCYXNlOjppc0Z1bGx5UmVzZXQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpM
b2NrOjpMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvUmVhZFdyaXRlTG9jay5jcHA6Cisg
ICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OnJlYWRMb2NrKToKKyAgICAgICAgKFdURjo6UmVh
ZFdyaXRlTG9jazo6cmVhZFVubG9jayk6CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6Ondy
aXRlTG9jayk6CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OndyaXRlVW5sb2NrKToKKyAg
ICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OmNvbnN0cnVjdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkTG9jayk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkVW5sb2NrKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlTG9jayk6IERlbGV0ZWQuCisgICAgICAgIChX
VEY6OlJlYWRXcml0ZUxvY2tCYXNlOjp3cml0ZVVubG9jayk6IERlbGV0ZWQuCisgICAgICAgICog
d3RmL1JlYWRXcml0ZUxvY2suaDoKKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9jazo6cmVhZCk6
CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OndyaXRlKToKKyAgICAgICAgKFdURjo6UmVh
ZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjp0cnlMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6UmVhZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjpsb2NrKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjp1bmxvY2spOiBEZWxldGVkLgorICAg
ICAgICAoV1RGOjpSZWFkV3JpdGVMb2NrQmFzZTo6V3JpdGVMb2NrOjp0cnlMb2NrKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OldyaXRlTG9jazo6bG9jayk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpXcml0ZUxvY2s6OnVubG9j
ayk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9jazo6UmVhZFdyaXRlTG9jayk6IERlbGV0ZWQuCisg
ICAgICAgICogd3RmL1JlY3Vyc2l2ZUxvY2tBZGFwdGVyLmg6CisgICAgICAgIChXVEY6OlJlY3Vy
c2l2ZUxvY2tBZGFwdGVyOjpSZWN1cnNpdmVMb2NrQWRhcHRlcik6IERlbGV0ZWQuCisgICAgICAg
ICogd3RmL1dvcmRMb2NrLmNwcDoKKyAgICAgICAgKFdURjo6V29yZExvY2s6OmxvY2tTbG93KToK
KyAgICAgICAgKFdURjo6V29yZExvY2s6OnVubG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpXb3Jk
TG9ja0Jhc2U6OmxvY2tTbG93KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6V29yZExvY2tCYXNl
Ojp1bmxvY2tTbG93KTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvV29yZExvY2suaDoKKyAgICAg
ICAgKFdURjo6V29yZExvY2tCYXNlOjpsb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6V29y
ZExvY2tCYXNlOjp1bmxvY2spOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpXb3JkTG9ja0Jhc2U6
OmlzSGVsZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OldvcmRMb2NrQmFzZTo6aXNM
b2NrZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpXb3JkTG9ja0Jhc2U6OmlzRnVs
bHlSZXNldCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OldvcmRMb2NrOjpXb3JkTG9j
ayk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5jcHA6CisKIDIwMTctMTItMDUg
IFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgogCiAgICAgICAgIFN3aXRj
aCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvQ29uZGl0aW9uLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaAppbmRleCBm
Y2YzMmM4NGQ0NTRiMDYyMDJhYTM4MmEwMGI1MmJjZGYwNjUyNDJkLi5mNTMzNjg5NWQ0OGEzZmM5
NmE2OGI0ZTA3ODNlZTUwZTY4YTliYzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Db25k
aXRpb24uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaApAQCAtNDEsMjAgKzQxLDE2
IEBAIG5hbWVzcGFjZSBXVEYgewogLy8gb25lIGJ5dGUgb2YgbWVtb3J5LiBub3RpZnlPbmUoKSBh
bmQgbm90aWZ5QWxsKCkgcmVxdWlyZSBqdXN0IGEgbG9hZCBhbmQgYnJhbmNoIGZvciB0aGUgZmFz
dAogLy8gY2FzZSB3aGVyZSBubyB0aHJlYWQgaXMgd2FpdGluZy4gVGhpcyBjb25kaXRpb24gdmFy
aWFibGUsIHdoZW4gdXNlZCB3aXRoIFdURjo6TG9jaywgY2FuCiAvLyBvdXRwZXJmb3JtIGEgc3lz
dGVtIGNvbmRpdGlvbiB2YXJpYWJsZSBhbmQgbG9jayBieSB1cCB0byA1OHguCi0KLS8vIFRoaXMg
aXMgYSBzdHJ1Y3Qgd2l0aG91dCBhIGNvbnN0cnVjdG9yIG9yIGRlc3RydWN0b3Igc28gdGhhdCBp
dCBjYW4gYmUgc3RhdGljYWxseSBpbml0aWFsaXplZC4KLS8vIFVzZSBMb2NrIGluIGluc3RhbmNl
IHZhcmlhYmxlcy4KLXN0cnVjdCBDb25kaXRpb25CYXNlIHsKK2NsYXNzIENvbmRpdGlvbiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uZGl0aW9uKTsKK3B1YmxpYzoKICAgICAvLyBDb25k
aXRpb24gd2lsbCBhY2NlcHQgYW55IGtpbmQgb2YgdGltZSBhbmQgY29udmVydCBpdCBpbnRlcm5h
bGx5LCBidXQgdGhpcyB0eXBlZGVmIHRlbGxzCiAgICAgLy8geW91IHdoYXQga2luZCBvZiB0aW1l
IENvbmRpdGlvbiB3b3VsZCBiZSBhYmxlIHRvIHVzZSB3aXRob3V0IGNvbnZlcnNpb25zLiBIb3dl
dmVyLCBpZiB5b3UKICAgICAvLyBhcmUgdW5saWtlbHkgdG8gYmUgYWZmZWN0ZWQgYnkgdGhlIGNv
c3Qgb2YgY29udmVyc2lvbnMsIGl0IGlzIGJldHRlciB0byB1c2UgTW9ub3RvbmljVGltZS4KLSAg
ICB0eXBlZGVmIFBhcmtpbmdMb3Q6OlRpbWUgVGltZTsKLSAgICAKLSAgICB2b2lkIGNvbnN0cnVj
dCgpCi0gICAgewotICAgICAgICBtX2hhc1dhaXRlcnMuc3RvcmUoZmFsc2UpOwotICAgIH0KLSAg
ICAKKyAgICB1c2luZyBUaW1lID0gUGFya2luZ0xvdDo6VGltZTsKKworICAgIENvbmRpdGlvbigp
ID0gZGVmYXVsdDsKKwogICAgIC8vIFdhaXQgb24gYSBwYXJraW5nIHF1ZXVlIHdoaWxlIHJlbGVh
c2luZyB0aGUgZ2l2ZW4gbG9jay4gSXQgd2lsbCB1bmxvY2sgdGhlIGxvY2sganVzdCBiZWZvcmUK
ICAgICAvLyBwYXJraW5nLCBhbmQgcmVsb2NrIGl0IHVwb24gd2FrZXVwLiBSZXR1cm5zIHRydWUg
aWYgd2Ugd29rZSB1cCBkdWUgdG8gc29tZSBjYWxsIHRvCiAgICAgLy8gbm90aWZ5T25lKCkgb3Ig
bm90aWZ5QWxsKCkuIFJldHVybnMgZmFsc2UgaWYgd2Ugd29rZSB1cCBkdWUgdG8gYSB0aW1lb3V0
LiBOb3RlIHRoYXQgdGhpcyBmb3JtCkBAIC0xNzQsMTkgKzE3MCwxMCBAQCBzdHJ1Y3QgQ29uZGl0
aW9uQmFzZSB7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBBdG9taWM8Ym9vbD4gbV9oYXNX
YWl0ZXJzOwotfTsKLQotY2xhc3MgQ29uZGl0aW9uIDogcHVibGljIENvbmRpdGlvbkJhc2Ugewot
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbmRpdGlvbik7Ci1wdWJsaWM6Ci0gICAgQ29uZGl0
aW9uKCkKLSAgICB7Ci0gICAgICAgIGNvbnN0cnVjdCgpOwotICAgIH0KKyAgICBBdG9taWM8Ym9v
bD4gbV9oYXNXYWl0ZXJzIHsgZmFsc2UgfTsKIH07CiAKLXR5cGVkZWYgQ29uZGl0aW9uQmFzZSBT
dGF0aWNDb25kaXRpb247Cit1c2luZyBTdGF0aWNDb25kaXRpb24gPSBDb25kaXRpb247CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Db3VudGluZ0xv
Y2suaCBiL1NvdXJjZS9XVEYvd3RmL0NvdW50aW5nTG9jay5oCmluZGV4IGQwZTgzNTNlNGY1NWNh
ZDE4MTBiZDJhYTQ0NGYzZDYwZjhiZGZhYTUuLjBjNDcxYjk2Mzc5MGEyOWNiYmY4YzZlNmEzYzJh
YTMyZjgxZDg2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NvdW50aW5nTG9jay5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL0NvdW50aW5nTG9jay5oCkBAIC01NSw2ICs1NSw5IEBAIG5hbWVz
cGFjZSBXVEYgewogLy8gVGhlIGxhdHRlciBpcyBpbXBvcnRhbnQgZm9yIHVzIGJlY2F1c2Ugc29t
ZSBHQyBwYXRocyBhcmUga25vd24gdG8gYmUgc2Vuc2l0aXZlIHRvIGZlbmNlcyBvbiBBUk0uCiAK
IGNsYXNzIENvdW50aW5nTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ291bnRpbmdM
b2NrKTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKwogICAgIHR5cGVkZWYgdW5zaWdu
ZWQgTG9ja1R5cGU7CiAgICAgCiAgICAgc3RhdGljIGNvbnN0ZXhwciBMb2NrVHlwZSBpc0hlbGRC
aXQgPSAxOwpAQCAtNzcsMTQgKzgwLDcgQEAgY2xhc3MgQ291bnRpbmdMb2NrIHsKICAgICB0eXBl
ZGVmIExvY2tBbGdvcml0aG08TG9ja1R5cGUsIGlzSGVsZEJpdCwgaGFzUGFya2VkQml0LCBMb2Nr
SG9va3M+IEV4Y2x1c2l2ZUFsZ29yaXRobTsKICAgICAKIHB1YmxpYzoKLSAgICBDb3VudGluZ0xv
Y2soKQotICAgIHsKLSAgICAgICAgbV93b3JkLnN0b3JlUmVsYXhlZCgwKTsKLSAgICB9Ci0gICAg
Ci0gICAgfkNvdW50aW5nTG9jaygpCi0gICAgewotICAgIH0KKyAgICBDb3VudGluZ0xvY2soKSA9
IGRlZmF1bHQ7CiAgICAgCiAgICAgYm9vbCB0cnlMb2NrKCkKICAgICB7CkBAIC0yNjUsNyArMjYx
LDcgQEAgY2xhc3MgQ291bnRpbmdMb2NrIHsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
CiAgICAgCi0gICAgQXRvbWljPExvY2tUeXBlPiBtX3dvcmQ7CisgICAgQXRvbWljPExvY2tUeXBl
PiBtX3dvcmQgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0xvY2suY3BwIGIvU291cmNlL1dURi93dGYvTG9jay5jcHAKaW5kZXggZTg3
N2ZhMDE1Mzc3NzIwMjM5MTEyMGFjYTIyZmEwMDZkYTUxOWVkNS4uN2ZmMTAwNTY4YzFlOTFiNmMy
ZDUyZGM1MTBiMjk0MWQ3YzRjMDY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTG9jay5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvTG9jay5jcHAKQEAgLTMzLDI0ICszMywyNCBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogc3RhdGljIGNvbnN0ZXhwciBib29sIHByb2ZpbGVMb2NrQ29udGVudGlv
biA9IGZhbHNlOwogCi12b2lkIExvY2tCYXNlOjpsb2NrU2xvdygpCit2b2lkIExvY2s6OmxvY2tT
bG93KCkKIHsKICAgICBpZiAocHJvZmlsZUxvY2tDb250ZW50aW9uKQogICAgICAgICBTVEFDS19T
SE9UX1BST0ZJTEUoNCwgMiwgNSk7CiAgICAgRGVmYXVsdExvY2tBbGdvcml0aG06OmxvY2tTbG93
KG1fYnl0ZSk7CiB9CiAKLXZvaWQgTG9ja0Jhc2U6OnVubG9ja1Nsb3coKQordm9pZCBMb2NrOjp1
bmxvY2tTbG93KCkKIHsKICAgICBEZWZhdWx0TG9ja0FsZ29yaXRobTo6dW5sb2NrU2xvdyhtX2J5
dGUsIERlZmF1bHRMb2NrQWxnb3JpdGhtOjpVbmZhaXIpOwogfQogCi12b2lkIExvY2tCYXNlOjp1
bmxvY2tGYWlybHlTbG93KCkKK3ZvaWQgTG9jazo6dW5sb2NrRmFpcmx5U2xvdygpCiB7CiAgICAg
RGVmYXVsdExvY2tBbGdvcml0aG06OnVubG9ja1Nsb3cobV9ieXRlLCBEZWZhdWx0TG9ja0FsZ29y
aXRobTo6RmFpcik7CiB9CiAKLXZvaWQgTG9ja0Jhc2U6OnNhZmVwb2ludFNsb3coKQordm9pZCBM
b2NrOjpzYWZlcG9pbnRTbG93KCkKIHsKICAgICBEZWZhdWx0TG9ja0FsZ29yaXRobTo6c2FmZXBv
aW50U2xvdyhtX2J5dGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTG9jay5oIGIv
U291cmNlL1dURi93dGYvTG9jay5oCmluZGV4IDk1YTBiYTYxNmUwMGQ0YzAwM2JlMjM1ZjA0NDkw
MzMwMmY2ZTM2ODIuLjYzMWRlOTZjMDljMTE0OTY2NjM4YTExODIxNmRkMjU2NzgzODlkYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xvY2suaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2Nr
LmgKQEAgLTQ4LDE1ICs0OCwxMiBAQCB0eXBlZGVmIExvY2tBbGdvcml0aG08dWludDhfdCwgMSwg
Mj4gRGVmYXVsdExvY2tBbGdvcml0aG07CiAvLyBhdCB3b3JzdCBvbmUgY2FsbCB0byB1bmxvY2so
KSBwZXIgbWlsbGlzZWNvbmQgd2lsbCBkbyBhIGRpcmVjdCBoYW5kLW9mZiB0byB0aGUgdGhyZWFk
IHRoYXQgaXMgYXQKIC8vIHRoZSBoZWFkIG9mIHRoZSBxdWV1ZS4gV2hlbiB0aGVyZSBhcmUgY29s
bGlzaW9ucywgZWFjaCBjb2xsaXNpb24gaW5jcmVhc2VzIHRoZSBmYWlyIHVubG9jayBkZWxheQog
Ly8gYnkgb25lIG1pbGxpc2Vjb25kIGluIHRoZSB3b3JzdCBjYXNlLgorY2xhc3MgTG9jayB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jayk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgTG9jaygpID0gZGVmYXVsdDsKIAotLy8gVGhpcyBpcyBhIHN0cnVj
dCB3aXRob3V0IGEgY29uc3RydWN0b3Igb3IgZGVzdHJ1Y3RvciBzbyB0aGF0IGl0IGNhbiBiZSBz
dGF0aWNhbGx5IGluaXRpYWxpemVkLgotLy8gVXNlIExvY2sgaW4gaW5zdGFuY2UgdmFyaWFibGVz
Lgotc3RydWN0IExvY2tCYXNlIHsKLSAgICB2b2lkIGNvbnN0cnVjdCgpCi0gICAgewotICAgICAg
ICBtX2J5dGUuc3RvcmUoMCwgc3RkOjptZW1vcnlfb3JkZXJfcmVsYXhlZCk7Ci0gICAgfQotICAg
IAogICAgIHZvaWQgbG9jaygpCiAgICAgewogICAgICAgICBpZiAoVU5MSUtFTFkoIURlZmF1bHRM
b2NrQWxnb3JpdGhtOjpsb2NrRmFzdEFzc3VtaW5nWmVybyhtX2J5dGUpKSkKQEAgLTEzMiwyMSAr
MTI5LDExIEBAIHN0cnVjdCBMb2NrQmFzZSB7CiAgICAgICAgIHJldHVybiAhbV9ieXRlLmxvYWQo
KTsKICAgICB9CiAKLSAgICBBdG9taWM8dWludDhfdD4gbV9ieXRlOwotfTsKLQotY2xhc3MgTG9j
ayA6IHB1YmxpYyBMb2NrQmFzZSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jayk7Ci0g
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTG9jaygpCi0gICAgewot
ICAgICAgICBjb25zdHJ1Y3QoKTsKLSAgICB9CisgICAgQXRvbWljPHVpbnQ4X3Q+IG1fYnl0ZSB7
IDAgfTsKIH07CiAKLXR5cGVkZWYgTG9ja0Jhc2UgU3RhdGljTG9jazsKLXR5cGVkZWYgTG9ja2Vy
PExvY2tCYXNlPiBMb2NrSG9sZGVyOwordXNpbmcgU3RhdGljTG9jayA9IExvY2s7Cit1c2luZyBM
b2NrSG9sZGVyID0gTG9ja2VyPExvY2s+OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9S
ZWFkV3JpdGVMb2NrLmNwcAppbmRleCA0NjIyNzY1ZjU3NWQ5NjE1OGI4ZDQ4M2YxYmIyYWIzNDA1
ZWE4MTAzLi5lMGQ3OTgyN2U1ZDFkZDNkM2FiNTU3ZTNlZGExMjFhNTE4MzJjYjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWFkV3JpdGVMb2NrLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9SZWFkV3JpdGVMb2NrLmNwcApAQCAtMzAsMTYgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdURiB7
CiAKLXZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OmNvbnN0cnVjdCgpCi17Ci0gICAgbV9sb2NrLmNv
bnN0cnVjdCgpOwotICAgIG1fY29uZC5jb25zdHJ1Y3QoKTsKLSAgICBtX2lzV3JpdGVMb2NrZWQg
PSBmYWxzZTsKLSAgICBtX251bVJlYWRlcnMgPSAwOwotICAgIG1fbnVtV2FpdGluZ1dyaXRlcnMg
PSAwOwotfQotCi12b2lkIFJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkTG9jaygpCit2b2lkIFJlYWRX
cml0ZUxvY2s6OnJlYWRMb2NrKCkKIHsKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fbG9j
ayk7CiAgICAgd2hpbGUgKG1faXNXcml0ZUxvY2tlZCB8fCBtX251bVdhaXRpbmdXcml0ZXJzKQpA
QCAtNDcsNyArMzgsNyBAQCB2b2lkIFJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkTG9jaygpCiAgICAg
bV9udW1SZWFkZXJzKys7CiB9CiAKLXZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OnJlYWRVbmxvY2so
KQordm9pZCBSZWFkV3JpdGVMb2NrOjpyZWFkVW5sb2NrKCkKIHsKICAgICBhdXRvIGxvY2tlciA9
IGhvbGRMb2NrKG1fbG9jayk7CiAgICAgbV9udW1SZWFkZXJzLS07CkBAIC01NSw3ICs0Niw3IEBA
IHZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OnJlYWRVbmxvY2soKQogICAgICAgICBtX2NvbmQubm90
aWZ5QWxsKCk7CiB9CiAKLXZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlTG9jaygpCit2b2lk
IFJlYWRXcml0ZUxvY2s6OndyaXRlTG9jaygpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9j
ayhtX2xvY2spOwogICAgIHdoaWxlIChtX2lzV3JpdGVMb2NrZWQgfHwgbV9udW1SZWFkZXJzKSB7
CkBAIC02Niw3ICs1Nyw3IEBAIHZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlTG9jaygpCiAg
ICAgbV9pc1dyaXRlTG9ja2VkID0gdHJ1ZTsKIH0KIAotdm9pZCBSZWFkV3JpdGVMb2NrQmFzZTo6
d3JpdGVVbmxvY2soKQordm9pZCBSZWFkV3JpdGVMb2NrOjp3cml0ZVVubG9jaygpCiB7CiAgICAg
YXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwogICAgIG1faXNXcml0ZUxvY2tlZCA9IGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5oIGIvU291cmNl
L1dURi93dGYvUmVhZFdyaXRlTG9jay5oCmluZGV4IDk1M2M0ZjI3YTUxMWY0ZWI1ODNiMDZlMTdi
ZDI1NjZhOGI5OTZjMzkuLjY3ZjMwOTQwMmY0YzBkYzg3M2JjNzYxZmFjZTg0MDI5N2ViZmNjYzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlYWRXcml0ZUxvY2suaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9SZWFkV3JpdGVMb2NrLmgKQEAgLTM1LDkgKzM1LDEyIEBAIG5hbWVzcGFjZSBXVEYg
ewogLy8gcmVhZCgpLnVubG9jaygpIGlmIHRoZSB3b3JrIGluc2lkZSB0aGUgY3JpdGljYWwgc2Vj
dGlvbiBpcyBzaG9ydC4gVGhlIG1vcmUgY29yZXMgcGFydGljaXBhdGUgaW4gcmVhZGluZywKIC8v
IHRoZSBsb25nZXIgdGhlIHJlYWQgY3JpdGljYWwgc2VjdGlvbiBoYXMgdG8gYmUgZm9yIHRoaXMg
bG9ja2luZyBzY2hlbWUgdG8gYmUgcHJvZml0YWJsZS4KIAotc3RydWN0IFJlYWRXcml0ZUxvY2tC
YXNlIHsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBjb25zdHJ1Y3QoKTsKLSAgICAKK2Ns
YXNzIFJlYWRXcml0ZUxvY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWRXcml0ZUxv
Y2spOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFJlYWRXcml0
ZUxvY2soKSA9IGRlZmF1bHQ7CisKICAgICAvLyBJdCdzIGVhc2llc3QgdG8gcmVhZCBsb2NrIGxp
a2UgdGhpczoKICAgICAvLyAKICAgICAvLyAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhyd0xv
Y2sucmVhZCgpKTsKQEAgLTU4LDQwICs2MSwzMSBAQCBzdHJ1Y3QgUmVhZFdyaXRlTG9ja0Jhc2Ug
ewogICAgIFdyaXRlTG9jayYgd3JpdGUoKTsKIAogcHJpdmF0ZToKLSAgICAvLyBUaGVzZSBmaWVs
ZHMgbXVzdCB3b3JrIHdoZW4gemVyby1maWxsZWQsIHNvIHRoYXQgU3RhdGljUmVhZFdyaXRlTG9j
ayB3b3Jrcy4KLSAgICBMb2NrQmFzZSBtX2xvY2s7Ci0gICAgQ29uZGl0aW9uQmFzZSBtX2NvbmQ7
Ci0gICAgYm9vbCBtX2lzV3JpdGVMb2NrZWQ7Ci0gICAgdW5zaWduZWQgbV9udW1SZWFkZXJzOwot
ICAgIHVuc2lnbmVkIG1fbnVtV2FpdGluZ1dyaXRlcnM7CisgICAgTG9jayBtX2xvY2s7CisgICAg
Q29uZGl0aW9uIG1fY29uZDsKKyAgICBib29sIG1faXNXcml0ZUxvY2tlZCB7IGZhbHNlIH07Cisg
ICAgdW5zaWduZWQgbV9udW1SZWFkZXJzIHsgMCB9OworICAgIHVuc2lnbmVkIG1fbnVtV2FpdGlu
Z1dyaXRlcnMgeyAwIH07CiB9OwogCi1jbGFzcyBSZWFkV3JpdGVMb2NrQmFzZTo6UmVhZExvY2sg
OiBwdWJsaWMgUmVhZFdyaXRlTG9ja0Jhc2UgeworY2xhc3MgUmVhZFdyaXRlTG9jazo6UmVhZExv
Y2sgOiBwdWJsaWMgUmVhZFdyaXRlTG9jayB7CiBwdWJsaWM6CiAgICAgYm9vbCB0cnlMb2NrKCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2b2lkIGxvY2soKSB7IHJlYWRMb2NrKCk7IH0KICAgICB2
b2lkIHVubG9jaygpIHsgcmVhZFVubG9jaygpOyB9CiB9OwogCi1jbGFzcyBSZWFkV3JpdGVMb2Nr
QmFzZTo6V3JpdGVMb2NrIDogcHVibGljIFJlYWRXcml0ZUxvY2tCYXNlIHsKK2NsYXNzIFJlYWRX
cml0ZUxvY2s6OldyaXRlTG9jayA6IHB1YmxpYyBSZWFkV3JpdGVMb2NrIHsKIHB1YmxpYzoKICAg
ICBib29sIHRyeUxvY2soKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQgbG9jaygpIHsgd3Jp
dGVMb2NrKCk7IH0KICAgICB2b2lkIHVubG9jaygpIHsgd3JpdGVVbmxvY2soKTsgfQogfTsKICAg
ICAKLWlubGluZSBSZWFkV3JpdGVMb2NrQmFzZTo6UmVhZExvY2smIFJlYWRXcml0ZUxvY2tCYXNl
OjpyZWFkKCkgeyByZXR1cm4gKnN0YXRpY19jYXN0PFJlYWRMb2NrKj4odGhpcyk7IH0KLWlubGlu
ZSBSZWFkV3JpdGVMb2NrQmFzZTo6V3JpdGVMb2NrJiBSZWFkV3JpdGVMb2NrQmFzZTo6d3JpdGUo
KSB7IHJldHVybiAqc3RhdGljX2Nhc3Q8V3JpdGVMb2NrKj4odGhpcyk7IH0KLQotY2xhc3MgUmVh
ZFdyaXRlTG9jayA6IHB1YmxpYyBSZWFkV3JpdGVMb2NrQmFzZSB7Ci1wdWJsaWM6Ci0gICAgUmVh
ZFdyaXRlTG9jaygpCi0gICAgewotICAgICAgICBjb25zdHJ1Y3QoKTsKLSAgICB9Ci19OworaW5s
aW5lIFJlYWRXcml0ZUxvY2s6OlJlYWRMb2NrJiBSZWFkV3JpdGVMb2NrOjpyZWFkKCkgeyByZXR1
cm4gKnN0YXRpY19jYXN0PFJlYWRMb2NrKj4odGhpcyk7IH0KK2lubGluZSBSZWFkV3JpdGVMb2Nr
OjpXcml0ZUxvY2smIFJlYWRXcml0ZUxvY2s6OndyaXRlKCkgeyByZXR1cm4gKnN0YXRpY19jYXN0
PFdyaXRlTG9jayo+KHRoaXMpOyB9CiAKLXR5cGVkZWYgUmVhZFdyaXRlTG9ja0Jhc2UgU3RhdGlj
UmVhZFdyaXRlTG9jazsKK3VzaW5nIFN0YXRpY1JlYWRXcml0ZUxvY2sgPSBSZWFkV3JpdGVMb2Nr
OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVj
dXJzaXZlTG9ja0FkYXB0ZXIuaCBiL1NvdXJjZS9XVEYvd3RmL1JlY3Vyc2l2ZUxvY2tBZGFwdGVy
LmgKaW5kZXggZDRmZWIzNzEwYTg0NjdlMzdmNTA0ODY1OTljZmVjZDIwZjE0YzFhNy4uMDMxMzg0
ZDg1MjFhYmQ0OGZlMzZlOWRhMmUzNWNiYjc0NDM3Y2I2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWN1cnNp
dmVMb2NrQWRhcHRlci5oCkBAIC0zMiwxMCArMzIsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBs
YXRlPHR5cGVuYW1lIExvY2tUeXBlPgogY2xhc3MgUmVjdXJzaXZlTG9ja0FkYXB0ZXIgewogcHVi
bGljOgotICAgIFJlY3Vyc2l2ZUxvY2tBZGFwdGVyKCkKLSAgICB7Ci0gICAgfQotICAgIAorICAg
IFJlY3Vyc2l2ZUxvY2tBZGFwdGVyKCkgPSBkZWZhdWx0OworCiAgICAgdm9pZCBsb2NrKCkKICAg
ICB7CiAgICAgICAgIFRocmVhZCYgbWUgPSBUaHJlYWQ6OmN1cnJlbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmNw
cAppbmRleCA5ZThmYjliZmYwNWY2ZTZiZWFmODkwYjZkZDE5ZDFjMjlhMDg0NWYwLi4wMTg5ZTU4
NWFmMGM0YmE5NjZiNDllMGFlMDc4Y2E0OGQzMmZkYmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9Xb3JkTG9jay5jcHAKKysrIGIvU291cmNlL1dURi93dGYvV29yZExvY2suY3BwCkBAIC03
Niw3ICs3Niw3IEBAIFRocmVhZERhdGEqIG15VGhyZWFkRGF0YSgpCiAKIH0gLy8gYW5vbnltb3Vz
IG5hbWVzcGFjZQogCi1ORVZFUl9JTkxJTkUgdm9pZCBXb3JkTG9ja0Jhc2U6OmxvY2tTbG93KCkK
K05FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrOjpsb2NrU2xvdygpCiB7CiAgICAgdW5zaWduZWQg
c3BpbkNvdW50ID0gMDsKIApAQCAtMTc3LDcgKzE3Nyw3IEBAIE5FVkVSX0lOTElORSB2b2lkIFdv
cmRMb2NrQmFzZTo6bG9ja1Nsb3coKQogICAgIH0KIH0KIAotTkVWRVJfSU5MSU5FIHZvaWQgV29y
ZExvY2tCYXNlOjp1bmxvY2tTbG93KCkKK05FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrOjp1bmxv
Y2tTbG93KCkKIHsKICAgICAvLyBUaGUgZmFzdCBwYXRoIGNhbiBmYWlsIGVpdGhlciBiZWNhdXNl
IG9mIHNwdXJpb3VzIHdlYWsgQ0FTIGZhaWx1cmUsIG9yIGJlY2F1c2Ugc29tZW9uZSBwdXQgYQog
ICAgIC8vIHRocmVhZCBvbiB0aGUgcXVldWUsIG9yIHRoZSBxdWV1ZSBsb2NrIGlzIGhlbGQuIElm
IHRoZSBxdWV1ZSBsb2NrIGlzIGhlbGQsIGl0IGNhbiBvbmx5IGJlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Xb3JkTG9jay5oIGIvU291cmNlL1dURi93dGYvV29yZExvY2suaAppbmRleCA1
MjE5MWVlMDFkOTQ3ZmUzYzRmMDhlMzU1ZmRhYThhZDU3MjdhNzNjLi43YTkwZjhiNjA5ZDgyOTEy
ZTYyY2FiYmY0OWE2NTcwZDJhMmMxMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3Jk
TG9jay5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmgKQEAgLTQ2LDcgKzQ2LDEyIEBA
IG5hbWVzcGFjZSBXVEYgewogLy8gUHJpbnRTdHJlYW0gdXNlcyB0aGlzIHNvIHRoYXQgUGFya2lu
Z0xvdCBhbmQgTG9jayBjYW4gdXNlIFByaW50U3RyZWFtLiBUaGlzIG1lYW5zIHRoYXQgaWYgeW91
CiAvLyB0cnkgdG8gdXNlIGRhdGFMb2cgdG8gZGVidWcgdGhpcyBjb2RlLCB5b3Ugd2lsbCBoYXZl
IGEgYmFkIHRpbWUuCiAKLXN0cnVjdCBXb3JkTG9ja0Jhc2UgeworY2xhc3MgV29yZExvY2sgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmRMb2NrKTsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICBXb3JkTG9jaygpID0gZGVmYXVsdDsKKwogICAgIHZvaWQg
bG9jaygpCiAgICAgewogICAgICAgICBpZiAoTElLRUxZKG1fd29yZC5jb21wYXJlRXhjaGFuZ2VX
ZWFrKDAsIGlzTG9ja2VkQml0LCBzdGQ6Om1lbW9yeV9vcmRlcl9hY3F1aXJlKSkpIHsKQEAgLTkz
LDIwICs5OCwxMSBAQCBzdHJ1Y3QgV29yZExvY2tCYXNlIHsKICAgICAgICAgcmV0dXJuICFtX3dv
cmQubG9hZCgpOwogICAgIH0KIAotICAgIEF0b21pYzx1aW50cHRyX3Q+IG1fd29yZDsKLX07Ci0K
LWNsYXNzIFdvcmRMb2NrIDogcHVibGljIFdvcmRMb2NrQmFzZSB7Ci0gICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV29yZExvY2spOwotcHVibGljOgotICAgIFdvcmRMb2NrKCkKLSAgICB7Ci0gICAg
ICAgIG1fd29yZC5zdG9yZSgwLCBzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKLSAgICB9Cisg
ICAgQXRvbWljPHVpbnRwdHJfdD4gbV93b3JkIHsgMCB9OwogfTsKIAotdHlwZWRlZiBXb3JkTG9j
a0Jhc2UgU3RhdGljV29yZExvY2s7Ci10eXBlZGVmIExvY2tlcjxXb3JkTG9ja0Jhc2U+IFdvcmRM
b2NrSG9sZGVyOwordXNpbmcgU3RhdGljV29yZExvY2sgPSBXb3JkTG9jazsKK3VzaW5nIFdvcmRM
b2NrSG9sZGVyID0gTG9ja2VyPFdvcmRMb2NrPjsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9X
b3JrUXVldWUuY3BwCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328613</attachid>
            <date>2017-12-06 13:15:27 -0800</date>
            <delta_ts>2017-12-06 14:00:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180495-20171207061526.patch</filename>
            <type>text/plain</type>
            <size>19202</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4YzhkMDExNDc2NDFhZjg2ZmMxNTk4
ZWU2ZWY1NmUwZGQ5MTJiYzcuLmM0ODNkY2UwMmY0OTZlNjMxODYyMWIxMjIwOTExYjE4MWE5MDQ4
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsODcgQEAKKzIwMTctMTItMDYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIFhYWExvY2tCYXNlIHNp
bmNlIGNvbnN0ZXhwciBjb25zdHJ1Y3RvciBjYW4gaW5pdGlhbGl6ZSBzdGF0aWMgdmFyaWFibGVz
IHdpdGhvdXQgY2FsbGluZyBnbG9iYWwgY29uc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA0OTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWZXJ5IG5pY2UgZmVhdHVyZSBvZiBDKysxMSBp
cyB0aGF0IGNvbnN0ZXhwciBjb25zdHJ1Y3RvciBjYW4gaW5pdGlhbGl6ZSBzdGF0aWMgZ2xvYmFs
IHZhcmlhYmxlcworICAgICAgICB3aXRob3V0IGNhbGxpbmcgZ2xvYmFsIGNvbnN0cnVjdG9ycy4g
V2UgZG8gbm90IG5lZWQgdG8gaGF2ZSBYWFhMb2NrQmFzZSB3aXRoIGRlcml2ZWQgWFhYTG9jawor
ICAgICAgICBjbGFzcyBzaW5jZSBTdGF0aWNYWFhMb2NrIGNhbiBoYXZlIGNvbnN0cnVjdG9ycyBh
cyBsb25nIGFzIGl0IGlzIGNvbnN0ZXhwci4KKyAgICAgICAgV2UgcmVtb3ZlIGJ1bmNoIG9mIHRo
ZXNlIGNsYXNzZXMsIGFuZCBzZXQgYFhYWExvY2soKSA9IGRlZmF1bHQ7YCBleHBsaWNpdGx5IGZv
ciByZWFkYWJpbGl0eS4KKyAgICAgICAgQysrMTEncyBkZWZhdWx0IGNvbnN0cnVjdG9yIGlzIGNv
bnN0ZXhwciBhcyBsb25nIGFzIGl0cyBtZW1iZXIncyBkZWZhdWx0IGNvbnN0cnVjdG9yIC8gZGVm
YXVsdAorICAgICAgICBpbml0aWFsaXplciBpcyBjb25zdGV4cHIuCisKKyAgICAgICAgKiB3dGYv
Q29uZGl0aW9uLmg6CisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OmNvbnN0cnVjdCk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbCk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRGb3IpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29u
ZGl0aW9uQmFzZTo6bm90aWZ5T25lKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29uZGl0aW9u
QmFzZTo6bm90aWZ5QWxsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29uZGl0aW9uOjpDb25k
aXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9Db3VudGluZ0xvY2suaDoKKyAgICAgICAg
KFdURjo6Q291bnRpbmdMb2NrOjpDb3VudGluZ0xvY2spOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpDb3VudGluZ0xvY2s6On5Db3VudGluZ0xvY2spOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9M
b2NrLmNwcDoKKyAgICAgICAgKFdURjo6TG9jazo6bG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpM
b2NrOjp1bmxvY2tTbG93KToKKyAgICAgICAgKFdURjo6TG9jazo6dW5sb2NrRmFpcmx5U2xvdyk6
CisgICAgICAgIChXVEY6OkxvY2s6OnNhZmVwb2ludFNsb3cpOgorICAgICAgICAoV1RGOjpMb2Nr
QmFzZTo6bG9ja1Nsb3cpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6dW5sb2Nr
U2xvdyk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp1bmxvY2tGYWlybHlTbG93
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TG9ja0Jhc2U6OnNhZmVwb2ludFNsb3cpOiBEZWxl
dGVkLgorICAgICAgICAqIHd0Zi9Mb2NrLmg6CisgICAgICAgIChXVEY6OkxvY2tCYXNlOjpjb25z
dHJ1Y3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6bG9jayk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp0cnlMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6TG9ja0Jhc2U6OnRyeV9sb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TG9ja0Jhc2U6
OnVubG9jayk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp1bmxvY2tGYWlybHkp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6c2FmZXBvaW50KTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6TG9ja0Jhc2U6OmlzSGVsZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OkxvY2tCYXNlOjppc0xvY2tlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
OkxvY2tCYXNlOjppc0Z1bGx5UmVzZXQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpM
b2NrOjpMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvUmVhZFdyaXRlTG9jay5jcHA6Cisg
ICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OnJlYWRMb2NrKToKKyAgICAgICAgKFdURjo6UmVh
ZFdyaXRlTG9jazo6cmVhZFVubG9jayk6CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6Ondy
aXRlTG9jayk6CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OndyaXRlVW5sb2NrKToKKyAg
ICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OmNvbnN0cnVjdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkTG9jayk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkVW5sb2NrKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlTG9jayk6IERlbGV0ZWQuCisgICAgICAgIChX
VEY6OlJlYWRXcml0ZUxvY2tCYXNlOjp3cml0ZVVubG9jayk6IERlbGV0ZWQuCisgICAgICAgICog
d3RmL1JlYWRXcml0ZUxvY2suaDoKKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9jazo6cmVhZCk6
CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OndyaXRlKToKKyAgICAgICAgKFdURjo6UmVh
ZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjp0cnlMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6UmVhZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjpsb2NrKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjp1bmxvY2spOiBEZWxldGVkLgorICAg
ICAgICAoV1RGOjpSZWFkV3JpdGVMb2NrQmFzZTo6V3JpdGVMb2NrOjp0cnlMb2NrKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OldyaXRlTG9jazo6bG9jayk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpXcml0ZUxvY2s6OnVubG9j
ayk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9jazo6UmVhZFdyaXRlTG9jayk6IERlbGV0ZWQuCisg
ICAgICAgICogd3RmL1JlY3Vyc2l2ZUxvY2tBZGFwdGVyLmg6CisgICAgICAgIChXVEY6OlJlY3Vy
c2l2ZUxvY2tBZGFwdGVyOjpSZWN1cnNpdmVMb2NrQWRhcHRlcik6IERlbGV0ZWQuCisgICAgICAg
ICogd3RmL1dvcmRMb2NrLmNwcDoKKyAgICAgICAgKFdURjo6V29yZExvY2s6OmxvY2tTbG93KToK
KyAgICAgICAgKFdURjo6V29yZExvY2s6OnVubG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpXb3Jk
TG9ja0Jhc2U6OmxvY2tTbG93KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6V29yZExvY2tCYXNl
Ojp1bmxvY2tTbG93KTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvV29yZExvY2suaDoKKyAgICAg
ICAgKFdURjo6V29yZExvY2tCYXNlOjpsb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6V29y
ZExvY2tCYXNlOjp1bmxvY2spOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpXb3JkTG9ja0Jhc2U6
OmlzSGVsZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OldvcmRMb2NrQmFzZTo6aXNM
b2NrZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpXb3JkTG9ja0Jhc2U6OmlzRnVs
bHlSZXNldCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OldvcmRMb2NrOjpXb3JkTG9j
ayk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5jcHA6CisKIDIwMTctMTItMDUg
IFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgogCiAgICAgICAgIFN3aXRj
aCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNwpkaWZmIC0tZ2l0IGEvU291cmNl
L2JtYWxsb2MvQ2hhbmdlTG9nIGIvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCmluZGV4IDdjZTQy
ZjhhNmRjMTlmNDJhNTBmMTAyZDhhMzdmMzhlMWM4NjZmZjAuLjFhODAwYWRjOGI5NGNkMjEyZWMx
YzkwODFhZmM3NzJhNGUyNTk5NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0x
Mi0wNiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KKworICAgICAgICBb
V1RGXSBSZW1vdmUgWFhYTG9ja0Jhc2Ugc2luY2UgY29uc3RleHByIGNvbnN0cnVjdG9yIGNhbiBp
bml0aWFsaXplIHN0YXRpYyB2YXJpYWJsZXMgd2l0aG91dCBjYWxsaW5nIGdsb2JhbCBjb25zdHJ1
Y3RvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MDQ5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExl
dmVyYWdlIEMrKyBjb25zdGV4cHIgZGVmYXVsdCBjb25zdHJ1Y3RvciBhbmQgbm9uLXN0YXRpYyBk
YXRhIG1lbWJlciBpbml0aWFsaXplciB0byBpbml0aWFsaXplIFN0YXRpY011dGV4LgorCisgICAg
ICAgICogYm1hbGxvYy9NdXRleC5oOgorICAgICAgICAoYm1hbGxvYzo6TXV0ZXg6Ok11dGV4KTog
RGVsZXRlZC4KKyAgICAgICAgKiBibWFsbG9jL1N0YXRpY011dGV4Lmg6CisgICAgICAgIChibWFs
bG9jOjpTdGF0aWNNdXRleDo6aW5pdCk6IERlbGV0ZWQuCisKIDIwMTctMTItMDUgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtEYXJ3aW5dIFNpbXBsaWZ5IHVzZSBv
ZiBUYXJnZXRDb25kaXRpb25hbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NvbmRpdGlv
bi5oIGIvU291cmNlL1dURi93dGYvQ29uZGl0aW9uLmgKaW5kZXggZmNmMzJjODRkNDU0YjA2MjAy
YWEzODJhMDBiNTJiY2RmMDY1MjQyZC4uZjUzMzY4OTVkNDhhM2ZjOTZhNjhiNGUwNzgzZWU1MGU2
OGE5YmMyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29uZGl0aW9uLmgKKysrIGIvU291
cmNlL1dURi93dGYvQ29uZGl0aW9uLmgKQEAgLTQxLDIwICs0MSwxNiBAQCBuYW1lc3BhY2UgV1RG
IHsKIC8vIG9uZSBieXRlIG9mIG1lbW9yeS4gbm90aWZ5T25lKCkgYW5kIG5vdGlmeUFsbCgpIHJl
cXVpcmUganVzdCBhIGxvYWQgYW5kIGJyYW5jaCBmb3IgdGhlIGZhc3QKIC8vIGNhc2Ugd2hlcmUg
bm8gdGhyZWFkIGlzIHdhaXRpbmcuIFRoaXMgY29uZGl0aW9uIHZhcmlhYmxlLCB3aGVuIHVzZWQg
d2l0aCBXVEY6OkxvY2ssIGNhbgogLy8gb3V0cGVyZm9ybSBhIHN5c3RlbSBjb25kaXRpb24gdmFy
aWFibGUgYW5kIGxvY2sgYnkgdXAgdG8gNTh4LgotCi0vLyBUaGlzIGlzIGEgc3RydWN0IHdpdGhv
dXQgYSBjb25zdHJ1Y3RvciBvciBkZXN0cnVjdG9yIHNvIHRoYXQgaXQgY2FuIGJlIHN0YXRpY2Fs
bHkgaW5pdGlhbGl6ZWQuCi0vLyBVc2UgTG9jayBpbiBpbnN0YW5jZSB2YXJpYWJsZXMuCi1zdHJ1
Y3QgQ29uZGl0aW9uQmFzZSB7CitjbGFzcyBDb25kaXRpb24geworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENvbmRpdGlvbik7CitwdWJsaWM6CiAgICAgLy8gQ29uZGl0aW9uIHdpbGwgYWNjZXB0
IGFueSBraW5kIG9mIHRpbWUgYW5kIGNvbnZlcnQgaXQgaW50ZXJuYWxseSwgYnV0IHRoaXMgdHlw
ZWRlZiB0ZWxscwogICAgIC8vIHlvdSB3aGF0IGtpbmQgb2YgdGltZSBDb25kaXRpb24gd291bGQg
YmUgYWJsZSB0byB1c2Ugd2l0aG91dCBjb252ZXJzaW9ucy4gSG93ZXZlciwgaWYgeW91CiAgICAg
Ly8gYXJlIHVubGlrZWx5IHRvIGJlIGFmZmVjdGVkIGJ5IHRoZSBjb3N0IG9mIGNvbnZlcnNpb25z
LCBpdCBpcyBiZXR0ZXIgdG8gdXNlIE1vbm90b25pY1RpbWUuCi0gICAgdHlwZWRlZiBQYXJraW5n
TG90OjpUaW1lIFRpbWU7Ci0gICAgCi0gICAgdm9pZCBjb25zdHJ1Y3QoKQotICAgIHsKLSAgICAg
ICAgbV9oYXNXYWl0ZXJzLnN0b3JlKGZhbHNlKTsKLSAgICB9Ci0gICAgCisgICAgdXNpbmcgVGlt
ZSA9IFBhcmtpbmdMb3Q6OlRpbWU7CisKKyAgICBDb25kaXRpb24oKSA9IGRlZmF1bHQ7CisKICAg
ICAvLyBXYWl0IG9uIGEgcGFya2luZyBxdWV1ZSB3aGlsZSByZWxlYXNpbmcgdGhlIGdpdmVuIGxv
Y2suIEl0IHdpbGwgdW5sb2NrIHRoZSBsb2NrIGp1c3QgYmVmb3JlCiAgICAgLy8gcGFya2luZywg
YW5kIHJlbG9jayBpdCB1cG9uIHdha2V1cC4gUmV0dXJucyB0cnVlIGlmIHdlIHdva2UgdXAgZHVl
IHRvIHNvbWUgY2FsbCB0bwogICAgIC8vIG5vdGlmeU9uZSgpIG9yIG5vdGlmeUFsbCgpLiBSZXR1
cm5zIGZhbHNlIGlmIHdlIHdva2UgdXAgZHVlIHRvIGEgdGltZW91dC4gTm90ZSB0aGF0IHRoaXMg
Zm9ybQpAQCAtMTc0LDE5ICsxNzAsMTAgQEAgc3RydWN0IENvbmRpdGlvbkJhc2UgewogICAgIH0K
ICAgICAKIHByaXZhdGU6Ci0gICAgQXRvbWljPGJvb2w+IG1faGFzV2FpdGVyczsKLX07Ci0KLWNs
YXNzIENvbmRpdGlvbiA6IHB1YmxpYyBDb25kaXRpb25CYXNlIHsKLSAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb25kaXRpb24pOwotcHVibGljOgotICAgIENvbmRpdGlvbigpCi0gICAgewotICAg
ICAgICBjb25zdHJ1Y3QoKTsKLSAgICB9CisgICAgQXRvbWljPGJvb2w+IG1faGFzV2FpdGVycyB7
IGZhbHNlIH07CiB9OwogCi10eXBlZGVmIENvbmRpdGlvbkJhc2UgU3RhdGljQ29uZGl0aW9uOwor
dXNpbmcgU3RhdGljQ29uZGl0aW9uID0gQ29uZGl0aW9uOwogCiB9IC8vIG5hbWVzcGFjZSBXVEYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ291bnRpbmdMb2NrLmggYi9Tb3VyY2UvV1RG
L3d0Zi9Db3VudGluZ0xvY2suaAppbmRleCBkMGU4MzUzZTRmNTVjYWQxODEwYmQyYWE0NDRmM2Q2
MGY4YmRmYWE1Li4wYzQ3MWI5NjM3OTBhMjljYmJmOGM2ZTZhM2MyYWEzMmY4MWQ4NmRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Db3VudGluZ0xvY2suaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9Db3VudGluZ0xvY2suaApAQCAtNTUsNiArNTUsOSBAQCBuYW1lc3BhY2UgV1RGIHsKIC8vIFRo
ZSBsYXR0ZXIgaXMgaW1wb3J0YW50IGZvciB1cyBiZWNhdXNlIHNvbWUgR0MgcGF0aHMgYXJlIGtu
b3duIHRvIGJlIHNlbnNpdGl2ZSB0byBmZW5jZXMgb24gQVJNLgogCiBjbGFzcyBDb3VudGluZ0xv
Y2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50aW5nTG9jayk7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CisKICAgICB0eXBlZGVmIHVuc2lnbmVkIExvY2tUeXBlOwogICAg
IAogICAgIHN0YXRpYyBjb25zdGV4cHIgTG9ja1R5cGUgaXNIZWxkQml0ID0gMTsKQEAgLTc3LDE0
ICs4MCw3IEBAIGNsYXNzIENvdW50aW5nTG9jayB7CiAgICAgdHlwZWRlZiBMb2NrQWxnb3JpdGht
PExvY2tUeXBlLCBpc0hlbGRCaXQsIGhhc1BhcmtlZEJpdCwgTG9ja0hvb2tzPiBFeGNsdXNpdmVB
bGdvcml0aG07CiAgICAgCiBwdWJsaWM6Ci0gICAgQ291bnRpbmdMb2NrKCkKLSAgICB7Ci0gICAg
ICAgIG1fd29yZC5zdG9yZVJlbGF4ZWQoMCk7Ci0gICAgfQotICAgIAotICAgIH5Db3VudGluZ0xv
Y2soKQotICAgIHsKLSAgICB9CisgICAgQ291bnRpbmdMb2NrKCkgPSBkZWZhdWx0OwogICAgIAog
ICAgIGJvb2wgdHJ5TG9jaygpCiAgICAgewpAQCAtMjY1LDcgKzI2MSw3IEBAIGNsYXNzIENvdW50
aW5nTG9jayB7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAotICAgIEF0b21p
YzxMb2NrVHlwZT4gbV93b3JkOworICAgIEF0b21pYzxMb2NrVHlwZT4gbV93b3JkIHsgMCB9Owog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2Nr
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL0xvY2suY3BwCmluZGV4IGU4NzdmYTAxNTM3NzcyMDIzOTEx
MjBhY2EyMmZhMDA2ZGE1MTllZDUuLjdmZjEwMDU2OGMxZTkxYjZjMmQ1MmRjNTEwYjI5NDFkN2M0
YzA2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xvY2suY3BwCisrKyBiL1NvdXJjZS9X
VEYvd3RmL0xvY2suY3BwCkBAIC0zMywyNCArMzMsMjQgQEAgbmFtZXNwYWNlIFdURiB7CiAKIHN0
YXRpYyBjb25zdGV4cHIgYm9vbCBwcm9maWxlTG9ja0NvbnRlbnRpb24gPSBmYWxzZTsKIAotdm9p
ZCBMb2NrQmFzZTo6bG9ja1Nsb3coKQordm9pZCBMb2NrOjpsb2NrU2xvdygpCiB7CiAgICAgaWYg
KHByb2ZpbGVMb2NrQ29udGVudGlvbikKICAgICAgICAgU1RBQ0tfU0hPVF9QUk9GSUxFKDQsIDIs
IDUpOwogICAgIERlZmF1bHRMb2NrQWxnb3JpdGhtOjpsb2NrU2xvdyhtX2J5dGUpOwogfQogCi12
b2lkIExvY2tCYXNlOjp1bmxvY2tTbG93KCkKK3ZvaWQgTG9jazo6dW5sb2NrU2xvdygpCiB7CiAg
ICAgRGVmYXVsdExvY2tBbGdvcml0aG06OnVubG9ja1Nsb3cobV9ieXRlLCBEZWZhdWx0TG9ja0Fs
Z29yaXRobTo6VW5mYWlyKTsKIH0KIAotdm9pZCBMb2NrQmFzZTo6dW5sb2NrRmFpcmx5U2xvdygp
Cit2b2lkIExvY2s6OnVubG9ja0ZhaXJseVNsb3coKQogewogICAgIERlZmF1bHRMb2NrQWxnb3Jp
dGhtOjp1bmxvY2tTbG93KG1fYnl0ZSwgRGVmYXVsdExvY2tBbGdvcml0aG06OkZhaXIpOwogfQog
Ci12b2lkIExvY2tCYXNlOjpzYWZlcG9pbnRTbG93KCkKK3ZvaWQgTG9jazo6c2FmZXBvaW50U2xv
dygpCiB7CiAgICAgRGVmYXVsdExvY2tBbGdvcml0aG06OnNhZmVwb2ludFNsb3cobV9ieXRlKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvY2suaCBiL1NvdXJjZS9XVEYvd3RmL0xv
Y2suaAppbmRleCA5NWEwYmE2MTZlMDBkNGMwMDNiZTIzNWYwNDQ5MDMzMDJmNmUzNjgyLi42MzFk
ZTk2YzA5YzExNDk2NjYzOGExMTgyMTZkZDI1Njc4Mzg5ZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9Mb2NrLmgKKysrIGIvU291cmNlL1dURi93dGYvTG9jay5oCkBAIC00OCwxNSArNDgs
MTIgQEAgdHlwZWRlZiBMb2NrQWxnb3JpdGhtPHVpbnQ4X3QsIDEsIDI+IERlZmF1bHRMb2NrQWxn
b3JpdGhtOwogLy8gYXQgd29yc3Qgb25lIGNhbGwgdG8gdW5sb2NrKCkgcGVyIG1pbGxpc2Vjb25k
IHdpbGwgZG8gYSBkaXJlY3QgaGFuZC1vZmYgdG8gdGhlIHRocmVhZCB0aGF0IGlzIGF0CiAvLyB0
aGUgaGVhZCBvZiB0aGUgcXVldWUuIFdoZW4gdGhlcmUgYXJlIGNvbGxpc2lvbnMsIGVhY2ggY29s
bGlzaW9uIGluY3JlYXNlcyB0aGUgZmFpciB1bmxvY2sgZGVsYXkKIC8vIGJ5IG9uZSBtaWxsaXNl
Y29uZCBpbiB0aGUgd29yc3QgY2FzZS4KK2NsYXNzIExvY2sgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2spOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAg
IExvY2soKSA9IGRlZmF1bHQ7CiAKLS8vIFRoaXMgaXMgYSBzdHJ1Y3Qgd2l0aG91dCBhIGNvbnN0
cnVjdG9yIG9yIGRlc3RydWN0b3Igc28gdGhhdCBpdCBjYW4gYmUgc3RhdGljYWxseSBpbml0aWFs
aXplZC4KLS8vIFVzZSBMb2NrIGluIGluc3RhbmNlIHZhcmlhYmxlcy4KLXN0cnVjdCBMb2NrQmFz
ZSB7Ci0gICAgdm9pZCBjb25zdHJ1Y3QoKQotICAgIHsKLSAgICAgICAgbV9ieXRlLnN0b3JlKDAs
IHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotICAgIH0KLSAgICAKICAgICB2b2lkIGxvY2so
KQogICAgIHsKICAgICAgICAgaWYgKFVOTElLRUxZKCFEZWZhdWx0TG9ja0FsZ29yaXRobTo6bG9j
a0Zhc3RBc3N1bWluZ1plcm8obV9ieXRlKSkpCkBAIC0xMzIsMjEgKzEyOSwxMSBAQCBzdHJ1Y3Qg
TG9ja0Jhc2UgewogICAgICAgICByZXR1cm4gIW1fYnl0ZS5sb2FkKCk7CiAgICAgfQogCi0gICAg
QXRvbWljPHVpbnQ4X3Q+IG1fYnl0ZTsKLX07Ci0KLWNsYXNzIExvY2sgOiBwdWJsaWMgTG9ja0Jh
c2UgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2spOwotICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwotcHVibGljOgotICAgIExvY2soKQotICAgIHsKLSAgICAgICAgY29uc3RydWN0
KCk7Ci0gICAgfQorICAgIEF0b21pYzx1aW50OF90PiBtX2J5dGUgeyAwIH07CiB9OwogCi10eXBl
ZGVmIExvY2tCYXNlIFN0YXRpY0xvY2s7Ci10eXBlZGVmIExvY2tlcjxMb2NrQmFzZT4gTG9ja0hv
bGRlcjsKK3VzaW5nIFN0YXRpY0xvY2sgPSBMb2NrOwordXNpbmcgTG9ja0hvbGRlciA9IExvY2tl
cjxMb2NrPjsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1JlYWRXcml0ZUxvY2suY3BwIGIvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5jcHAK
aW5kZXggNDYyMjc2NWY1NzVkOTYxNThiOGQ0ODNmMWJiMmFiMzQwNWVhODEwMy4uZTBkNzk4Mjdl
NWQxZGQzZDNhYjU1N2UzZWRhMTIxYTUxODMyY2I2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUmVhZFdyaXRlTG9jay5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5j
cHAKQEAgLTMwLDE2ICszMCw3IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi12b2lkIFJlYWRXcml0
ZUxvY2tCYXNlOjpjb25zdHJ1Y3QoKQotewotICAgIG1fbG9jay5jb25zdHJ1Y3QoKTsKLSAgICBt
X2NvbmQuY29uc3RydWN0KCk7Ci0gICAgbV9pc1dyaXRlTG9ja2VkID0gZmFsc2U7Ci0gICAgbV9u
dW1SZWFkZXJzID0gMDsKLSAgICBtX251bVdhaXRpbmdXcml0ZXJzID0gMDsKLX0KLQotdm9pZCBS
ZWFkV3JpdGVMb2NrQmFzZTo6cmVhZExvY2soKQordm9pZCBSZWFkV3JpdGVMb2NrOjpyZWFkTG9j
aygpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwogICAgIHdoaWxlICht
X2lzV3JpdGVMb2NrZWQgfHwgbV9udW1XYWl0aW5nV3JpdGVycykKQEAgLTQ3LDcgKzM4LDcgQEAg
dm9pZCBSZWFkV3JpdGVMb2NrQmFzZTo6cmVhZExvY2soKQogICAgIG1fbnVtUmVhZGVycysrOwog
fQogCi12b2lkIFJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkVW5sb2NrKCkKK3ZvaWQgUmVhZFdyaXRl
TG9jazo6cmVhZFVubG9jaygpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2sp
OwogICAgIG1fbnVtUmVhZGVycy0tOwpAQCAtNTUsNyArNDYsNyBAQCB2b2lkIFJlYWRXcml0ZUxv
Y2tCYXNlOjpyZWFkVW5sb2NrKCkKICAgICAgICAgbV9jb25kLm5vdGlmeUFsbCgpOwogfQogCi12
b2lkIFJlYWRXcml0ZUxvY2tCYXNlOjp3cml0ZUxvY2soKQordm9pZCBSZWFkV3JpdGVMb2NrOjp3
cml0ZUxvY2soKQogewogICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9sb2NrKTsKICAgICB3
aGlsZSAobV9pc1dyaXRlTG9ja2VkIHx8IG1fbnVtUmVhZGVycykgewpAQCAtNjYsNyArNTcsNyBA
QCB2b2lkIFJlYWRXcml0ZUxvY2tCYXNlOjp3cml0ZUxvY2soKQogICAgIG1faXNXcml0ZUxvY2tl
ZCA9IHRydWU7CiB9CiAKLXZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlVW5sb2NrKCkKK3Zv
aWQgUmVhZFdyaXRlTG9jazo6d3JpdGVVbmxvY2soKQogewogICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2sobV9sb2NrKTsKICAgICBtX2lzV3JpdGVMb2NrZWQgPSBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1JlYWRXcml0ZUxvY2suaCBiL1NvdXJjZS9XVEYvd3RmL1JlYWRXcml0
ZUxvY2suaAppbmRleCA5NTNjNGYyN2E1MTFmNGViNTgzYjA2ZTE3YmQyNTY2YThiOTk2YzM5Li42
N2YzMDk0MDJmNGMwZGM4NzNiYzc2MWZhY2U4NDAyOTdlYmZjY2M5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9SZWFkV3JpdGVMb2NrLmgKKysrIGIvU291cmNlL1dURi93dGYvUmVhZFdyaXRl
TG9jay5oCkBAIC0zNSw5ICszNSwxMiBAQCBuYW1lc3BhY2UgV1RGIHsKIC8vIHJlYWQoKS51bmxv
Y2soKSBpZiB0aGUgd29yayBpbnNpZGUgdGhlIGNyaXRpY2FsIHNlY3Rpb24gaXMgc2hvcnQuIFRo
ZSBtb3JlIGNvcmVzIHBhcnRpY2lwYXRlIGluIHJlYWRpbmcsCiAvLyB0aGUgbG9uZ2VyIHRoZSBy
ZWFkIGNyaXRpY2FsIHNlY3Rpb24gaGFzIHRvIGJlIGZvciB0aGlzIGxvY2tpbmcgc2NoZW1lIHRv
IGJlIHByb2ZpdGFibGUuCiAKLXN0cnVjdCBSZWFkV3JpdGVMb2NrQmFzZSB7Ci0gICAgV1RGX0VY
UE9SVF9QUklWQVRFIHZvaWQgY29uc3RydWN0KCk7Ci0gICAgCitjbGFzcyBSZWFkV3JpdGVMb2Nr
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBSZWFkV3JpdGVMb2NrKCkgPSBkZWZhdWx0
OworCiAgICAgLy8gSXQncyBlYXNpZXN0IHRvIHJlYWQgbG9jayBsaWtlIHRoaXM6CiAgICAgLy8g
CiAgICAgLy8gICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2socndMb2NrLnJlYWQoKSk7CkBAIC01
OCw0MCArNjEsMzEgQEAgc3RydWN0IFJlYWRXcml0ZUxvY2tCYXNlIHsKICAgICBXcml0ZUxvY2sm
IHdyaXRlKCk7CiAKIHByaXZhdGU6Ci0gICAgLy8gVGhlc2UgZmllbGRzIG11c3Qgd29yayB3aGVu
IHplcm8tZmlsbGVkLCBzbyB0aGF0IFN0YXRpY1JlYWRXcml0ZUxvY2sgd29ya3MuCi0gICAgTG9j
a0Jhc2UgbV9sb2NrOwotICAgIENvbmRpdGlvbkJhc2UgbV9jb25kOwotICAgIGJvb2wgbV9pc1dy
aXRlTG9ja2VkOwotICAgIHVuc2lnbmVkIG1fbnVtUmVhZGVyczsKLSAgICB1bnNpZ25lZCBtX251
bVdhaXRpbmdXcml0ZXJzOworICAgIExvY2sgbV9sb2NrOworICAgIENvbmRpdGlvbiBtX2NvbmQ7
CisgICAgYm9vbCBtX2lzV3JpdGVMb2NrZWQgeyBmYWxzZSB9OworICAgIHVuc2lnbmVkIG1fbnVt
UmVhZGVycyB7IDAgfTsKKyAgICB1bnNpZ25lZCBtX251bVdhaXRpbmdXcml0ZXJzIHsgMCB9Owog
fTsKIAotY2xhc3MgUmVhZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrIDogcHVibGljIFJlYWRXcml0
ZUxvY2tCYXNlIHsKK2NsYXNzIFJlYWRXcml0ZUxvY2s6OlJlYWRMb2NrIDogcHVibGljIFJlYWRX
cml0ZUxvY2sgewogcHVibGljOgogICAgIGJvb2wgdHJ5TG9jaygpIHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdm9pZCBsb2NrKCkgeyByZWFkTG9jaygpOyB9CiAgICAgdm9pZCB1bmxvY2soKSB7IHJl
YWRVbmxvY2soKTsgfQogfTsKIAotY2xhc3MgUmVhZFdyaXRlTG9ja0Jhc2U6OldyaXRlTG9jayA6
IHB1YmxpYyBSZWFkV3JpdGVMb2NrQmFzZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrOjpXcml0ZUxv
Y2sgOiBwdWJsaWMgUmVhZFdyaXRlTG9jayB7CiBwdWJsaWM6CiAgICAgYm9vbCB0cnlMb2NrKCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2b2lkIGxvY2soKSB7IHdyaXRlTG9jaygpOyB9CiAgICAg
dm9pZCB1bmxvY2soKSB7IHdyaXRlVW5sb2NrKCk7IH0KIH07CiAgICAgCi1pbmxpbmUgUmVhZFdy
aXRlTG9ja0Jhc2U6OlJlYWRMb2NrJiBSZWFkV3JpdGVMb2NrQmFzZTo6cmVhZCgpIHsgcmV0dXJu
ICpzdGF0aWNfY2FzdDxSZWFkTG9jayo+KHRoaXMpOyB9Ci1pbmxpbmUgUmVhZFdyaXRlTG9ja0Jh
c2U6OldyaXRlTG9jayYgUmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlKCkgeyByZXR1cm4gKnN0YXRp
Y19jYXN0PFdyaXRlTG9jayo+KHRoaXMpOyB9Ci0KLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJs
aWMgUmVhZFdyaXRlTG9ja0Jhc2UgewotcHVibGljOgotICAgIFJlYWRXcml0ZUxvY2soKQotICAg
IHsKLSAgICAgICAgY29uc3RydWN0KCk7Ci0gICAgfQotfTsKK2lubGluZSBSZWFkV3JpdGVMb2Nr
OjpSZWFkTG9jayYgUmVhZFdyaXRlTG9jazo6cmVhZCgpIHsgcmV0dXJuICpzdGF0aWNfY2FzdDxS
ZWFkTG9jayo+KHRoaXMpOyB9CitpbmxpbmUgUmVhZFdyaXRlTG9jazo6V3JpdGVMb2NrJiBSZWFk
V3JpdGVMb2NrOjp3cml0ZSgpIHsgcmV0dXJuICpzdGF0aWNfY2FzdDxXcml0ZUxvY2sqPih0aGlz
KTsgfQogCi10eXBlZGVmIFJlYWRXcml0ZUxvY2tCYXNlIFN0YXRpY1JlYWRXcml0ZUxvY2s7Cit1
c2luZyBTdGF0aWNSZWFkV3JpdGVMb2NrID0gUmVhZFdyaXRlTG9jazsKIAogfSAvLyBuYW1lc3Bh
Y2UgV1RGCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JlY3Vyc2l2ZUxvY2tBZGFwdGVy
LmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWN1cnNpdmVMb2NrQWRhcHRlci5oCmluZGV4IGQ0ZmViMzcx
MGE4NDY3ZTM3ZjUwNDg2NTk5Y2ZlY2QyMGYxNGMxYTcuLjAzMTM4NGQ4NTIxYWJkNDhmZTM2ZTlk
YTJlMzVjYmI3NDQzN2NiNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlY3Vyc2l2ZUxv
Y2tBZGFwdGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaApA
QCAtMzIsMTAgKzMyLDggQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBMb2Nr
VHlwZT4KIGNsYXNzIFJlY3Vyc2l2ZUxvY2tBZGFwdGVyIHsKIHB1YmxpYzoKLSAgICBSZWN1cnNp
dmVMb2NrQWRhcHRlcigpCi0gICAgewotICAgIH0KLSAgICAKKyAgICBSZWN1cnNpdmVMb2NrQWRh
cHRlcigpID0gZGVmYXVsdDsKKwogICAgIHZvaWQgbG9jaygpCiAgICAgewogICAgICAgICBUaHJl
YWQmIG1lID0gVGhyZWFkOjpjdXJyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9X
b3JkTG9jay5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JkTG9jay5jcHAKaW5kZXggOWU4ZmI5YmZm
MDVmNmU2YmVhZjg5MGI2ZGQxOWQxYzI5YTA4NDVmMC4uMDE4OWU1ODVhZjBjNGJhOTY2YjQ5ZTBh
ZTA3OGNhNDhkMzJmZGJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29yZExvY2suY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmNwcApAQCAtNzYsNyArNzYsNyBAQCBUaHJl
YWREYXRhKiBteVRocmVhZERhdGEoKQogCiB9IC8vIGFub255bW91cyBuYW1lc3BhY2UKIAotTkVW
RVJfSU5MSU5FIHZvaWQgV29yZExvY2tCYXNlOjpsb2NrU2xvdygpCitORVZFUl9JTkxJTkUgdm9p
ZCBXb3JkTG9jazo6bG9ja1Nsb3coKQogewogICAgIHVuc2lnbmVkIHNwaW5Db3VudCA9IDA7CiAK
QEAgLTE3Nyw3ICsxNzcsNyBAQCBORVZFUl9JTkxJTkUgdm9pZCBXb3JkTG9ja0Jhc2U6OmxvY2tT
bG93KCkKICAgICB9CiB9CiAKLU5FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrQmFzZTo6dW5sb2Nr
U2xvdygpCitORVZFUl9JTkxJTkUgdm9pZCBXb3JkTG9jazo6dW5sb2NrU2xvdygpCiB7CiAgICAg
Ly8gVGhlIGZhc3QgcGF0aCBjYW4gZmFpbCBlaXRoZXIgYmVjYXVzZSBvZiBzcHVyaW91cyB3ZWFr
IENBUyBmYWlsdXJlLCBvciBiZWNhdXNlIHNvbWVvbmUgcHV0IGEKICAgICAvLyB0aHJlYWQgb24g
dGhlIHF1ZXVlLCBvciB0aGUgcXVldWUgbG9jayBpcyBoZWxkLiBJZiB0aGUgcXVldWUgbG9jayBp
cyBoZWxkLCBpdCBjYW4gb25seSBiZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29yZExv
Y2suaCBiL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmgKaW5kZXggNTIxOTFlZTAxZDk0N2ZlM2M0
ZjA4ZTM1NWZkYWE4YWQ1NzI3YTczYy4uN2E5MGY4YjYwOWQ4MjkxMmU2MmNhYmJmNDlhNjU3MGQy
YTJjMTMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV29yZExvY2suaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9Xb3JkTG9jay5oCkBAIC00Niw3ICs0NiwxMiBAQCBuYW1lc3BhY2UgV1RGIHsK
IC8vIFByaW50U3RyZWFtIHVzZXMgdGhpcyBzbyB0aGF0IFBhcmtpbmdMb3QgYW5kIExvY2sgY2Fu
IHVzZSBQcmludFN0cmVhbS4gVGhpcyBtZWFucyB0aGF0IGlmIHlvdQogLy8gdHJ5IHRvIHVzZSBk
YXRhTG9nIHRvIGRlYnVnIHRoaXMgY29kZSwgeW91IHdpbGwgaGF2ZSBhIGJhZCB0aW1lLgogCi1z
dHJ1Y3QgV29yZExvY2tCYXNlIHsKK2NsYXNzIFdvcmRMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXb3JkTG9jayk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgV29yZExvY2soKSA9IGRlZmF1bHQ7CisKICAgICB2b2lkIGxvY2soKQogICAgIHsKICAg
ICAgICAgaWYgKExJS0VMWShtX3dvcmQuY29tcGFyZUV4Y2hhbmdlV2VhaygwLCBpc0xvY2tlZEJp
dCwgc3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSkpKSB7CkBAIC05MywyMCArOTgsMTEgQEAgc3Ry
dWN0IFdvcmRMb2NrQmFzZSB7CiAgICAgICAgIHJldHVybiAhbV93b3JkLmxvYWQoKTsKICAgICB9
CiAKLSAgICBBdG9taWM8dWludHB0cl90PiBtX3dvcmQ7Ci19OwotCi1jbGFzcyBXb3JkTG9jayA6
IHB1YmxpYyBXb3JkTG9ja0Jhc2UgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmRMb2Nr
KTsKLXB1YmxpYzoKLSAgICBXb3JkTG9jaygpCi0gICAgewotICAgICAgICBtX3dvcmQuc3RvcmUo
MCwgc3RkOjptZW1vcnlfb3JkZXJfcmVsYXhlZCk7Ci0gICAgfQorICAgIEF0b21pYzx1aW50cHRy
X3Q+IG1fd29yZCB7IDAgfTsKIH07CiAKLXR5cGVkZWYgV29yZExvY2tCYXNlIFN0YXRpY1dvcmRM
b2NrOwotdHlwZWRlZiBMb2NrZXI8V29yZExvY2tCYXNlPiBXb3JkTG9ja0hvbGRlcjsKK3VzaW5n
IFN0YXRpY1dvcmRMb2NrID0gV29yZExvY2s7Cit1c2luZyBXb3JkTG9ja0hvbGRlciA9IExvY2tl
cjxXb3JkTG9jaz47CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9Xb3JrUXVldWUuY3BwIGIvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcApvbGQg
bW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL011dGV4LmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL011dGV4LmgKaW5kZXggZjBl
NTk5ODJiZDI5YWQ0YzlkZmVhYTM4OTczNzIyMDY3MzZlOGFjYy4uNzMxZGJkNWY1MmMyZDczMTE2
OGM5Njk2OTk5NDljOTBmNzQ1NmY4YyAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9NdXRleC5oCisrKyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTXV0ZXguaApAQCAtMzIsMTYg
KzMyLDcgQEAKIAogbmFtZXNwYWNlIGJtYWxsb2MgewogCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBT
dGF0aWNNdXRleCB7Ci1wdWJsaWM6Ci0gICAgTXV0ZXgoKTsKLX07Ci0KLWlubGluZSBNdXRleDo6
TXV0ZXgoKQotewotICAgIC8vIFN0YXRpY011dGV4IHJlcXVpcmVzIGV4cGxpY2l0IGluaXRpYWxp
emF0aW9uIHdoZW4gdXNlZCBpbiBub24tc3RhdGljIHN0b3JhZ2UuCi0gICAgaW5pdCgpOwotfQor
dXNpbmcgTXV0ZXggPSBTdGF0aWNNdXRleDsKIAogfSAvLyBuYW1lc3BhY2UgYm1hbGxvYwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4LmggYi9Tb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4LmgKaW5kZXggNDU5OGU2ZWRmNjZhNTEwZDkxNjI4
OTRkYjgwY2M5ZGRmMDFjMmI3MS4uZjM4YWM1MmViMmY4ZWU3ZjljMGNiMDdhNGQ4ODg2Y2NiZmRk
YzcwZiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9TdGF0aWNNdXRleC5oCisr
KyBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaApAQCAtMzMsMTcgKzMzLDEy
IEBACiAKIC8vIEEgZmFzdCByZXBsYWNlbWVudCBmb3Igc3RkOjptdXRleCwgZm9yIHVzZSBpbiBz
dGF0aWMgc3RvcmFnZS4KIAotLy8gVXNlIFN0YXRpY011dGV4IGluIHN0YXRpYyBzdG9yYWdlLCB3
aGVyZSBnbG9iYWwgY29uc3RydWN0b3JzIGFuZCBleGl0LXRpbWUKLS8vIGRlc3RydWN0b3JzIGFy
ZSBwcm9oaWJpdGVkLCBidXQgYWxsIG1lbW9yeSBpcyB6ZXJvLWluaXRpYWxpemVkIGF1dG9tYXRp
Y2FsbHkuCi0KIG5hbWVzcGFjZSBibWFsbG9jIHsKIAogY2xhc3MgU3RhdGljTXV0ZXggewotcHJv
dGVjdGVkOgotICAgIC8vIFN1YmNsYXNzZXMgdGhhdCBzdXBwb3J0IG5vbi1zdGF0aWMgc3RvcmFn
ZSBtdXN0IHVzZSBleHBsaWNpdCBpbml0aWFsaXphdGlvbi4KLSAgICB2b2lkIGluaXQoKTsKLQog
cHVibGljOgorICAgIFN0YXRpY011dGV4KCkgPSBkZWZhdWx0OworCiAgICAgdm9pZCBsb2NrKCk7
CiAgICAgYm9vbCB0cnlfbG9jaygpOwogICAgIHZvaWQgdW5sb2NrKCk7CkBAIC01MSw4ICs0Niwx
MyBAQCBjbGFzcyBTdGF0aWNNdXRleCB7CiBwcml2YXRlOgogICAgIEJFWFBPUlQgdm9pZCBsb2Nr
U2xvd0Nhc2UoKTsKIAotICAgIHN0ZDo6YXRvbWljX2ZsYWcgbV9mbGFnOwotICAgIHN0ZDo6YXRv
bWljX2ZsYWcgbV9pc1NwaW5uaW5nOworICAgIC8vIFdlIGNhcmVmdWxseSBzZWxlY3QgYD0gQVRP
TUlDX0ZMQUdfSU5JVGAgZm9ybSBpbnN0ZWFkIG9mIGB7IEFUT01JQ19GTEFHX0lOSVQgfWAuCisg
ICAgLy8gVGhpcyBpcyBiZWNhdXNlIEFUT01JQ19GTEFHX0lOSVQgc2hvdWxkIGJlIHVzZWQgaW4g
Y29weSBpbml0aWFsaXphdGlvbiBjb250ZXh0LgorICAgIC8vIGh0dHA6Ly9lbi5jcHByZWZlcmVu
Y2UuY29tL3cvY3BwL2F0b21pYy9BVE9NSUNfRkxBR19JTklUCisgICAgLy8gaHR0cHM6Ly9zdGFj
a292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjQ0MzczOTYvc3RkYXRvbWljLWZsYWctYXMtbWVtYmVy
LXZhcmlhYmxlCisgICAgLy8gaHR0cHM6Ly93ZzIxLmNtZWVydy5uZXQvbHdnL2lzc3VlMjE1OQor
ICAgIHN0ZDo6YXRvbWljX2ZsYWcgbV9mbGFnID0gQVRPTUlDX0ZMQUdfSU5JVDsKKyAgICBzdGQ6
OmF0b21pY19mbGFnIG1faXNTcGlubmluZyA9IEFUT01JQ19GTEFHX0lOSVQ7CiB9OwogCiBzdGF0
aWMgaW5saW5lIHZvaWQgc2xlZXAoCkBAIC03NiwxMiArNzYsNiBAQCBzdGF0aWMgaW5saW5lIHZv
aWQgd2FpdFVudGlsRmFsc2UoCiAgICAgfQogfQogCi1pbmxpbmUgdm9pZCBTdGF0aWNNdXRleDo6
aW5pdCgpCi17Ci0gICAgbV9mbGFnLmNsZWFyKCk7Ci0gICAgbV9pc1NwaW5uaW5nLmNsZWFyKCk7
Ci19Ci0KIGlubGluZSBib29sIFN0YXRpY011dGV4Ojp0cnlfbG9jaygpCiB7CiAgICAgcmV0dXJu
ICFtX2ZsYWcudGVzdF9hbmRfc2V0KHN0ZDo6bWVtb3J5X29yZGVyX2FjcXVpcmUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328623</attachid>
            <date>2017-12-06 14:00:27 -0800</date>
            <delta_ts>2017-12-06 19:52:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180495-20171207070026.patch</filename>
            <type>text/plain</type>
            <size>16062</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDc4YzhkMDExNDc2NDFhZjg2ZmMxNTk4
ZWU2ZWY1NmUwZGQ5MTJiYzcuLmM0ODNkY2UwMmY0OTZlNjMxODYyMWIxMjIwOTExYjE4MWE5MDQ4
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsODcgQEAKKzIwMTctMTItMDYgIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIFhYWExvY2tCYXNlIHNp
bmNlIGNvbnN0ZXhwciBjb25zdHJ1Y3RvciBjYW4gaW5pdGlhbGl6ZSBzdGF0aWMgdmFyaWFibGVz
IHdpdGhvdXQgY2FsbGluZyBnbG9iYWwgY29uc3RydWN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA0OTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWZXJ5IG5pY2UgZmVhdHVyZSBvZiBDKysxMSBp
cyB0aGF0IGNvbnN0ZXhwciBjb25zdHJ1Y3RvciBjYW4gaW5pdGlhbGl6ZSBzdGF0aWMgZ2xvYmFs
IHZhcmlhYmxlcworICAgICAgICB3aXRob3V0IGNhbGxpbmcgZ2xvYmFsIGNvbnN0cnVjdG9ycy4g
V2UgZG8gbm90IG5lZWQgdG8gaGF2ZSBYWFhMb2NrQmFzZSB3aXRoIGRlcml2ZWQgWFhYTG9jawor
ICAgICAgICBjbGFzcyBzaW5jZSBTdGF0aWNYWFhMb2NrIGNhbiBoYXZlIGNvbnN0cnVjdG9ycyBh
cyBsb25nIGFzIGl0IGlzIGNvbnN0ZXhwci4KKyAgICAgICAgV2UgcmVtb3ZlIGJ1bmNoIG9mIHRo
ZXNlIGNsYXNzZXMsIGFuZCBzZXQgYFhYWExvY2soKSA9IGRlZmF1bHQ7YCBleHBsaWNpdGx5IGZv
ciByZWFkYWJpbGl0eS4KKyAgICAgICAgQysrMTEncyBkZWZhdWx0IGNvbnN0cnVjdG9yIGlzIGNv
bnN0ZXhwciBhcyBsb25nIGFzIGl0cyBtZW1iZXIncyBkZWZhdWx0IGNvbnN0cnVjdG9yIC8gZGVm
YXVsdAorICAgICAgICBpbml0aWFsaXplciBpcyBjb25zdGV4cHIuCisKKyAgICAgICAgKiB3dGYv
Q29uZGl0aW9uLmg6CisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OmNvbnN0cnVjdCk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbCk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRGb3IpOiBEZWxldGVkLgorICAgICAg
ICAoV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29u
ZGl0aW9uQmFzZTo6bm90aWZ5T25lKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29uZGl0aW9u
QmFzZTo6bm90aWZ5QWxsKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6Q29uZGl0aW9uOjpDb25k
aXRpb24pOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9Db3VudGluZ0xvY2suaDoKKyAgICAgICAg
KFdURjo6Q291bnRpbmdMb2NrOjpDb3VudGluZ0xvY2spOiBEZWxldGVkLgorICAgICAgICAoV1RG
OjpDb3VudGluZ0xvY2s6On5Db3VudGluZ0xvY2spOiBEZWxldGVkLgorICAgICAgICAqIHd0Zi9M
b2NrLmNwcDoKKyAgICAgICAgKFdURjo6TG9jazo6bG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpM
b2NrOjp1bmxvY2tTbG93KToKKyAgICAgICAgKFdURjo6TG9jazo6dW5sb2NrRmFpcmx5U2xvdyk6
CisgICAgICAgIChXVEY6OkxvY2s6OnNhZmVwb2ludFNsb3cpOgorICAgICAgICAoV1RGOjpMb2Nr
QmFzZTo6bG9ja1Nsb3cpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6dW5sb2Nr
U2xvdyk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp1bmxvY2tGYWlybHlTbG93
KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TG9ja0Jhc2U6OnNhZmVwb2ludFNsb3cpOiBEZWxl
dGVkLgorICAgICAgICAqIHd0Zi9Mb2NrLmg6CisgICAgICAgIChXVEY6OkxvY2tCYXNlOjpjb25z
dHJ1Y3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6bG9jayk6IERlbGV0ZWQu
CisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp0cnlMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6TG9ja0Jhc2U6OnRyeV9sb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6TG9ja0Jhc2U6
OnVubG9jayk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OkxvY2tCYXNlOjp1bmxvY2tGYWlybHkp
OiBEZWxldGVkLgorICAgICAgICAoV1RGOjpMb2NrQmFzZTo6c2FmZXBvaW50KTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6TG9ja0Jhc2U6OmlzSGVsZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OkxvY2tCYXNlOjppc0xvY2tlZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
OkxvY2tCYXNlOjppc0Z1bGx5UmVzZXQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpM
b2NrOjpMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvUmVhZFdyaXRlTG9jay5jcHA6Cisg
ICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OnJlYWRMb2NrKToKKyAgICAgICAgKFdURjo6UmVh
ZFdyaXRlTG9jazo6cmVhZFVubG9jayk6CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6Ondy
aXRlTG9jayk6CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OndyaXRlVW5sb2NrKToKKyAg
ICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OmNvbnN0cnVjdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkTG9jayk6IERlbGV0ZWQuCisgICAgICAg
IChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkVW5sb2NrKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlTG9jayk6IERlbGV0ZWQuCisgICAgICAgIChX
VEY6OlJlYWRXcml0ZUxvY2tCYXNlOjp3cml0ZVVubG9jayk6IERlbGV0ZWQuCisgICAgICAgICog
d3RmL1JlYWRXcml0ZUxvY2suaDoKKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9jazo6cmVhZCk6
CisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2s6OndyaXRlKToKKyAgICAgICAgKFdURjo6UmVh
ZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjp0cnlMb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdU
Rjo6UmVhZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjpsb2NrKTogRGVsZXRlZC4KKyAgICAgICAg
KFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OlJlYWRMb2NrOjp1bmxvY2spOiBEZWxldGVkLgorICAg
ICAgICAoV1RGOjpSZWFkV3JpdGVMb2NrQmFzZTo6V3JpdGVMb2NrOjp0cnlMb2NrKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OldyaXRlTG9jazo6bG9jayk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpXcml0ZUxvY2s6OnVubG9j
ayk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlKTogRGVsZXRlZC4K
KyAgICAgICAgKFdURjo6UmVhZFdyaXRlTG9jazo6UmVhZFdyaXRlTG9jayk6IERlbGV0ZWQuCisg
ICAgICAgICogd3RmL1JlY3Vyc2l2ZUxvY2tBZGFwdGVyLmg6CisgICAgICAgIChXVEY6OlJlY3Vy
c2l2ZUxvY2tBZGFwdGVyOjpSZWN1cnNpdmVMb2NrQWRhcHRlcik6IERlbGV0ZWQuCisgICAgICAg
ICogd3RmL1dvcmRMb2NrLmNwcDoKKyAgICAgICAgKFdURjo6V29yZExvY2s6OmxvY2tTbG93KToK
KyAgICAgICAgKFdURjo6V29yZExvY2s6OnVubG9ja1Nsb3cpOgorICAgICAgICAoV1RGOjpXb3Jk
TG9ja0Jhc2U6OmxvY2tTbG93KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6V29yZExvY2tCYXNl
Ojp1bmxvY2tTbG93KTogRGVsZXRlZC4KKyAgICAgICAgKiB3dGYvV29yZExvY2suaDoKKyAgICAg
ICAgKFdURjo6V29yZExvY2tCYXNlOjpsb2NrKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6V29y
ZExvY2tCYXNlOjp1bmxvY2spOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpXb3JkTG9ja0Jhc2U6
OmlzSGVsZCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OldvcmRMb2NrQmFzZTo6aXNM
b2NrZWQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpXb3JkTG9ja0Jhc2U6OmlzRnVs
bHlSZXNldCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OldvcmRMb2NrOjpXb3JkTG9j
ayk6IERlbGV0ZWQuCisgICAgICAgICogd3RmL1dvcmtRdWV1ZS5jcHA6CisKIDIwMTctMTItMDUg
IFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgogCiAgICAgICAgIFN3aXRj
aCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvQ29uZGl0aW9uLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaAppbmRleCBm
Y2YzMmM4NGQ0NTRiMDYyMDJhYTM4MmEwMGI1MmJjZGYwNjUyNDJkLi5mNTMzNjg5NWQ0OGEzZmM5
NmE2OGI0ZTA3ODNlZTUwZTY4YTliYzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Db25k
aXRpb24uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaApAQCAtNDEsMjAgKzQxLDE2
IEBAIG5hbWVzcGFjZSBXVEYgewogLy8gb25lIGJ5dGUgb2YgbWVtb3J5LiBub3RpZnlPbmUoKSBh
bmQgbm90aWZ5QWxsKCkgcmVxdWlyZSBqdXN0IGEgbG9hZCBhbmQgYnJhbmNoIGZvciB0aGUgZmFz
dAogLy8gY2FzZSB3aGVyZSBubyB0aHJlYWQgaXMgd2FpdGluZy4gVGhpcyBjb25kaXRpb24gdmFy
aWFibGUsIHdoZW4gdXNlZCB3aXRoIFdURjo6TG9jaywgY2FuCiAvLyBvdXRwZXJmb3JtIGEgc3lz
dGVtIGNvbmRpdGlvbiB2YXJpYWJsZSBhbmQgbG9jayBieSB1cCB0byA1OHguCi0KLS8vIFRoaXMg
aXMgYSBzdHJ1Y3Qgd2l0aG91dCBhIGNvbnN0cnVjdG9yIG9yIGRlc3RydWN0b3Igc28gdGhhdCBp
dCBjYW4gYmUgc3RhdGljYWxseSBpbml0aWFsaXplZC4KLS8vIFVzZSBMb2NrIGluIGluc3RhbmNl
IHZhcmlhYmxlcy4KLXN0cnVjdCBDb25kaXRpb25CYXNlIHsKK2NsYXNzIENvbmRpdGlvbiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uZGl0aW9uKTsKK3B1YmxpYzoKICAgICAvLyBDb25k
aXRpb24gd2lsbCBhY2NlcHQgYW55IGtpbmQgb2YgdGltZSBhbmQgY29udmVydCBpdCBpbnRlcm5h
bGx5LCBidXQgdGhpcyB0eXBlZGVmIHRlbGxzCiAgICAgLy8geW91IHdoYXQga2luZCBvZiB0aW1l
IENvbmRpdGlvbiB3b3VsZCBiZSBhYmxlIHRvIHVzZSB3aXRob3V0IGNvbnZlcnNpb25zLiBIb3dl
dmVyLCBpZiB5b3UKICAgICAvLyBhcmUgdW5saWtlbHkgdG8gYmUgYWZmZWN0ZWQgYnkgdGhlIGNv
c3Qgb2YgY29udmVyc2lvbnMsIGl0IGlzIGJldHRlciB0byB1c2UgTW9ub3RvbmljVGltZS4KLSAg
ICB0eXBlZGVmIFBhcmtpbmdMb3Q6OlRpbWUgVGltZTsKLSAgICAKLSAgICB2b2lkIGNvbnN0cnVj
dCgpCi0gICAgewotICAgICAgICBtX2hhc1dhaXRlcnMuc3RvcmUoZmFsc2UpOwotICAgIH0KLSAg
ICAKKyAgICB1c2luZyBUaW1lID0gUGFya2luZ0xvdDo6VGltZTsKKworICAgIENvbmRpdGlvbigp
ID0gZGVmYXVsdDsKKwogICAgIC8vIFdhaXQgb24gYSBwYXJraW5nIHF1ZXVlIHdoaWxlIHJlbGVh
c2luZyB0aGUgZ2l2ZW4gbG9jay4gSXQgd2lsbCB1bmxvY2sgdGhlIGxvY2sganVzdCBiZWZvcmUK
ICAgICAvLyBwYXJraW5nLCBhbmQgcmVsb2NrIGl0IHVwb24gd2FrZXVwLiBSZXR1cm5zIHRydWUg
aWYgd2Ugd29rZSB1cCBkdWUgdG8gc29tZSBjYWxsIHRvCiAgICAgLy8gbm90aWZ5T25lKCkgb3Ig
bm90aWZ5QWxsKCkuIFJldHVybnMgZmFsc2UgaWYgd2Ugd29rZSB1cCBkdWUgdG8gYSB0aW1lb3V0
LiBOb3RlIHRoYXQgdGhpcyBmb3JtCkBAIC0xNzQsMTkgKzE3MCwxMCBAQCBzdHJ1Y3QgQ29uZGl0
aW9uQmFzZSB7CiAgICAgfQogICAgIAogcHJpdmF0ZToKLSAgICBBdG9taWM8Ym9vbD4gbV9oYXNX
YWl0ZXJzOwotfTsKLQotY2xhc3MgQ29uZGl0aW9uIDogcHVibGljIENvbmRpdGlvbkJhc2Ugewot
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbmRpdGlvbik7Ci1wdWJsaWM6Ci0gICAgQ29uZGl0
aW9uKCkKLSAgICB7Ci0gICAgICAgIGNvbnN0cnVjdCgpOwotICAgIH0KKyAgICBBdG9taWM8Ym9v
bD4gbV9oYXNXYWl0ZXJzIHsgZmFsc2UgfTsKIH07CiAKLXR5cGVkZWYgQ29uZGl0aW9uQmFzZSBT
dGF0aWNDb25kaXRpb247Cit1c2luZyBTdGF0aWNDb25kaXRpb24gPSBDb25kaXRpb247CiAKIH0g
Ly8gbmFtZXNwYWNlIFdURgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Db3VudGluZ0xv
Y2suaCBiL1NvdXJjZS9XVEYvd3RmL0NvdW50aW5nTG9jay5oCmluZGV4IGQwZTgzNTNlNGY1NWNh
ZDE4MTBiZDJhYTQ0NGYzZDYwZjhiZGZhYTUuLjBjNDcxYjk2Mzc5MGEyOWNiYmY4YzZlNmEzYzJh
YTMyZjgxZDg2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NvdW50aW5nTG9jay5oCisr
KyBiL1NvdXJjZS9XVEYvd3RmL0NvdW50aW5nTG9jay5oCkBAIC01NSw2ICs1NSw5IEBAIG5hbWVz
cGFjZSBXVEYgewogLy8gVGhlIGxhdHRlciBpcyBpbXBvcnRhbnQgZm9yIHVzIGJlY2F1c2Ugc29t
ZSBHQyBwYXRocyBhcmUga25vd24gdG8gYmUgc2Vuc2l0aXZlIHRvIGZlbmNlcyBvbiBBUk0uCiAK
IGNsYXNzIENvdW50aW5nTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ291bnRpbmdM
b2NrKTsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKwogICAgIHR5cGVkZWYgdW5zaWdu
ZWQgTG9ja1R5cGU7CiAgICAgCiAgICAgc3RhdGljIGNvbnN0ZXhwciBMb2NrVHlwZSBpc0hlbGRC
aXQgPSAxOwpAQCAtNzcsMTQgKzgwLDcgQEAgY2xhc3MgQ291bnRpbmdMb2NrIHsKICAgICB0eXBl
ZGVmIExvY2tBbGdvcml0aG08TG9ja1R5cGUsIGlzSGVsZEJpdCwgaGFzUGFya2VkQml0LCBMb2Nr
SG9va3M+IEV4Y2x1c2l2ZUFsZ29yaXRobTsKICAgICAKIHB1YmxpYzoKLSAgICBDb3VudGluZ0xv
Y2soKQotICAgIHsKLSAgICAgICAgbV93b3JkLnN0b3JlUmVsYXhlZCgwKTsKLSAgICB9Ci0gICAg
Ci0gICAgfkNvdW50aW5nTG9jaygpCi0gICAgewotICAgIH0KKyAgICBDb3VudGluZ0xvY2soKSA9
IGRlZmF1bHQ7CiAgICAgCiAgICAgYm9vbCB0cnlMb2NrKCkKICAgICB7CkBAIC0yNjUsNyArMjYx
LDcgQEAgY2xhc3MgQ291bnRpbmdMb2NrIHsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
CiAgICAgCi0gICAgQXRvbWljPExvY2tUeXBlPiBtX3dvcmQ7CisgICAgQXRvbWljPExvY2tUeXBl
PiBtX3dvcmQgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0xvY2suY3BwIGIvU291cmNlL1dURi93dGYvTG9jay5jcHAKaW5kZXggZTg3
N2ZhMDE1Mzc3NzIwMjM5MTEyMGFjYTIyZmEwMDZkYTUxOWVkNS4uN2ZmMTAwNTY4YzFlOTFiNmMy
ZDUyZGM1MTBiMjk0MWQ3YzRjMDY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTG9jay5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvTG9jay5jcHAKQEAgLTMzLDI0ICszMywyNCBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogc3RhdGljIGNvbnN0ZXhwciBib29sIHByb2ZpbGVMb2NrQ29udGVudGlv
biA9IGZhbHNlOwogCi12b2lkIExvY2tCYXNlOjpsb2NrU2xvdygpCit2b2lkIExvY2s6OmxvY2tT
bG93KCkKIHsKICAgICBpZiAocHJvZmlsZUxvY2tDb250ZW50aW9uKQogICAgICAgICBTVEFDS19T
SE9UX1BST0ZJTEUoNCwgMiwgNSk7CiAgICAgRGVmYXVsdExvY2tBbGdvcml0aG06OmxvY2tTbG93
KG1fYnl0ZSk7CiB9CiAKLXZvaWQgTG9ja0Jhc2U6OnVubG9ja1Nsb3coKQordm9pZCBMb2NrOjp1
bmxvY2tTbG93KCkKIHsKICAgICBEZWZhdWx0TG9ja0FsZ29yaXRobTo6dW5sb2NrU2xvdyhtX2J5
dGUsIERlZmF1bHRMb2NrQWxnb3JpdGhtOjpVbmZhaXIpOwogfQogCi12b2lkIExvY2tCYXNlOjp1
bmxvY2tGYWlybHlTbG93KCkKK3ZvaWQgTG9jazo6dW5sb2NrRmFpcmx5U2xvdygpCiB7CiAgICAg
RGVmYXVsdExvY2tBbGdvcml0aG06OnVubG9ja1Nsb3cobV9ieXRlLCBEZWZhdWx0TG9ja0FsZ29y
aXRobTo6RmFpcik7CiB9CiAKLXZvaWQgTG9ja0Jhc2U6OnNhZmVwb2ludFNsb3coKQordm9pZCBM
b2NrOjpzYWZlcG9pbnRTbG93KCkKIHsKICAgICBEZWZhdWx0TG9ja0FsZ29yaXRobTo6c2FmZXBv
aW50U2xvdyhtX2J5dGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTG9jay5oIGIv
U291cmNlL1dURi93dGYvTG9jay5oCmluZGV4IDk1YTBiYTYxNmUwMGQ0YzAwM2JlMjM1ZjA0NDkw
MzMwMmY2ZTM2ODIuLjYzMWRlOTZjMDljMTE0OTY2NjM4YTExODIxNmRkMjU2NzgzODlkYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0xvY2suaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2Nr
LmgKQEAgLTQ4LDE1ICs0OCwxMiBAQCB0eXBlZGVmIExvY2tBbGdvcml0aG08dWludDhfdCwgMSwg
Mj4gRGVmYXVsdExvY2tBbGdvcml0aG07CiAvLyBhdCB3b3JzdCBvbmUgY2FsbCB0byB1bmxvY2so
KSBwZXIgbWlsbGlzZWNvbmQgd2lsbCBkbyBhIGRpcmVjdCBoYW5kLW9mZiB0byB0aGUgdGhyZWFk
IHRoYXQgaXMgYXQKIC8vIHRoZSBoZWFkIG9mIHRoZSBxdWV1ZS4gV2hlbiB0aGVyZSBhcmUgY29s
bGlzaW9ucywgZWFjaCBjb2xsaXNpb24gaW5jcmVhc2VzIHRoZSBmYWlyIHVubG9jayBkZWxheQog
Ly8gYnkgb25lIG1pbGxpc2Vjb25kIGluIHRoZSB3b3JzdCBjYXNlLgorY2xhc3MgTG9jayB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jayk7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgTG9jaygpID0gZGVmYXVsdDsKIAotLy8gVGhpcyBpcyBhIHN0cnVj
dCB3aXRob3V0IGEgY29uc3RydWN0b3Igb3IgZGVzdHJ1Y3RvciBzbyB0aGF0IGl0IGNhbiBiZSBz
dGF0aWNhbGx5IGluaXRpYWxpemVkLgotLy8gVXNlIExvY2sgaW4gaW5zdGFuY2UgdmFyaWFibGVz
Lgotc3RydWN0IExvY2tCYXNlIHsKLSAgICB2b2lkIGNvbnN0cnVjdCgpCi0gICAgewotICAgICAg
ICBtX2J5dGUuc3RvcmUoMCwgc3RkOjptZW1vcnlfb3JkZXJfcmVsYXhlZCk7Ci0gICAgfQotICAg
IAogICAgIHZvaWQgbG9jaygpCiAgICAgewogICAgICAgICBpZiAoVU5MSUtFTFkoIURlZmF1bHRM
b2NrQWxnb3JpdGhtOjpsb2NrRmFzdEFzc3VtaW5nWmVybyhtX2J5dGUpKSkKQEAgLTEzMiwyMSAr
MTI5LDExIEBAIHN0cnVjdCBMb2NrQmFzZSB7CiAgICAgICAgIHJldHVybiAhbV9ieXRlLmxvYWQo
KTsKICAgICB9CiAKLSAgICBBdG9taWM8dWludDhfdD4gbV9ieXRlOwotfTsKLQotY2xhc3MgTG9j
ayA6IHB1YmxpYyBMb2NrQmFzZSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jayk7Ci0g
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTG9jaygpCi0gICAgewot
ICAgICAgICBjb25zdHJ1Y3QoKTsKLSAgICB9CisgICAgQXRvbWljPHVpbnQ4X3Q+IG1fYnl0ZSB7
IDAgfTsKIH07CiAKLXR5cGVkZWYgTG9ja0Jhc2UgU3RhdGljTG9jazsKLXR5cGVkZWYgTG9ja2Vy
PExvY2tCYXNlPiBMb2NrSG9sZGVyOwordXNpbmcgU3RhdGljTG9jayA9IExvY2s7Cit1c2luZyBM
b2NrSG9sZGVyID0gTG9ja2VyPExvY2s+OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9S
ZWFkV3JpdGVMb2NrLmNwcAppbmRleCA0NjIyNzY1ZjU3NWQ5NjE1OGI4ZDQ4M2YxYmIyYWIzNDA1
ZWE4MTAzLi5lMGQ3OTgyN2U1ZDFkZDNkM2FiNTU3ZTNlZGExMjFhNTE4MzJjYjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWFkV3JpdGVMb2NrLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9SZWFkV3JpdGVMb2NrLmNwcApAQCAtMzAsMTYgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdURiB7
CiAKLXZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OmNvbnN0cnVjdCgpCi17Ci0gICAgbV9sb2NrLmNv
bnN0cnVjdCgpOwotICAgIG1fY29uZC5jb25zdHJ1Y3QoKTsKLSAgICBtX2lzV3JpdGVMb2NrZWQg
PSBmYWxzZTsKLSAgICBtX251bVJlYWRlcnMgPSAwOwotICAgIG1fbnVtV2FpdGluZ1dyaXRlcnMg
PSAwOwotfQotCi12b2lkIFJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkTG9jaygpCit2b2lkIFJlYWRX
cml0ZUxvY2s6OnJlYWRMb2NrKCkKIHsKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fbG9j
ayk7CiAgICAgd2hpbGUgKG1faXNXcml0ZUxvY2tlZCB8fCBtX251bVdhaXRpbmdXcml0ZXJzKQpA
QCAtNDcsNyArMzgsNyBAQCB2b2lkIFJlYWRXcml0ZUxvY2tCYXNlOjpyZWFkTG9jaygpCiAgICAg
bV9udW1SZWFkZXJzKys7CiB9CiAKLXZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OnJlYWRVbmxvY2so
KQordm9pZCBSZWFkV3JpdGVMb2NrOjpyZWFkVW5sb2NrKCkKIHsKICAgICBhdXRvIGxvY2tlciA9
IGhvbGRMb2NrKG1fbG9jayk7CiAgICAgbV9udW1SZWFkZXJzLS07CkBAIC01NSw3ICs0Niw3IEBA
IHZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OnJlYWRVbmxvY2soKQogICAgICAgICBtX2NvbmQubm90
aWZ5QWxsKCk7CiB9CiAKLXZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlTG9jaygpCit2b2lk
IFJlYWRXcml0ZUxvY2s6OndyaXRlTG9jaygpCiB7CiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9j
ayhtX2xvY2spOwogICAgIHdoaWxlIChtX2lzV3JpdGVMb2NrZWQgfHwgbV9udW1SZWFkZXJzKSB7
CkBAIC02Niw3ICs1Nyw3IEBAIHZvaWQgUmVhZFdyaXRlTG9ja0Jhc2U6OndyaXRlTG9jaygpCiAg
ICAgbV9pc1dyaXRlTG9ja2VkID0gdHJ1ZTsKIH0KIAotdm9pZCBSZWFkV3JpdGVMb2NrQmFzZTo6
d3JpdGVVbmxvY2soKQordm9pZCBSZWFkV3JpdGVMb2NrOjp3cml0ZVVubG9jaygpCiB7CiAgICAg
YXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwogICAgIG1faXNXcml0ZUxvY2tlZCA9IGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVhZFdyaXRlTG9jay5oIGIvU291cmNl
L1dURi93dGYvUmVhZFdyaXRlTG9jay5oCmluZGV4IDk1M2M0ZjI3YTUxMWY0ZWI1ODNiMDZlMTdi
ZDI1NjZhOGI5OTZjMzkuLjY3ZjMwOTQwMmY0YzBkYzg3M2JjNzYxZmFjZTg0MDI5N2ViZmNjYzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlYWRXcml0ZUxvY2suaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9SZWFkV3JpdGVMb2NrLmgKQEAgLTM1LDkgKzM1LDEyIEBAIG5hbWVzcGFjZSBXVEYg
ewogLy8gcmVhZCgpLnVubG9jaygpIGlmIHRoZSB3b3JrIGluc2lkZSB0aGUgY3JpdGljYWwgc2Vj
dGlvbiBpcyBzaG9ydC4gVGhlIG1vcmUgY29yZXMgcGFydGljaXBhdGUgaW4gcmVhZGluZywKIC8v
IHRoZSBsb25nZXIgdGhlIHJlYWQgY3JpdGljYWwgc2VjdGlvbiBoYXMgdG8gYmUgZm9yIHRoaXMg
bG9ja2luZyBzY2hlbWUgdG8gYmUgcHJvZml0YWJsZS4KIAotc3RydWN0IFJlYWRXcml0ZUxvY2tC
YXNlIHsKLSAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBjb25zdHJ1Y3QoKTsKLSAgICAKK2Ns
YXNzIFJlYWRXcml0ZUxvY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWRXcml0ZUxv
Y2spOworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFJlYWRXcml0
ZUxvY2soKSA9IGRlZmF1bHQ7CisKICAgICAvLyBJdCdzIGVhc2llc3QgdG8gcmVhZCBsb2NrIGxp
a2UgdGhpczoKICAgICAvLyAKICAgICAvLyAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhyd0xv
Y2sucmVhZCgpKTsKQEAgLTU4LDQwICs2MSwzMSBAQCBzdHJ1Y3QgUmVhZFdyaXRlTG9ja0Jhc2Ug
ewogICAgIFdyaXRlTG9jayYgd3JpdGUoKTsKIAogcHJpdmF0ZToKLSAgICAvLyBUaGVzZSBmaWVs
ZHMgbXVzdCB3b3JrIHdoZW4gemVyby1maWxsZWQsIHNvIHRoYXQgU3RhdGljUmVhZFdyaXRlTG9j
ayB3b3Jrcy4KLSAgICBMb2NrQmFzZSBtX2xvY2s7Ci0gICAgQ29uZGl0aW9uQmFzZSBtX2NvbmQ7
Ci0gICAgYm9vbCBtX2lzV3JpdGVMb2NrZWQ7Ci0gICAgdW5zaWduZWQgbV9udW1SZWFkZXJzOwot
ICAgIHVuc2lnbmVkIG1fbnVtV2FpdGluZ1dyaXRlcnM7CisgICAgTG9jayBtX2xvY2s7CisgICAg
Q29uZGl0aW9uIG1fY29uZDsKKyAgICBib29sIG1faXNXcml0ZUxvY2tlZCB7IGZhbHNlIH07Cisg
ICAgdW5zaWduZWQgbV9udW1SZWFkZXJzIHsgMCB9OworICAgIHVuc2lnbmVkIG1fbnVtV2FpdGlu
Z1dyaXRlcnMgeyAwIH07CiB9OwogCi1jbGFzcyBSZWFkV3JpdGVMb2NrQmFzZTo6UmVhZExvY2sg
OiBwdWJsaWMgUmVhZFdyaXRlTG9ja0Jhc2UgeworY2xhc3MgUmVhZFdyaXRlTG9jazo6UmVhZExv
Y2sgOiBwdWJsaWMgUmVhZFdyaXRlTG9jayB7CiBwdWJsaWM6CiAgICAgYm9vbCB0cnlMb2NrKCkg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2b2lkIGxvY2soKSB7IHJlYWRMb2NrKCk7IH0KICAgICB2
b2lkIHVubG9jaygpIHsgcmVhZFVubG9jaygpOyB9CiB9OwogCi1jbGFzcyBSZWFkV3JpdGVMb2Nr
QmFzZTo6V3JpdGVMb2NrIDogcHVibGljIFJlYWRXcml0ZUxvY2tCYXNlIHsKK2NsYXNzIFJlYWRX
cml0ZUxvY2s6OldyaXRlTG9jayA6IHB1YmxpYyBSZWFkV3JpdGVMb2NrIHsKIHB1YmxpYzoKICAg
ICBib29sIHRyeUxvY2soKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQgbG9jaygpIHsgd3Jp
dGVMb2NrKCk7IH0KICAgICB2b2lkIHVubG9jaygpIHsgd3JpdGVVbmxvY2soKTsgfQogfTsKICAg
ICAKLWlubGluZSBSZWFkV3JpdGVMb2NrQmFzZTo6UmVhZExvY2smIFJlYWRXcml0ZUxvY2tCYXNl
OjpyZWFkKCkgeyByZXR1cm4gKnN0YXRpY19jYXN0PFJlYWRMb2NrKj4odGhpcyk7IH0KLWlubGlu
ZSBSZWFkV3JpdGVMb2NrQmFzZTo6V3JpdGVMb2NrJiBSZWFkV3JpdGVMb2NrQmFzZTo6d3JpdGUo
KSB7IHJldHVybiAqc3RhdGljX2Nhc3Q8V3JpdGVMb2NrKj4odGhpcyk7IH0KLQotY2xhc3MgUmVh
ZFdyaXRlTG9jayA6IHB1YmxpYyBSZWFkV3JpdGVMb2NrQmFzZSB7Ci1wdWJsaWM6Ci0gICAgUmVh
ZFdyaXRlTG9jaygpCi0gICAgewotICAgICAgICBjb25zdHJ1Y3QoKTsKLSAgICB9Ci19OworaW5s
aW5lIFJlYWRXcml0ZUxvY2s6OlJlYWRMb2NrJiBSZWFkV3JpdGVMb2NrOjpyZWFkKCkgeyByZXR1
cm4gKnN0YXRpY19jYXN0PFJlYWRMb2NrKj4odGhpcyk7IH0KK2lubGluZSBSZWFkV3JpdGVMb2Nr
OjpXcml0ZUxvY2smIFJlYWRXcml0ZUxvY2s6OndyaXRlKCkgeyByZXR1cm4gKnN0YXRpY19jYXN0
PFdyaXRlTG9jayo+KHRoaXMpOyB9CiAKLXR5cGVkZWYgUmVhZFdyaXRlTG9ja0Jhc2UgU3RhdGlj
UmVhZFdyaXRlTG9jazsKK3VzaW5nIFN0YXRpY1JlYWRXcml0ZUxvY2sgPSBSZWFkV3JpdGVMb2Nr
OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVj
dXJzaXZlTG9ja0FkYXB0ZXIuaCBiL1NvdXJjZS9XVEYvd3RmL1JlY3Vyc2l2ZUxvY2tBZGFwdGVy
LmgKaW5kZXggZDRmZWIzNzEwYTg0NjdlMzdmNTA0ODY1OTljZmVjZDIwZjE0YzFhNy4uMDMxMzg0
ZDg1MjFhYmQ0OGZlMzZlOWRhMmUzNWNiYjc0NDM3Y2I2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWN1cnNp
dmVMb2NrQWRhcHRlci5oCkBAIC0zMiwxMCArMzIsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBs
YXRlPHR5cGVuYW1lIExvY2tUeXBlPgogY2xhc3MgUmVjdXJzaXZlTG9ja0FkYXB0ZXIgewogcHVi
bGljOgotICAgIFJlY3Vyc2l2ZUxvY2tBZGFwdGVyKCkKLSAgICB7Ci0gICAgfQotICAgIAorICAg
IFJlY3Vyc2l2ZUxvY2tBZGFwdGVyKCkgPSBkZWZhdWx0OworCiAgICAgdm9pZCBsb2NrKCkKICAg
ICB7CiAgICAgICAgIFRocmVhZCYgbWUgPSBUaHJlYWQ6OmN1cnJlbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmNw
cAppbmRleCA5ZThmYjliZmYwNWY2ZTZiZWFmODkwYjZkZDE5ZDFjMjlhMDg0NWYwLi4wMTg5ZTU4
NWFmMGM0YmE5NjZiNDllMGFlMDc4Y2E0OGQzMmZkYmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9Xb3JkTG9jay5jcHAKKysrIGIvU291cmNlL1dURi93dGYvV29yZExvY2suY3BwCkBAIC03
Niw3ICs3Niw3IEBAIFRocmVhZERhdGEqIG15VGhyZWFkRGF0YSgpCiAKIH0gLy8gYW5vbnltb3Vz
IG5hbWVzcGFjZQogCi1ORVZFUl9JTkxJTkUgdm9pZCBXb3JkTG9ja0Jhc2U6OmxvY2tTbG93KCkK
K05FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrOjpsb2NrU2xvdygpCiB7CiAgICAgdW5zaWduZWQg
c3BpbkNvdW50ID0gMDsKIApAQCAtMTc3LDcgKzE3Nyw3IEBAIE5FVkVSX0lOTElORSB2b2lkIFdv
cmRMb2NrQmFzZTo6bG9ja1Nsb3coKQogICAgIH0KIH0KIAotTkVWRVJfSU5MSU5FIHZvaWQgV29y
ZExvY2tCYXNlOjp1bmxvY2tTbG93KCkKK05FVkVSX0lOTElORSB2b2lkIFdvcmRMb2NrOjp1bmxv
Y2tTbG93KCkKIHsKICAgICAvLyBUaGUgZmFzdCBwYXRoIGNhbiBmYWlsIGVpdGhlciBiZWNhdXNl
IG9mIHNwdXJpb3VzIHdlYWsgQ0FTIGZhaWx1cmUsIG9yIGJlY2F1c2Ugc29tZW9uZSBwdXQgYQog
ICAgIC8vIHRocmVhZCBvbiB0aGUgcXVldWUsIG9yIHRoZSBxdWV1ZSBsb2NrIGlzIGhlbGQuIElm
IHRoZSBxdWV1ZSBsb2NrIGlzIGhlbGQsIGl0IGNhbiBvbmx5IGJlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Xb3JkTG9jay5oIGIvU291cmNlL1dURi93dGYvV29yZExvY2suaAppbmRleCA1
MjE5MWVlMDFkOTQ3ZmUzYzRmMDhlMzU1ZmRhYThhZDU3MjdhNzNjLi43YTkwZjhiNjA5ZDgyOTEy
ZTYyY2FiYmY0OWE2NTcwZDJhMmMxMzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3Jk
TG9jay5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dvcmRMb2NrLmgKQEAgLTQ2LDcgKzQ2LDEyIEBA
IG5hbWVzcGFjZSBXVEYgewogLy8gUHJpbnRTdHJlYW0gdXNlcyB0aGlzIHNvIHRoYXQgUGFya2lu
Z0xvdCBhbmQgTG9jayBjYW4gdXNlIFByaW50U3RyZWFtLiBUaGlzIG1lYW5zIHRoYXQgaWYgeW91
CiAvLyB0cnkgdG8gdXNlIGRhdGFMb2cgdG8gZGVidWcgdGhpcyBjb2RlLCB5b3Ugd2lsbCBoYXZl
IGEgYmFkIHRpbWUuCiAKLXN0cnVjdCBXb3JkTG9ja0Jhc2UgeworY2xhc3MgV29yZExvY2sgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmRMb2NrKTsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKKyAgICBXb3JkTG9jaygpID0gZGVmYXVsdDsKKwogICAgIHZvaWQg
bG9jaygpCiAgICAgewogICAgICAgICBpZiAoTElLRUxZKG1fd29yZC5jb21wYXJlRXhjaGFuZ2VX
ZWFrKDAsIGlzTG9ja2VkQml0LCBzdGQ6Om1lbW9yeV9vcmRlcl9hY3F1aXJlKSkpIHsKQEAgLTkz
LDIwICs5OCwxMSBAQCBzdHJ1Y3QgV29yZExvY2tCYXNlIHsKICAgICAgICAgcmV0dXJuICFtX3dv
cmQubG9hZCgpOwogICAgIH0KIAotICAgIEF0b21pYzx1aW50cHRyX3Q+IG1fd29yZDsKLX07Ci0K
LWNsYXNzIFdvcmRMb2NrIDogcHVibGljIFdvcmRMb2NrQmFzZSB7Ci0gICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV29yZExvY2spOwotcHVibGljOgotICAgIFdvcmRMb2NrKCkKLSAgICB7Ci0gICAg
ICAgIG1fd29yZC5zdG9yZSgwLCBzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsKLSAgICB9Cisg
ICAgQXRvbWljPHVpbnRwdHJfdD4gbV93b3JkIHsgMCB9OwogfTsKIAotdHlwZWRlZiBXb3JkTG9j
a0Jhc2UgU3RhdGljV29yZExvY2s7Ci10eXBlZGVmIExvY2tlcjxXb3JkTG9ja0Jhc2U+IFdvcmRM
b2NrSG9sZGVyOwordXNpbmcgU3RhdGljV29yZExvY2sgPSBXb3JkTG9jazsKK3VzaW5nIFdvcmRM
b2NrSG9sZGVyID0gTG9ja2VyPFdvcmRMb2NrPjsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9X
b3JrUXVldWUuY3BwCm9sZCBtb2RlIDEwMDc1NQpuZXcgbW9kZSAxMDA2NDQK
</data>

          </attachment>
      

    </bug>

</bugzilla>