<?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>236167</bug_id>
          
          <creation_ts>2022-02-04 16:39:11 -0800</creation_ts>
          <short_desc>[Cocoa] Always sync ResourceRequest isAppInitiated request with NSURLRequest attribution value</short_desc>
          <delta_ts>2022-03-21 15:54:59 -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>
          
          <blocked>238159</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1837646</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-04 16:39:11 -0800</bug_when>
    <thetext>As noticed in Bug 236111, we should always keep the state of our &apos;isAppInitiated&apos; flag in sync with the underlying NSURLRequest object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837650</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-04 16:44:44 -0800</bug_when>
    <thetext>&lt;rdar://88490742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837680</commentid>
    <comment_count>2</comment_count>
      <attachid>450962</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-04 18:41:48 -0800</bug_when>
    <thetext>Created attachment 450962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837962</commentid>
    <comment_count>3</comment_count>
      <attachid>450962</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-06 17:01:04 -0800</bug_when>
    <thetext>Comment on attachment 450962
Patch

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

Can we make a regression test to show what this fixes?

&gt; Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:45
&gt; +    : ResourceRequestBase()

Is this explicit initialization of the base class required? I suggest we try removing this; I believe it will still compile and generate the same code without it.

&gt; Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:301
&gt; +    nsRequest.get().attribution = request.attribution;

Why use the setAttribution: syntax above, but the assignment syntax here? I would like ie better if it was consistent. I suggest we use the assignment syntax in all three places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838410</commentid>
    <comment_count>4</comment_count>
      <attachid>450962</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-07 16:04:46 -0800</bug_when>
    <thetext>Comment on attachment 450962
Patch

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

&gt;&gt; Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm:301
&gt;&gt; +    nsRequest.get().attribution = request.attribution;
&gt; 
&gt; Why use the setAttribution: syntax above, but the assignment syntax here? I would like ie better if it was consistent. I suggest we use the assignment syntax in all three places.

For some reason, the above initializations of nsRequest from &apos;adoptNS([m_nsRequest mutableCopy])&apos; were computed as &apos;RetainPtr&lt;id&gt;&apos;. The method call syntax compiled without errors, so I just used that. If I specify that the adoptNS is assigned to a RetainPtr&lt;NSMutableURLRequest&gt; the assignment syntax works.
I could also just cast the result of &apos;nsRequest.get()&apos;, but that seems a little gross. I prefer the &quot;RetainPtr&lt;NSMutableRequest&gt; nsRequest = adoptNS(...)&quot;.

Do you have a preference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838447</commentid>
    <comment_count>5</comment_count>
      <attachid>451179</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-02-07 17:15:56 -0800</bug_when>
    <thetext>Created attachment 451179
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838459</commentid>
    <comment_count>6</comment_count>
      <attachid>451179</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-07 17:50:01 -0800</bug_when>
    <thetext>Comment on attachment 451179
Patch for landing

I think it’s good the way you wrote it. I am not so surprised that the compiler doesn&apos;t know the type of the result of mutableCopy. It doesn’t use (instancetype) or any trick like that, so it’s just a method that returns an id.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838470</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-07 18:06:17 -0800</bug_when>
    <thetext>Committed r289255 (246939@main): &lt;https://commits.webkit.org/246939@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451179.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450962</attachid>
            <date>2022-02-04 18:41:48 -0800</date>
            <delta_ts>2022-02-07 17:15:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236167-20220204184147.patch</filename>
            <type>text/plain</type>
            <size>4091</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDA5OTU1ZTJjZDIxZWI0
MmQ0NDBhZGFmZDg3YjIyMjkwZTFmM2M0Yy4uNDBkZmU1MzZkNGZlYThlMWQxOTc3ODI2MmU3OGJi
OWRjNmYxM2M2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIyLTAyLTA0ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFsd2F5cyBzeW5jIFJl
c291cmNlUmVxdWVzdCBpc0FwcEluaXRpYXRlZCByZXF1ZXN0IHdpdGggTlNVUkxSZXF1ZXN0IGF0
dHJpYnV0aW9uIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzYxNjcKKyAgICAgICAgPHJkYXI6Ly84ODQ5MDc0Mj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBzaG91bGQgYWx3YXlzIGtlZXAg
dGhlIHN0YXRlIG9mIG91ciAnaXNBcHBJbml0aWF0ZWQnIGZsYWcgaW4gc3luYyB3aXRoIHRoZSB1
bmRlcmx5aW5nCisgICAgICAgIE5TVVJMUmVxdWVzdCBvYmplY3QuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvY29jb2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3Q6OlJlc291cmNlUmVxdWVzdCk6CisKIDIwMjItMDItMDQgIENvbW1pdCBR
dWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJl
dmVydGluZyByMjg5MDk4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggNzNiMWQzOGM5NDYyZDg1NTcyZjQxZmY0MGY5
NmIxNGRhZjk0NDM2Yi4uOTI1Y2NlN2ZkZDg1Nzc3YmU4NzY4ZWRlODk0NGZiMDEwOGYyZjJmNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJl
cXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNl
UmVxdWVzdC5oCkBAIC02OSwxMSArNjksNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KICNlbHNl
Ci0gICAgUmVzb3VyY2VSZXF1ZXN0KE5TVVJMUmVxdWVzdCAqbnNSZXF1ZXN0KQotICAgICAgICA6
IFJlc291cmNlUmVxdWVzdEJhc2UoKQotICAgICAgICAsIG1fbnNSZXF1ZXN0KG5zUmVxdWVzdCkK
LSAgICB7Ci0gICAgfQorICAgIFdFQkNPUkVfRVhQT1JUIFJlc291cmNlUmVxdWVzdChOU1VSTFJl
cXVlc3QgKik7CiAjZW5kaWYKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXBkYXRlRnJvbURl
bGVnYXRlUHJlc2VydmluZ09sZFByb3BlcnRpZXMoY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNl
UmVxdWVzdENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9S
ZXNvdXJjZVJlcXVlc3RDb2NvYS5tbQppbmRleCBhN2ZiNDkyOWQxNmM4OTU2MjYzNWYwMDM3MzE4
MTNmMTg1ZjNkYjQxLi5lNWQ5OGQzNDJlMDBlM2Q4ZDc0MTBhZTUzMjlmN2M0NDA5ODgwYmRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL1Jlc291cmNl
UmVxdWVzdENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29j
b2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2EubW0KQEAgLTQxLDYgKzQxLDE1IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorUmVzb3VyY2VSZXF1ZXN0OjpSZXNvdXJjZVJlcXVlc3QoTlNVUkxSZXF1
ZXN0ICpuc1JlcXVlc3QpCisgICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKCkKKyAgICAsIG1fbnNS
ZXF1ZXN0KG5zUmVxdWVzdCkKK3sKKyNpZiBFTkFCTEUoQVBQX1BSSVZBQ1lfUkVQT1JUKQorICAg
IHNldElzQXBwSW5pdGlhdGVkKG5zUmVxdWVzdC5hdHRyaWJ1dGlvbiA9PSBOU1VSTFJlcXVlc3RB
dHRyaWJ1dGlvbkRldmVsb3Blcik7CisjZW5kaWYKK30KKwogTlNVUkxSZXF1ZXN0ICpSZXNvdXJj
ZVJlcXVlc3Q6Om5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeSBib2R5UG9saWN5KSBj
b25zdAogewogICAgIHVwZGF0ZVBsYXRmb3JtUmVxdWVzdChib2R5UG9saWN5KTsKQEAgLTE2OSw4
ICsxNzgsMTIgQEAgdm9pZCBSZXNvdXJjZVJlcXVlc3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0
KCkKIAogICAgIGlmIChuc1JlcXVlc3QpCiAgICAgICAgIFtuc1JlcXVlc3Qgc2V0VVJMOnVybCgp
XTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG5zUmVxdWVzdCA9IGFkb3B0TlMoW1tO
U011dGFibGVVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDp1cmwoKV0pOworI2lmIEVOQUJM
RShBUFBfUFJJVkFDWV9SRVBPUlQpCisgICAgICAgIFtuc1JlcXVlc3Qgc2V0QXR0cmlidXRpb246
IG1faXNBcHBJbml0aWF0ZWQgPyBOU1VSTFJlcXVlc3RBdHRyaWJ1dGlvbkRldmVsb3BlciA6IE5T
VVJMUmVxdWVzdEF0dHJpYnV0aW9uVXNlcl07CisjZW5kaWYKKyAgICB9CiAKICAgICBpZiAoUmVz
b3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKSkKICAgICAgICAgQ0ZVUkxSZXF1
ZXN0U2V0U2hvdWxkUGlwZWxpbmVIVFRQKFtuc1JlcXVlc3QgX0NGVVJMUmVxdWVzdF0sIHRydWUs
IHRydWUpOwpAQCAtMjQ1LDggKzI1OCwxMiBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRh
dGVQbGF0Zm9ybUhUVFBCb2R5KCkKIAogICAgIGlmIChuc1JlcXVlc3QpCiAgICAgICAgIFtuc1Jl
cXVlc3Qgc2V0VVJMOnVybCgpXTsKLSAgICBlbHNlCisgICAgZWxzZSB7CiAgICAgICAgIG5zUmVx
dWVzdCA9IGFkb3B0TlMoW1tOU011dGFibGVVUkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDp1
cmwoKV0pOworI2lmIEVOQUJMRShBUFBfUFJJVkFDWV9SRVBPUlQpCisgICAgICAgIFtuc1JlcXVl
c3Qgc2V0QXR0cmlidXRpb246IG1faXNBcHBJbml0aWF0ZWQgPyBOU1VSTFJlcXVlc3RBdHRyaWJ1
dGlvbkRldmVsb3BlciA6IE5TVVJMUmVxdWVzdEF0dHJpYnV0aW9uVXNlcl07CisjZW5kaWYKKyAg
ICB9CiAKICAgICBGb3JtRGF0YSogZm9ybURhdGEgPSBodHRwQm9keSgpOwogICAgIGlmIChmb3Jt
RGF0YSAmJiAhZm9ybURhdGEtPmlzRW1wdHkoKSkKQEAgLTI3OSw3ICsyOTYsMTEgQEAgUmV0YWlu
UHRyPE5TVVJMUmVxdWVzdD4gY29weVJlcXVlc3RXaXRoU3RvcmFnZVNlc3Npb24oQ0ZVUkxTdG9y
YWdlU2Vzc2lvblJlZiBzdG8KIAogICAgIGF1dG8gY2ZSZXF1ZXN0ID0gYWRvcHRDRihDRlVSTFJl
cXVlc3RDcmVhdGVNdXRhYmxlQ29weShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBbcmVxdWVzdCBfQ0ZV
UkxSZXF1ZXN0XSkpOwogICAgIF9DRlVSTFJlcXVlc3RTZXRTdG9yYWdlU2Vzc2lvbihjZlJlcXVl
c3QuZ2V0KCksIHN0b3JhZ2VTZXNzaW9uKTsKLSAgICByZXR1cm4gYWRvcHROUyhbW05TVVJMUmVx
dWVzdCBhbGxvY10gX2luaXRXaXRoQ0ZVUkxSZXF1ZXN0OmNmUmVxdWVzdC5nZXQoKV0pOworICAg
IGF1dG8gbnNSZXF1ZXN0ID0gYWRvcHROUyhbW05TTXV0YWJsZVVSTFJlcXVlc3QgYWxsb2NdIF9p
bml0V2l0aENGVVJMUmVxdWVzdDpjZlJlcXVlc3QuZ2V0KCldKTsKKyNpZiBFTkFCTEUoQVBQX1BS
SVZBQ1lfUkVQT1JUKQorICAgIG5zUmVxdWVzdC5nZXQoKS5hdHRyaWJ1dGlvbiA9IHJlcXVlc3Qu
YXR0cmlidXRpb247CisjZW5kaWYKKyAgICByZXR1cm4gbnNSZXF1ZXN0OwogfQogCiBOU0NhY2hl
ZFVSTFJlc3BvbnNlICpjYWNoZWRSZXNwb25zZUZvclJlcXVlc3QoQ0ZVUkxTdG9yYWdlU2Vzc2lv
blJlZiBzdG9yYWdlU2Vzc2lvbiwgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451179</attachid>
            <date>2022-02-07 17:15:56 -0800</date>
            <delta_ts>2022-02-07 18:06:18 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-236167-20220207171556.patch</filename>
            <type>text/plain</type>
            <size>12050</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUxOTQwNTY4NTA2NDFi
ZjFlNjhlZmQzZDQ3Yjk2Y2JiZjcwNjUwMi4uNjEwYWY2MDEwYzQwYzRhNDRjMDRlYzY5MWI5ZmIx
YmQ0MmFlNWQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAyLTA3ICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFsd2F5cyBzeW5jIFJl
c291cmNlUmVxdWVzdCBpc0FwcEluaXRpYXRlZCByZXF1ZXN0IHdpdGggTlNVUkxSZXF1ZXN0IGF0
dHJpYnV0aW9uIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzYxNjcKKyAgICAgICAgPHJkYXI6Ly84ODQ5MDc0Mj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBXZSBzaG91bGQgYWx3YXlzIGtlZXAgdGhl
IHN0YXRlIG9mIG91ciAnaXNBcHBJbml0aWF0ZWQnIGZsYWcgaW4gc3luYyB3aXRoIHRoZSB1bmRl
cmx5aW5nCisgICAgICAgIE5TVVJMUmVxdWVzdCBvYmplY3QuIFRoaXMgYWxzbyBjb3JyZWN0cyBh
IHByb2JsZW0gd2hlcmUgdGhlICdzZXRJc0FwcEluaXRpYXRlZCcgbWV0aG9kCisgICAgICAgIGRv
ZXMgbm90IG1hcmsgdGhlIHBsYXRmb3JtIFVSTCByZXF1ZXN0IGFzIGRpcnR5LCBzbyBpdCBkb2Vz
IG5vdCB1cGRhdGUgd2l0aCB0aGUgY29ycmVjdAorICAgICAgICBzdGF0ZSBvZiB0aGUgZmxhZy4K
KworICAgICAgICBUZXN0czogTmV3IFRlc3RXZWJLaXRBUEkgVGVzdCAoQXBwUHJpdmFjeVJlcG9y
dC5OU1VSTFJlcXVlc3RDb25zdHJ1Y3RvckF0dHJpYnV0aW9uKQorCisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdEJhc2U6OnNldElzQXBwSW5pdGlhdGVkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29j
b2EvUmVzb3VyY2VSZXF1ZXN0Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3Q6OlJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3Q6OmRvVXBkYXRlUGxhdGZvcm1SZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9ybUhUVFBCb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlSZXF1ZXN0V2l0aFN0b3JhZ2VTZXNzaW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MubW06CisKIDIwMjItMDItMDcgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgTW92ZSBEb2N1bWVudFRpbWVsaW5lOjpydW5uaW5nQW5pbWF0aW9u
c0ZvclJlbmRlcmVyQXJlQWxsQWNjZWxlcmF0ZWQoKSB0byBTdHlsZWFibGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CmluZGV4IGM1YTU3ZjQ3OWU2YjI4NDJhNzRkNDhhMTVlYzc1NjcwNWU2MDZlZDkuLmM3M2IwNDMx
MGZjZWM5M2I0YWE2ZGFhNDI1MDQxZGQ0ZTlmZjM4OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApAQCAtNjE5
LDYgKzYxOSwxOCBAQCB2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnJlbW92ZUhUVFBIZWFkZXJG
aWVsZChIVFRQSGVhZGVyTmFtZSBuYW1lKQogICAgIG1fcGxhdGZvcm1SZXF1ZXN0VXBkYXRlZCA9
IGZhbHNlOwogfQogCit2b2lkIFJlc291cmNlUmVxdWVzdEJhc2U6OnNldElzQXBwSW5pdGlhdGVk
KGJvb2wgaXNBcHBJbml0aWF0ZWQpCit7CisgICAgdXBkYXRlUmVzb3VyY2VSZXF1ZXN0KCk7CisK
KyAgICBpZiAobV9pc0FwcEluaXRpYXRlZCA9PSBpc0FwcEluaXRpYXRlZCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9pc0FwcEluaXRpYXRlZCA9IGlzQXBwSW5pdGlhdGVkOworCisgICAgbV9w
bGF0Zm9ybVJlcXVlc3RVcGRhdGVkID0gZmFsc2U7Cit9OworCiAjaWYgVVNFKFNZU1RFTV9QUkVW
SUVXKQogCiBib29sIFJlc291cmNlUmVxdWVzdEJhc2U6OmlzU3lzdGVtUHJldmlldygpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5oCmluZGV4IDQwYzAwOGNhZGZkNWVhNzU1MzdkMGM1Nzk4MDExZjBhNDQyN2M0M2Iu
LjIzNTMwODJhM2ExNWU5YmVmZTAyNDg1NGRiMmI5ZDA4MDhhZDAxNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBA
IC0xOTgsNyArMTk4LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29s
IGVxdWFsKGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOwog
CiAgICAgYm9vbCBpc0FwcEluaXRpYXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNBcHBJbml0aWF0
ZWQ7IH0KLSAgICB2b2lkIHNldElzQXBwSW5pdGlhdGVkKGJvb2wgaXNBcHBJbml0aWF0ZWQpIHsg
bV9pc0FwcEluaXRpYXRlZCA9IGlzQXBwSW5pdGlhdGVkOyB9OworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0SXNBcHBJbml0aWF0ZWQoYm9vbCk7CiAKIHByb3RlY3RlZDoKICAgICAvLyBVc2Vk
IHdoZW4gUmVzb3VyY2VSZXF1ZXN0IGlzIGluaXRpYWxpemVkIGZyb20gYSBwbGF0Zm9ybSByZXBy
ZXNlbnRhdGlvbiBvZiB0aGUgcmVxdWVzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggNzNiMWQzOGM5NDYyZDg1NTcy
ZjQxZmY0MGY5NmIxNGRhZjk0NDM2Yi4uYjU4ZGU1OGIwZDk4M2FmMDliNjU0OWViN2I5MTY4Yjdk
NTA0NTYxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9S
ZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nm
L1Jlc291cmNlUmVxdWVzdC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAwMywgMjAwNiBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDAzLTIwMjIgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKQEAgLTY5LDExICs2OSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogI2Vs
c2UKLSAgICBSZXNvdXJjZVJlcXVlc3QoTlNVUkxSZXF1ZXN0ICpuc1JlcXVlc3QpCi0gICAgICAg
IDogUmVzb3VyY2VSZXF1ZXN0QmFzZSgpCi0gICAgICAgICwgbV9uc1JlcXVlc3QobnNSZXF1ZXN0
KQotICAgIHsKLSAgICB9CisgICAgV0VCQ09SRV9FWFBPUlQgUmVzb3VyY2VSZXF1ZXN0KE5TVVJM
UmVxdWVzdCAqKTsKICNlbmRpZgogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cGRhdGVGcm9t
RGVsZWdhdGVQcmVzZXJ2aW5nT2xkUHJvcGVydGllcyhjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3Vy
Y2VSZXF1ZXN0Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29h
L1Jlc291cmNlUmVxdWVzdENvY29hLm1tCmluZGV4IGE3ZmI0OTI5ZDE2Yzg5NTYyNjM1ZjAwMzcz
MTgxM2YxODVmM2RiNDEuLjQ1OWJmMmE0MmY5ZTIwMGU5MzVjMjE2Mzg5NDM2OWU0ZjQ1MWJkMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvUmVzb3Vy
Y2VSZXF1ZXN0Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
b2NvYS9SZXNvdXJjZVJlcXVlc3RDb2NvYS5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTQtMjAxNyBBcHBsZSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxNC0yMDIyIEFwcGxlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNCw2ICszNCw3IEBACiAjaW1w
b3J0ICJSZXNvdXJjZVJlcXVlc3RDRk5ldC5oIgogI2ltcG9ydCAiUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPEZv
dW5kYXRpb24vTlNVUkxSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQ
SS5oPgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0
b3JDb2NvYS5oPgpAQCAtNDEsNiArNDIsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitS
ZXNvdXJjZVJlcXVlc3Q6OlJlc291cmNlUmVxdWVzdChOU1VSTFJlcXVlc3QgKm5zUmVxdWVzdCkK
KyAgICA6IG1fbnNSZXF1ZXN0KG5zUmVxdWVzdCkKK3sKKyNpZiBFTkFCTEUoQVBQX1BSSVZBQ1lf
UkVQT1JUKQorICAgIHNldElzQXBwSW5pdGlhdGVkKG5zUmVxdWVzdC5hdHRyaWJ1dGlvbiA9PSBO
U1VSTFJlcXVlc3RBdHRyaWJ1dGlvbkRldmVsb3Blcik7CisjZW5kaWYKK30KKwogTlNVUkxSZXF1
ZXN0ICpSZXNvdXJjZVJlcXVlc3Q6Om5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeSBi
b2R5UG9saWN5KSBjb25zdAogewogICAgIHVwZGF0ZVBsYXRmb3JtUmVxdWVzdChib2R5UG9saWN5
KTsKQEAgLTE2NSwxMyArMTc0LDE3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVBs
YXRmb3JtUmVxdWVzdCgpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIG5zUmVx
dWVzdCA9IGFkb3B0TlMoW21fbnNSZXF1ZXN0IG11dGFibGVDb3B5XSk7CisgICAgYXV0byBuc1Jl
cXVlc3QgPSBhZG9wdE5TPE5TTXV0YWJsZVVSTFJlcXVlc3QgKj4oW21fbnNSZXF1ZXN0IG11dGFi
bGVDb3B5XSk7CiAKICAgICBpZiAobnNSZXF1ZXN0KQogICAgICAgICBbbnNSZXF1ZXN0IHNldFVS
TDp1cmwoKV07CiAgICAgZWxzZQogICAgICAgICBuc1JlcXVlc3QgPSBhZG9wdE5TKFtbTlNNdXRh
YmxlVVJMUmVxdWVzdCBhbGxvY10gaW5pdFdpdGhVUkw6dXJsKCldKTsKIAorI2lmIEVOQUJMRShB
UFBfUFJJVkFDWV9SRVBPUlQpCisgICAgbnNSZXF1ZXN0LmdldCgpLmF0dHJpYnV0aW9uID0gbV9p
c0FwcEluaXRpYXRlZCA/IE5TVVJMUmVxdWVzdEF0dHJpYnV0aW9uRGV2ZWxvcGVyIDogTlNVUkxS
ZXF1ZXN0QXR0cmlidXRpb25Vc2VyOworI2VuZGlmCisKICAgICBpZiAoUmVzb3VyY2VSZXF1ZXN0
OjpodHRwUGlwZWxpbmluZ0VuYWJsZWQoKSkKICAgICAgICAgQ0ZVUkxSZXF1ZXN0U2V0U2hvdWxk
UGlwZWxpbmVIVFRQKFtuc1JlcXVlc3QgX0NGVVJMUmVxdWVzdF0sIHRydWUsIHRydWUpOwogCkBA
IC0yNDEsMTMgKzI1NCwxNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9y
bUhUVFBCb2R5KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gbnNSZXF1ZXN0
ID0gYWRvcHROUyhbbV9uc1JlcXVlc3QgbXV0YWJsZUNvcHldKTsKKyAgICBhdXRvIG5zUmVxdWVz
dCA9IGFkb3B0TlM8TlNNdXRhYmxlVVJMUmVxdWVzdCAqPihbbV9uc1JlcXVlc3QgbXV0YWJsZUNv
cHldKTsKIAogICAgIGlmIChuc1JlcXVlc3QpCiAgICAgICAgIFtuc1JlcXVlc3Qgc2V0VVJMOnVy
bCgpXTsKICAgICBlbHNlCiAgICAgICAgIG5zUmVxdWVzdCA9IGFkb3B0TlMoW1tOU011dGFibGVV
UkxSZXF1ZXN0IGFsbG9jXSBpbml0V2l0aFVSTDp1cmwoKV0pOwogCisjaWYgRU5BQkxFKEFQUF9Q
UklWQUNZX1JFUE9SVCkKKyAgICBuc1JlcXVlc3QuZ2V0KCkuYXR0cmlidXRpb24gPSBtX2lzQXBw
SW5pdGlhdGVkID8gTlNVUkxSZXF1ZXN0QXR0cmlidXRpb25EZXZlbG9wZXIgOiBOU1VSTFJlcXVl
c3RBdHRyaWJ1dGlvblVzZXI7CisjZW5kaWYKKwogICAgIEZvcm1EYXRhKiBmb3JtRGF0YSA9IGh0
dHBCb2R5KCk7CiAgICAgaWYgKGZvcm1EYXRhICYmICFmb3JtRGF0YS0+aXNFbXB0eSgpKQogICAg
ICAgICBXZWJDb3JlOjpzZXRIVFRQQm9keShuc1JlcXVlc3QuZ2V0KCksIGZvcm1EYXRhKTsKQEAg
LTI3OSw3ICsyOTYsMTEgQEAgUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4gY29weVJlcXVlc3RXaXRo
U3RvcmFnZVNlc3Npb24oQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG8KIAogICAgIGF1dG8gY2ZS
ZXF1ZXN0ID0gYWRvcHRDRihDRlVSTFJlcXVlc3RDcmVhdGVNdXRhYmxlQ29weShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCBbcmVxdWVzdCBfQ0ZVUkxSZXF1ZXN0XSkpOwogICAgIF9DRlVSTFJlcXVlc3RT
ZXRTdG9yYWdlU2Vzc2lvbihjZlJlcXVlc3QuZ2V0KCksIHN0b3JhZ2VTZXNzaW9uKTsKLSAgICBy
ZXR1cm4gYWRvcHROUyhbW05TVVJMUmVxdWVzdCBhbGxvY10gX2luaXRXaXRoQ0ZVUkxSZXF1ZXN0
OmNmUmVxdWVzdC5nZXQoKV0pOworICAgIGF1dG8gbnNSZXF1ZXN0ID0gYWRvcHROUyhbW05TTXV0
YWJsZVVSTFJlcXVlc3QgYWxsb2NdIF9pbml0V2l0aENGVVJMUmVxdWVzdDpjZlJlcXVlc3QuZ2V0
KCldKTsKKyNpZiBFTkFCTEUoQVBQX1BSSVZBQ1lfUkVQT1JUKQorICAgIG5zUmVxdWVzdC5nZXQo
KS5hdHRyaWJ1dGlvbiA9IHJlcXVlc3QuYXR0cmlidXRpb247CisjZW5kaWYKKyAgICByZXR1cm4g
bnNSZXF1ZXN0OwogfQogCiBOU0NhY2hlZFVSTFJlc3BvbnNlICpjYWNoZWRSZXNwb25zZUZvclJl
cXVlc3QoQ0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBzdG9yYWdlU2Vzc2lvbiwgTlNVUkxSZXF1ZXN0
ICpyZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmlu
ZGV4IDY1MTIyYjQ1Njk1Y2MyZjZkMjA2NWZlYTMwNTk5ODZkNmJmYjQ1YjguLjZjYmQyYzQ0MTY3
NGRiZjE3Y2NjODZmZjA1NDI5NDIwNTU0OTViZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTM1LDYgKzM1LDcgQEAKICNpbXBvcnQgIkNTU1ZhbHVl
S2V5d29yZHMuaCIKICNpbXBvcnQgIkNvbG9yQmxlbmRpbmcuaCIKICNpbXBvcnQgIkNvbG9yQ29j
b2EuaCIKKyNpbXBvcnQgIkNvbG9yVHlwZXMuaCIKICNpbXBvcnQgIkRhdGVDb21wb25lbnRzLmgi
CiAjaW1wb3J0ICJEb2N1bWVudC5oIgogI2ltcG9ydCAiRHJhd0dseXBoc1JlY29yZGVyLmgiCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTZkMmU4
OTFlYjEyODY5NTU1YjlkYzkzNmNiMDk1NTBmZmY4MDk2ZC4uOTgxOGZmMTBjNDUzNDYyMGM1YzBh
MWI0ODZkYTZkMTFhZjk5OWUxMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAyLTA3ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFsd2F5cyBzeW5jIFJlc291cmNlUmVx
dWVzdCBpc0FwcEluaXRpYXRlZCByZXF1ZXN0IHdpdGggTlNVUkxSZXF1ZXN0IGF0dHJpYnV0aW9u
IHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzYxNjcKKyAgICAgICAgPHJkYXI6Ly84ODQ5MDc0Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2oveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9UZXN0V2ViS2l0QVBJLnhjc2NoZW1lOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXBwUHJpdmFjeVJlcG9ydC5t
bToKKwogMjAyMi0wMi0wNyAgUm95IFJlYXBvciAgPHJyZWFwb3JAYXBwbGUuY29tPgogCiAgICAg
ICAgIFt3ZWJraXRjb3JlcHldIEF1dG9pbnN0YWxsZXIgbWF5IGZhaWwgdG8gaW5zdGFsbCB3aGVl
bHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvQXBw
UHJpdmFjeVJlcG9ydC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2Ev
QXBwUHJpdmFjeVJlcG9ydC5tbQppbmRleCA3NWMwNjk2N2E5ZTFjMjYwZGRmZTg3M2M5MzdlNzI5
Y2E4MWJmODU4Li44MDhiMzBjMjM4YzM4OGU5NTk3NGQxZWRjNTMzOTEyMTU3MjA3ZmUzIDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL0FwcFByaXZhY3lS
ZXBvcnQubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9BcHBQ
cml2YWN5UmVwb3J0Lm1tCkBAIC0zNiw2ICszNiw3IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJW
aWV3UHJpdmF0ZUZvclRlc3RpbmcuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYnNpdGVEYXRhU3Rv
cmVQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLU2Vzc2lvblN0YXRlLmg+CisjaW1wb3J0
IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KQEAgLTg1Myw0ICs4NTQsNTMgQEAgVEVTVChBcHBQcml2YWN5UmVwb3J0LCBMb2Fk
RmlsZVJlcXVlc3RJc05vbkFwcEluaXRpYXRlZCkKICAgICBsb2FkRmlsZVRlc3QoSXNBcHBJbml0
aWF0ZWQ6Ok5vKTsKIH0KIAorVEVTVChBcHBQcml2YWN5UmVwb3J0LCBOU1VSTFJlcXVlc3RDb25z
dHJ1Y3RvckF0dHJpYnV0aW9uKQoreworICAgIE5TU3RyaW5nICp1cmwgPSBAImh0dHBzOi8vd2Vi
a2l0Lm9yZyI7CisKKyAgICBOU011dGFibGVVUkxSZXF1ZXN0ICphcHBJbml0aWF0ZWRSZXF1ZXN0
ID0gW05TTXV0YWJsZVVSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJp
bmc6dXJsXV07CisgICAgRVhQRUNUX0VRKGFwcEluaXRpYXRlZFJlcXVlc3QuYXR0cmlidXRpb24s
IE5TVVJMUmVxdWVzdEF0dHJpYnV0aW9uRGV2ZWxvcGVyKTsKKworICAgIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCB0ZXN0UmVxdWVzdChhcHBJbml0aWF0ZWRSZXF1ZXN0KTsKKyAgICBFWFBFQ1Rf
VFJVRSh0ZXN0UmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpKTsKKworICAgIFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCB0ZXN0UmVxdWVzdENvcHkodGVzdFJlcXVlc3QpOworICAgIEVYUEVDVF9UUlVF
KHRlc3RSZXF1ZXN0Q29weS5pc0FwcEluaXRpYXRlZCgpKTsKKworICAgIGF1dG8gbnNSZXF1ZXN0
RnJvbUNvcHkgPSB0ZXN0UmVxdWVzdENvcHkubnNVUkxSZXF1ZXN0KFdlYkNvcmU6OkhUVFBCb2R5
VXBkYXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KTsKKyAgICBFWFBFQ1RfRVEobnNSZXF1
ZXN0RnJvbUNvcHkuYXR0cmlidXRpb24sIE5TVVJMUmVxdWVzdEF0dHJpYnV0aW9uRGV2ZWxvcGVy
KTsKKyAgICAKKyAgICBhcHBJbml0aWF0ZWRSZXF1ZXN0LmF0dHJpYnV0aW9uID0gTlNVUkxSZXF1
ZXN0QXR0cmlidXRpb25Vc2VyOworICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCB0ZXN0UmVx
dWVzdDIoYXBwSW5pdGlhdGVkUmVxdWVzdCk7CisgICAgRVhQRUNUX0ZBTFNFKHRlc3RSZXF1ZXN0
Mi5pc0FwcEluaXRpYXRlZCgpKTsKKworICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCB0ZXN0
UmVxdWVzdENvcHkyKHRlc3RSZXF1ZXN0Mik7CisgICAgRVhQRUNUX0ZBTFNFKHRlc3RSZXF1ZXN0
Q29weTIuaXNBcHBJbml0aWF0ZWQoKSk7CisKKyAgICBhdXRvIG5zUmVxdWVzdEZyb21Db3B5MiA9
IHRlc3RSZXF1ZXN0Q29weTIubnNVUkxSZXF1ZXN0KFdlYkNvcmU6OkhUVFBCb2R5VXBkYXRlUG9s
aWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KTsKKyAgICBFWFBFQ1RfRVEobnNSZXF1ZXN0RnJvbUNv
cHkyLmF0dHJpYnV0aW9uLCBOU1VSTFJlcXVlc3RBdHRyaWJ1dGlvblVzZXIpOworCisgICAgYXBw
SW5pdGlhdGVkUmVxdWVzdC5hdHRyaWJ1dGlvbiA9IE5TVVJMUmVxdWVzdEF0dHJpYnV0aW9uRGV2
ZWxvcGVyOworICAgIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCB0ZXN0UmVxdWVzdDMoYXBwSW5p
dGlhdGVkUmVxdWVzdCk7CisgICAgRVhQRUNUX1RSVUUodGVzdFJlcXVlc3QzLmlzQXBwSW5pdGlh
dGVkKCkpOworCisgICAgYXV0byBuc1JlcXVlc3RGcm9tTW9kaWZpZWRSZXF1ZXN0ID0gdGVzdFJl
cXVlc3QzLm5zVVJMUmVxdWVzdChXZWJDb3JlOjpIVFRQQm9keVVwZGF0ZVBvbGljeTo6RG9Ob3RV
cGRhdGVIVFRQQm9keSk7CisgICAgRVhQRUNUX0VRKG5zUmVxdWVzdEZyb21Nb2RpZmllZFJlcXVl
c3QuYXR0cmlidXRpb24sIE5TVVJMUmVxdWVzdEF0dHJpYnV0aW9uRGV2ZWxvcGVyKTsKKworICAg
IHRlc3RSZXF1ZXN0My5zZXRJc0FwcEluaXRpYXRlZChmYWxzZSk7CisgICAgYXV0byBuc1JlcXVl
c3RGcm9tTW9kaWZpZWRSZXF1ZXN0MiA9IHRlc3RSZXF1ZXN0My5uc1VSTFJlcXVlc3QoV2ViQ29y
ZTo6SFRUUEJvZHlVcGRhdGVQb2xpY3k6OkRvTm90VXBkYXRlSFRUUEJvZHkpOworICAgIEVYUEVD
VF9FUShuc1JlcXVlc3RGcm9tTW9kaWZpZWRSZXF1ZXN0Mi5hdHRyaWJ1dGlvbiwgTlNVUkxSZXF1
ZXN0QXR0cmlidXRpb25Vc2VyKTsKKworICAgIHRlc3RSZXF1ZXN0My5zZXRJc0FwcEluaXRpYXRl
ZCh0cnVlKTsKKyAgICBhdXRvIG5zUmVxdWVzdEZyb21Nb2RpZmllZFJlcXVlc3QzID0gdGVzdFJl
cXVlc3QzLm5zVVJMUmVxdWVzdChXZWJDb3JlOjpIVFRQQm9keVVwZGF0ZVBvbGljeTo6RG9Ob3RV
cGRhdGVIVFRQQm9keSk7CisgICAgRVhQRUNUX0VRKG5zUmVxdWVzdEZyb21Nb2RpZmllZFJlcXVl
c3QzLmF0dHJpYnV0aW9uLCBOU1VSTFJlcXVlc3RBdHRyaWJ1dGlvbkRldmVsb3Blcik7CisKKyAg
ICAvLyBDaGFuZ2luZyB0aGUgbnNVUkxSZXF1ZXN0IGNvcHkgZ2VuZXJhdGVkIGJ5IHRoZSBhY2Nl
c3NvciBkb2Vzbid0IGNoYW5nZSB0aGUgUmVzb3VyY2VSZXF1ZXN0CisgICAgYXBwSW5pdGlhdGVk
UmVxdWVzdC5hdHRyaWJ1dGlvbiA9IE5TVVJMUmVxdWVzdEF0dHJpYnV0aW9uVXNlcjsKKyAgICBF
WFBFQ1RfVFJVRSh0ZXN0UmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpKTsKKworICAgIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCB0ZXN0UmVxdWVzdDQoYXBwSW5pdGlhdGVkUmVxdWVzdCk7CisgICAg
RVhQRUNUX0ZBTFNFKHRlc3RSZXF1ZXN0NC5pc0FwcEluaXRpYXRlZCgpKTsKK30KKwogI2VuZGlm
IC8vIEFQUF9QUklWQUNZX1JFUE9SVAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>