<?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>208913</bug_id>
          
          <creation_ts>2020-03-11 05:33:41 -0700</creation_ts>
          <short_desc>[Curl] Add an API returns description of verification errors.</short_desc>
          <delta_ts>2020-03-19 14:20:14 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Takashi Komori">takashi.komori</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>chris.reid</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>galpeter</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>takashi.komori</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1628603</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-11 05:33:41 -0700</bug_when>
    <thetext>Browser applications can get error code for verification by using WKCertificateInfoGetVerificationError but just displaying error code is inconvinient for users.
In this ticket we will add an API to provide error description and make MiniBrowser display error description  when it accesses sites which have invalid certs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628611</commentid>
    <comment_count>1</comment_count>
      <attachid>393229</attachid>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-11 06:02:52 -0700</bug_when>
    <thetext>Created attachment 393229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628614</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-11 06:05:34 -0700</bug_when>
    <thetext>(In reply to Takashi Komori from comment #1)
&gt; Created attachment 393229 [details]
&gt; Patch

Added test only tests the situation the error code is 0 (V509_V_OK).
This is because we can&apos;t set an arbitrary error code without connecting servers for now.

We will improve tests for this patch after establishing a method for testing bad certs in another ticket ( https://bugs.webkit.org/show_bug.cgi?id=208806 ).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630838</commentid>
    <comment_count>3</comment_count>
      <attachid>393229</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-17 12:34:00 -0700</bug_when>
    <thetext>Comment on attachment 393229
Patch

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

&gt; Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:369
&gt; +    auto certificateInfo = WKProtectionSpaceCopyCertificateInfo(protectionSpace);

Don&apos;t remove `adoptWK`. It will leak.

&gt; Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:371
&gt; +    auto description = WKCertificateInfoCopyVerificationErrorDescription(certificateInfo);

Use adoptWK for the return value of *Copy* API. It will leak.

&gt; Tools/TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp:93
&gt; +    ASSERT_TRUE(WKStringIsEqualToUTF8CString(WKCertificateInfoCopyVerificationErrorDescription(certificateInfo.get()), &quot;ok&quot;));

The return value of WKCertificateInfoCopyVerificationErrorDescription leaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630839</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-03-17 12:34:51 -0700</bug_when>
    <thetext>You added a new WK2 API. Added WK2 owners in CC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631605</commentid>
    <comment_count>5</comment_count>
      <attachid>393965</attachid>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-19 04:31:04 -0700</bug_when>
    <thetext>Created attachment 393965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631606</commentid>
    <comment_count>6</comment_count>
    <who name="Takashi Komori">takashi.komori</who>
    <bug_when>2020-03-19 04:37:17 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #3)
&gt; Comment on attachment 393229 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393229&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:369
&gt; &gt; +    auto certificateInfo = WKProtectionSpaceCopyCertificateInfo(protectionSpace);
&gt; 
&gt; Don&apos;t remove `adoptWK`. It will leak.

Fixed.

&gt; 
&gt; &gt; Tools/MiniBrowser/win/WebKitBrowserWindow.cpp:371
&gt; &gt; +    auto description = WKCertificateInfoCopyVerificationErrorDescription(certificateInfo);
&gt; 
&gt; Use adoptWK for the return value of *Copy* API. It will leak.

Fixed.

&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit/curl/Certificates.cpp:93
&gt; &gt; +    ASSERT_TRUE(WKStringIsEqualToUTF8CString(WKCertificateInfoCopyVerificationErrorDescription(certificateInfo.get()), &quot;ok&quot;));
&gt; 
&gt; The return value of WKCertificateInfoCopyVerificationErrorDescription leaks.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631644</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-03-19 07:42:37 -0700</bug_when>
    <thetext>New API looks ok to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631826</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-19 14:19:01 -0700</bug_when>
    <thetext>Committed r258728: &lt;https://trac.webkit.org/changeset/258728&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 393965.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631827</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-19 14:20:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/60651795&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393229</attachid>
            <date>2020-03-11 06:02:52 -0700</date>
            <delta_ts>2020-03-19 04:31:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208913-20200311215646.patch</filename>
            <type>text/plain</type>
            <size>11883</size>
            <attacher name="Takashi Komori">takashi.komori</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MjQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmYwNmE4NTczMzRmYjVh
Y2QzNjdkOWRmODNjY2NmMjM4ODUyNTczMS4uOTJhYTc0ZGEzZjc0ZDAzYTQ3ZmMyNDE0OGU3N2My
YjRlOGQ3YTRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTExICBUYWth
c2hpIEtvbW9yaSAgPFRha2FzaGkuS29tb3JpQHNvbnkuY29tPgorCisgICAgICAgIFtDdXJsXSBB
ZGQgYW4gQVBJIHJldHVybnMgZGVzY3JpcHRpb24gb2YgdmVyaWZpY2F0aW9uIGVycm9ycy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODkxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLQ2VydGlmaWNh
dGVJbmZvQ29weVZlcmlmaWNhdGlvbkVycm9yRGVzY3JpcHRpb24gcmV0dXJucyB0aGUgZGVzY3Jp
cHRpb24gb2YgU1NMIHZlcmlmaWNhdGlvbiBlcnJvciBhcyBodW1hbiByZWFkYWJsZSBzdHJpbmcu
CisgICAgICAgIEJyb3dzZXIgY2FuIGRpc3BsYXkgbW9yZSBwcmVjaXNlIGVycm9yIGluZm9ybWF0
aW9uIHdpdGggdGhpcyBBUEkuCisKKyAgICAgICAgQVBJIFRlc3Q6IEN1cmwuQ2VydGlmaWNhdGVB
UEkKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DZXJ0aWZpY2F0ZUluZm8uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNhdGVJbmZvQ3VybC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OnZlcmlmaWNhdGlvbkVycm9yRGVz
Y3JpcHRpb24gY29uc3QpOgorCiAyMDIwLTAzLTEwICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3Rl
YWRAc29ueS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMgZWFybHkgTWFy
Y2ggMjAyMCBlZGl0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDllNGFjMWNjYzM5N2U4Njc2MTRiZDNlZGE2YjQ1
NWU5ZDllMWYzOTYuLmVmMmY3N2M0ZDkwYTM3MjI2NmVhZjMxYzk1ZjZhNWE0ZGY3MDIxNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDMtMTEgIFRha2FzaGkgS29tb3JpICA8VGFr
YXNoaS5Lb21vcmlAc29ueS5jb20+CisKKyAgICAgICAgW0N1cmxdIEFkZCBhbiBBUEkgcmV0dXJu
cyBkZXNjcmlwdGlvbiBvZiB2ZXJpZmljYXRpb24gZXJyb3JzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTEzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0tDZXJ0aWZpY2F0ZUluZm9Db3B5VmVyaWZp
Y2F0aW9uRXJyb3JEZXNjcmlwdGlvbiByZXR1cm5zIHRoZSBkZXNjcmlwdGlvbiBvZiBTU0wgdmVy
aWZpY2F0aW9uIGVycm9yIGFzIGh1bWFuIHJlYWRhYmxlIHN0cmluZy4KKyAgICAgICAgQnJvd3Nl
ciBjYW4gZGlzcGxheSBtb3JlIHByZWNpc2UgZXJyb3IgaW5mb3JtYXRpb24gd2l0aCB0aGlzIEFQ
SS4KKworICAgICAgICBBUEkgVGVzdDogQ3VybC5DZXJ0aWZpY2F0ZUFQSQorCisgICAgICAgICog
U2hhcmVkL0FQSS9jL2N1cmwvV0tDZXJ0aWZpY2F0ZUluZm9DdXJsLmNwcDoKKyAgICAgICAgKFdL
Q2VydGlmaWNhdGVJbmZvQ29weVZlcmlmaWNhdGlvbkVycm9yRGVzY3JpcHRpb24pOgorICAgICAg
ICAqIFNoYXJlZC9BUEkvYy9jdXJsL1dLQ2VydGlmaWNhdGVJbmZvQ3VybC5oOgorCiAyMDIwLTAz
LTEwICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgTm9u
LXVuaWZpZWQgYnVpbGQgZml4ZXMgZWFybHkgTWFyY2ggMjAyMCBlZGl0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNhdGVJbmZvLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNhdGVJbmZvLmgK
aW5kZXggMmZiNmZlY2I4ZDlmYWQwZTM0MGEwZmY2NmViNDBjNjFjOGI5ZmM4MC4uOTNkZDM3M2I3
NmM2ZGY3NDk1MmVmNjMwM2YxOTM1MzIyYTkzMDE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0NlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtNDUsNiAr
NDUsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgQ2VydGlmaWNhdGVJbmZvIGlzb2xh
dGVkQ29weSgpIGNvbnN0OwogCiAgICAgaW50IHZlcmlmaWNhdGlvbkVycm9yKCkgY29uc3QgeyBy
ZXR1cm4gbV92ZXJpZmljYXRpb25FcnJvcjsgfQorICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2
ZXJpZmljYXRpb25FcnJvckRlc2NyaXB0aW9uKCkgY29uc3Q7CiAgICAgY29uc3QgVmVjdG9yPENl
cnRpZmljYXRlPiYgY2VydGlmaWNhdGVDaGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNh
dGVDaGFpbjsgfQogCiAgICAgYm9vbCBjb250YWluc05vblJvb3RTSEExU2lnbmVkQ2VydGlmaWNh
dGUoKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0NlcnRpZmljYXRlSW5mb0N1
cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0NlcnRpZmljYXRl
SW5mb0N1cmwuY3BwCmluZGV4IDI3OWIzNmMxOWMyZjYxM2RmNDEyMzBhMzhkYTBhNjFmODhjYjY3
OTUuLjZiZGNkMTcxNWU0MTNkN2MxOTUyZmJlODZlYjk4OGZhZDg5YzAxY2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DZXJ0aWZpY2F0ZUluZm9DdXJs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNh
dGVJbmZvQ3VybC5jcHAKQEAgLTI2LDExICsyNiwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogCisjaWYgVVNFKENVUkwpCisKICNpbmNsdWRl
ICJPcGVuU1NMSGVscGVyLmgiCisjaW5jbHVkZSA8b3BlbnNzbC9zc2wuaD4KICNpbmNsdWRlIDx3
dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KIAotI2lmIFVTRShDVVJMKQotCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIENlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKGludCB2ZXJpZmljYXRp
b25FcnJvciwgQ2VydGlmaWNhdGVDaGFpbiYmIGNlcnRpZmljYXRlQ2hhaW4pCkBAIC00NCw2ICs0
NSwxMSBAQCBDZXJ0aWZpY2F0ZUluZm8gQ2VydGlmaWNhdGVJbmZvOjppc29sYXRlZENvcHkoKSBj
b25zdAogICAgIHJldHVybiB7IG1fdmVyaWZpY2F0aW9uRXJyb3IsIGNyb3NzVGhyZWFkQ29weSht
X2NlcnRpZmljYXRlQ2hhaW4pIH07CiB9CiAKK1N0cmluZyBDZXJ0aWZpY2F0ZUluZm86OnZlcmlm
aWNhdGlvbkVycm9yRGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIHJldHVybiBYNTA5X3Zlcmlm
eV9jZXJ0X2Vycm9yX3N0cmluZyhtX3ZlcmlmaWNhdGlvbkVycm9yKTsKK30KKwogQ2VydGlmaWNh
dGVJbmZvOjpDZXJ0aWZpY2F0ZSBDZXJ0aWZpY2F0ZUluZm86Om1ha2VDZXJ0aWZpY2F0ZShjb25z
dCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBzaXplKQogewogICAgIENlcnRpZmljYXRlIGNlcnRp
ZmljYXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY3VybC9XS0Nl
cnRpZmljYXRlSW5mb0N1cmwuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY3VybC9X
S0NlcnRpZmljYXRlSW5mb0N1cmwuY3BwCmluZGV4IDY0ZDMwMTkyYTM1YmEyOTQ5NGIzNWE2N2Yw
MWJiM2I4MGUwMjM3NzQuLjM2YjQ1ZmU4ODNjMjNlNDgzMjNkMjE5NjFjMzI1YmVmNWRhNzg1Nzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL2N1cmwvV0tDZXJ0aWZpY2F0
ZUluZm9DdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9jdXJsL1dLQ2Vy
dGlmaWNhdGVJbmZvQ3VybC5jcHAKQEAgLTU2LDYgKzU2LDExIEBAIGludCBXS0NlcnRpZmljYXRl
SW5mb0dldFZlcmlmaWNhdGlvbkVycm9yKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRl
SW5mb1JlCiAgICAgcmV0dXJuIFdlYktpdDo6dG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPmNl
cnRpZmljYXRlSW5mbygpLnZlcmlmaWNhdGlvbkVycm9yKCk7CiB9CiAKK1dLU3RyaW5nUmVmIFdL
Q2VydGlmaWNhdGVJbmZvQ29weVZlcmlmaWNhdGlvbkVycm9yRGVzY3JpcHRpb24oV0tDZXJ0aWZp
Y2F0ZUluZm9SZWYgY2VydGlmaWNhdGVJbmZvUmVmKQoreworICAgIHJldHVybiBXZWJLaXQ6OnRv
Q29waWVkQVBJKFdlYktpdDo6dG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPmNlcnRpZmljYXRl
SW5mbygpLnZlcmlmaWNhdGlvbkVycm9yRGVzY3JpcHRpb24oKSk7Cit9CisKIHNpemVfdCBXS0Nl
cnRpZmljYXRlSW5mb0dldENlcnRpZmljYXRlQ2hhaW5TaXplKFdLQ2VydGlmaWNhdGVJbmZvUmVm
IGNlcnRpZmljYXRlSW5mb1JlZikKIHsKICAgICByZXR1cm4gV2ViS2l0Ojp0b0ltcGwoY2VydGlm
aWNhdGVJbmZvUmVmKS0+Y2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpLnNpemUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL2N1cmwvV0tDZXJ0aWZp
Y2F0ZUluZm9DdXJsLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9jdXJsL1dLQ2VydGlm
aWNhdGVJbmZvQ3VybC5oCmluZGV4IDU0MjQwYzUwZTMzMGJlYjc0ZDI1MjNlNzUwMjc1NjA1YzE4
MmE3NWQuLjJjMDVmYTk4ZDU4NDVlMDM3ZWEzYmJmMjJkZjNiNTdlYmVkZDY5NTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL2N1cmwvV0tDZXJ0aWZpY2F0ZUluZm9DdXJs
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY3VybC9XS0NlcnRpZmljYXRlSW5m
b0N1cmwuaApAQCAtMzQsNiArMzQsNyBAQCBleHRlcm4gIkMiIHsKIFdLX0VYUE9SVCBXS0NlcnRp
ZmljYXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4o
V0tBcnJheVJlZik7CiAKIFdLX0VYUE9SVCBpbnQgV0tDZXJ0aWZpY2F0ZUluZm9HZXRWZXJpZmlj
YXRpb25FcnJvcihXS0NlcnRpZmljYXRlSW5mb1JlZik7CitXS19FWFBPUlQgV0tTdHJpbmdSZWYg
V0tDZXJ0aWZpY2F0ZUluZm9Db3B5VmVyaWZpY2F0aW9uRXJyb3JEZXNjcmlwdGlvbihXS0NlcnRp
ZmljYXRlSW5mb1JlZik7CiBXS19FWFBPUlQgc2l6ZV90IFdLQ2VydGlmaWNhdGVJbmZvR2V0Q2Vy
dGlmaWNhdGVDaGFpblNpemUoV0tDZXJ0aWZpY2F0ZUluZm9SZWYpOwogV0tfRVhQT1JUIFdLRGF0
YVJlZiBXS0NlcnRpZmljYXRlSW5mb0NvcHlDZXJ0aWZpY2F0ZUF0SW5kZXgoV0tDZXJ0aWZpY2F0
ZUluZm9SZWYsIHNpemVfdCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCBkNGE1MzgzMTI3ZDAwNDQxZmI0NTRiZDAyMTU5N2VlMDc1ZTk1YWQz
Li43MDFkNjM1NzMxNzQ0OWQ4MjUyMmI0YmM3MDhlNzg4M2YxYzE0MmMyIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIw
MjAtMDMtMTEgIFRha2FzaGkgS29tb3JpICA8VGFrYXNoaS5Lb21vcmlAc29ueS5jb20+CisKKyAg
ICAgICAgW0N1cmxdIEFkZCBhbiBBUEkgcmV0dXJucyBkZXNjcmlwdGlvbiBvZiB2ZXJpZmljYXRp
b24gZXJyb3JzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4OTEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV0tDZXJ0aWZpY2F0ZUluZm9Db3B5VmVyaWZpY2F0aW9uRXJyb3JEZXNjcmlwdGlvbiByZXR1
cm5zIHRoZSBkZXNjcmlwdGlvbiBvZiBTU0wgdmVyaWZpY2F0aW9uIGVycm9yIGFzIGh1bWFuIHJl
YWRhYmxlIHN0cmluZy4KKyAgICAgICAgQnJvd3NlciBjYW4gZGlzcGxheSBtb3JlIHByZWNpc2Ug
ZXJyb3IgaW5mb3JtYXRpb24gd2l0aCB0aGlzIEFQSS4KKworICAgICAgICBBUEkgVGVzdDogQ3Vy
bC5DZXJ0aWZpY2F0ZUFQSQorCisgICAgICAgICogTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHA6
CisgICAgICAgIChhc2tTZXJ2ZXJUcnVzdEV2YWx1YXRpb24pOgorICAgICAgICAqIE1pbmlCcm93
c2VyL3dpbi9Db21tb24uaDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3Nl
cldpbmRvdy5jcHA6CisgICAgICAgIChjcmVhdGVQRU1TdHJpbmcpOgorICAgICAgICAoV2ViS2l0
QnJvd3NlcldpbmRvdzo6Y2FuVHJ1c3RTZXJ2ZXJDZXJ0aWZpY2F0ZSk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY3VybC9DZXJ0aWZpY2F0ZXMuY3BwOgorICAgICAgICAo
VGVzdFdlYktpdEFQSTo6Q3VybDo6VEVTVCk6CisKIDIwMjAtMDMtMTAgIERvbiBPbG1zdGVhZCAg
PGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBTeW5jIEZlYXR1cmVMaXN0LnBtIHdp
dGggQ01ha2UgZGVmaW5pdGlvbnMKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9D
b21tb24uY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHAKaW5kZXggODdmZGU5
MjhjMTJhOTFmMTNhNGY4YmMyZjJkYzI0MDk3ZTQyZjJkMC4uYTM5NjBlOWFkYjQ0ZDdhNjI1Y2Yz
ODRiM2QzZjY2MWUzYzAzZjU4ZCAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Nv
bW1vbi5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHAKQEAgLTIzMiwy
MiArMjMyLDIyIEBAIE9wdGlvbmFsPENyZWRlbnRpYWw+IGFza0NyZWRlbnRpYWwoSFdORCBod25k
LCBjb25zdCBzdGQ6OndzdHJpbmcmIHJlYWxtKQogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9
CiAKLWJvb2wgYXNrU2VydmVyVHJ1c3RFdmFsdWF0aW9uKEhXTkQgaHduZCwgY29uc3Qgc3RkOjp3
c3RyaW5nJiBwZW1zKQorYm9vbCBhc2tTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oSFdORCBod25kLCBj
b25zdCBzdGQ6OndzdHJpbmcmIHRleHQpCiB7CiAgICAgY2xhc3MgU2VydmVyVHJ1c3RFdmFsdWF0
aW9uRGlhbG9nIDogcHVibGljIERpYWxvZyB7CiAgICAgcHVibGljOgotICAgICAgICBTZXJ2ZXJU
cnVzdEV2YWx1YXRpb25EaWFsb2coY29uc3Qgc3RkOjp3c3RyaW5nJiBwZW1zKQotICAgICAgICAg
ICAgOiBtX3BlbXMgeyBwZW1zIH0KKyAgICAgICAgU2VydmVyVHJ1c3RFdmFsdWF0aW9uRGlhbG9n
KGNvbnN0IHN0ZDo6d3N0cmluZyYgdGV4dCkKKyAgICAgICAgICAgIDogbV90ZXh0IHsgdGV4dCB9
CiAgICAgICAgIHsKICAgICAgICAgICAgIFNlbmRNZXNzYWdlKEdldERsZ0l0ZW0odGhpcy0+aERs
ZygpLCBJRENfU0VSVkVSX1RSVVNUX1RFWFQpLCBXTV9TRVRGT05ULCAoV1BBUkFNKUdldFN0b2Nr
T2JqZWN0KEFOU0lfRklYRURfRk9OVCksIFRSVUUpOwogICAgICAgICB9CiAKICAgICBwcm90ZWN0
ZWQ6Ci0gICAgICAgIHN0ZDo6d3N0cmluZyBtX3BlbXM7CisgICAgICAgIHN0ZDo6d3N0cmluZyBt
X3RleHQ7CiAKICAgICAgICAgdm9pZCBzZXR1cCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHNl
dFRleHQoSURDX1NFUlZFUl9UUlVTVF9URVhULCBtX3BlbXMpOworICAgICAgICAgICAgc2V0VGV4
dChJRENfU0VSVkVSX1RSVVNUX1RFWFQsIG1fdGV4dCk7CiAgICAgICAgIH0KIAogICAgICAgICB2
b2lkIG9rKCkgZmluYWwKQEAgLTI1Niw3ICsyNTYsNyBAQCBib29sIGFza1NlcnZlclRydXN0RXZh
bHVhdGlvbihIV05EIGh3bmQsIGNvbnN0IHN0ZDo6d3N0cmluZyYgcGVtcykKICAgICAgICAgfQog
ICAgIH07CiAKLSAgICBTZXJ2ZXJUcnVzdEV2YWx1YXRpb25EaWFsb2cgZGlhbG9nIHsgcGVtcyB9
OworICAgIFNlcnZlclRydXN0RXZhbHVhdGlvbkRpYWxvZyBkaWFsb2cgeyB0ZXh0IH07CiAgICAg
cmV0dXJuIGRpYWxvZy5ydW4oaEluc3QsIGh3bmQsIElERF9TRVJWRVJfVFJVU1QpOwogfQogCmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmggYi9Ub29scy9NaW5pQnJv
d3Nlci93aW4vQ29tbW9uLmgKaW5kZXggZDk5NmZlYjY0ZTAyZDczOTlmMmVkMGIzNGQzZDBkZDAz
MTMzZjgyNC4uNmM0MjFjZWU2NmE5MDdiODY1ZTc4NTI1OGQwNmQ5MTIyYjA1MDM3YSAxMDA2NDQK
LS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5oCisrKyBiL1Rvb2xzL01pbmlCcm93
c2VyL3dpbi9Db21tb24uaApAQCAtNjgsNyArNjgsNyBAQCB2b2lkIGNyZWF0ZUNyYXNoUmVwb3J0
KEVYQ0VQVElPTl9QT0lOVEVSUyopOwogT3B0aW9uYWw8Q3JlZGVudGlhbD4gYXNrQ3JlZGVudGlh
bChIV05ELCBjb25zdCBzdGQ6OndzdHJpbmcmIHJlYWxtKTsKIGJvb2wgYXNrUHJveHlTZXR0aW5n
cyhIV05ELCBQcm94eVNldHRpbmdzJik7CiAKLWJvb2wgYXNrU2VydmVyVHJ1c3RFdmFsdWF0aW9u
KEhXTkQsIGNvbnN0IHN0ZDo6d3N0cmluZyYgcGVtcyk7Citib29sIGFza1NlcnZlclRydXN0RXZh
bHVhdGlvbihIV05ELCBjb25zdCBzdGQ6OndzdHJpbmcmIHRleHQpOwogc3RkOjp3c3RyaW5nIHJl
cGxhY2VTdHJpbmcoc3RkOjp3c3RyaW5nIHNyYywgY29uc3Qgc3RkOjp3c3RyaW5nJiBvbGRWYWx1
ZSwgY29uc3Qgc3RkOjp3c3RyaW5nJiBuZXdWYWx1ZSk7CiAKIGV4dGVybiBISU5TVEFOQ0UgaElu
c3Q7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRv
dy5jcHAgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKaW5k
ZXggZGMyYjNmMjU3NjAwZTNmNGQxNzI4NzVlYmI4MjE3NjlhMTYwOTc5ZC4uZjRjZGQ5ZDBmMTEz
NjZkNzA4ZDFlYmM2NTk2YzQzNTdjZTA3YzE0YiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dz
ZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3BwCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dp
bi9XZWJLaXRCcm93c2VyV2luZG93LmNwcApAQCAtNjQsOSArNjQsOCBAQCBzdGQ6OnN0cmluZyBj
cmVhdGVVVEY4U3RyaW5nKGNvbnN0IHdjaGFyX3QqIHNyYywgc2l6ZV90IHNyY0xlbmd0aCkKICAg
ICByZXR1cm4geyBidWZmZXIuZGF0YSgpLCBhY3R1YWxMZW5ndGggfTsKIH0KIAotc3RkOjp3c3Ry
aW5nIGNyZWF0ZVBFTVN0cmluZyhXS1Byb3RlY3Rpb25TcGFjZVJlZiBwcm90ZWN0aW9uU3BhY2Up
CitzdGQ6OndzdHJpbmcgY3JlYXRlUEVNU3RyaW5nKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRp
ZmljYXRlSW5mbykKIHsKLSAgICBhdXRvIGNlcnRpZmljYXRlSW5mbyA9IFdLUHJvdGVjdGlvblNw
YWNlQ29weUNlcnRpZmljYXRlSW5mbyhwcm90ZWN0aW9uU3BhY2UpOwogICAgIGF1dG8gY2hhaW5T
aXplID0gV0tDZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUNoYWluU2l6ZShjZXJ0aWZpY2F0
ZUluZm8pOwogCiAgICAgc3RkOjp3c3RyaW5nIHBlbXM7CkBAIC0zNjcsMTMgKzM2NiwyMSBAQCB2
b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZShXS1BhZ2VSZWYgcGFnZSwgV0tBdQogYm9vbCBXZWJLaXRCcm93c2VyV2luZG93OjpjYW5UcnVz
dFNlcnZlckNlcnRpZmljYXRlKFdLUHJvdGVjdGlvblNwYWNlUmVmIHByb3RlY3Rpb25TcGFjZSkK
IHsKICAgICBhdXRvIGhvc3QgPSBjcmVhdGVTdHJpbmcoYWRvcHRXSyhXS1Byb3RlY3Rpb25TcGFj
ZUNvcHlIb3N0KHByb3RlY3Rpb25TcGFjZSkpLmdldCgpKTsKLSAgICBhdXRvIHBlbSA9IGNyZWF0
ZVBFTVN0cmluZyhwcm90ZWN0aW9uU3BhY2UpOworICAgIGF1dG8gY2VydGlmaWNhdGVJbmZvID0g
V0tQcm90ZWN0aW9uU3BhY2VDb3B5Q2VydGlmaWNhdGVJbmZvKHByb3RlY3Rpb25TcGFjZSk7Cisg
ICAgYXV0byB2ZXJpZmljYXRpb25FcnJvciA9IFdLQ2VydGlmaWNhdGVJbmZvR2V0VmVyaWZpY2F0
aW9uRXJyb3IoY2VydGlmaWNhdGVJbmZvKTsKKyAgICBhdXRvIGRlc2NyaXB0aW9uID0gV0tDZXJ0
aWZpY2F0ZUluZm9Db3B5VmVyaWZpY2F0aW9uRXJyb3JEZXNjcmlwdGlvbihjZXJ0aWZpY2F0ZUlu
Zm8pOworICAgIGF1dG8gcGVtID0gY3JlYXRlUEVNU3RyaW5nKGNlcnRpZmljYXRlSW5mbyk7CiAK
ICAgICBhdXRvIGl0ID0gbV9hY2NlcHRlZFNlcnZlclRydXN0Q2VydHMuZmluZChob3N0KTsKICAg
ICBpZiAoaXQgIT0gbV9hY2NlcHRlZFNlcnZlclRydXN0Q2VydHMuZW5kKCkgJiYgaXQtPnNlY29u
ZCA9PSBwZW0pCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKGFza1NlcnZlclRydXN0
RXZhbHVhdGlvbihod25kKCksIHBlbSkpIHsKKyAgICBzdGQ6OndzdHJpbmcgdGV4dFN0cmluZyA9
IEwiW0hPU1RdICIgKyBob3N0ICsgTCJcclxuIjsKKyAgICB0ZXh0U3RyaW5nLmFwcGVuZChMIltF
UlJPUl0gIiArIHN0ZDo6dG9fd3N0cmluZyh2ZXJpZmljYXRpb25FcnJvcikgKyBMIlxyXG4iKTsK
KyAgICB0ZXh0U3RyaW5nLmFwcGVuZChMIltERVNDUklQVElPTl0gIiArIGNyZWF0ZVN0cmluZyhk
ZXNjcmlwdGlvbikgKyBMIlxyXG4iKTsKKyAgICB0ZXh0U3RyaW5nLmFwcGVuZChwZW0pOworCisg
ICAgaWYgKGFza1NlcnZlclRydXN0RXZhbHVhdGlvbihod25kKCksIHRleHRTdHJpbmcpKSB7CiAg
ICAgICAgIG1fYWNjZXB0ZWRTZXJ2ZXJUcnVzdENlcnRzLmVtcGxhY2UoaG9zdCwgcGVtKTsKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvY3VybC9DZXJ0aWZpY2F0ZXMuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvY3VybC9DZXJ0aWZpY2F0ZXMuY3BwCmluZGV4IDRlZTJlNzc4MzJmZmEz
YTE0YzgyYTg3YTUzNzg2MjU3OWIxMzQ0MjIuLjk4MWIyNDNiZmJkMmM5Yjc0MTYxMGZhMmQwYzA2
ZWIxM2FiM2NiZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
L2N1cmwvQ2VydGlmaWNhdGVzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9jdXJsL0NlcnRpZmljYXRlcy5jcHAKQEAgLTg5LDYgKzg5LDggQEAgVEVTVChDdXJsLCBD
ZXJ0aWZpY2F0ZUFQSSkKIAogICAgIGF1dG8gc2l6ZSA9IFdLQ2VydGlmaWNhdGVJbmZvR2V0Q2Vy
dGlmaWNhdGVDaGFpblNpemUoY2VydGlmaWNhdGVJbmZvLmdldCgpKTsKICAgICBBU1NFUlRfRVEo
c2l6ZSwgMik7CisgICAgQVNTRVJUX0VRKFdLQ2VydGlmaWNhdGVJbmZvR2V0VmVyaWZpY2F0aW9u
RXJyb3IoY2VydGlmaWNhdGVJbmZvLmdldCgpKSwgMCk7CisgICAgQVNTRVJUX1RSVUUoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhXS0NlcnRpZmljYXRlSW5mb0NvcHlWZXJpZmljYXRpb25F
cnJvckRlc2NyaXB0aW9uKGNlcnRpZmljYXRlSW5mby5nZXQoKSksICJvayIpKTsKICAgICBBU1NF
UlRfVFJVRShpc1NhbWVQRU0oV0tDZXJ0aWZpY2F0ZUluZm9Db3B5Q2VydGlmaWNhdGVBdEluZGV4
KGNlcnRpZmljYXRlSW5mby5nZXQoKSwgMCksIFBFTTEpKTsKICAgICBBU1NFUlRfVFJVRShpc1Nh
bWVQRU0oV0tDZXJ0aWZpY2F0ZUluZm9Db3B5Q2VydGlmaWNhdGVBdEluZGV4KGNlcnRpZmljYXRl
SW5mby5nZXQoKSwgMSksIFBFTTIpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393965</attachid>
            <date>2020-03-19 04:31:04 -0700</date>
            <delta_ts>2020-03-19 14:19:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208913-20200319202503.patch</filename>
            <type>text/plain</type>
            <size>12150</size>
            <attacher name="Takashi Komori">takashi.komori</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWZmZGNmOTAwM2YwZWQ5
ZTVkOWI0ZjFiNTYyODdmNWFiZjIzM2Q4ZC4uNzcxZDgwZTg4ZWYwNzY5OWRhMzU1NTMyMDMyYjJh
YjA1NDczM2Q4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTAzLTE5ICBUYWth
c2hpIEtvbW9yaSAgPFRha2FzaGkuS29tb3JpQHNvbnkuY29tPgorCisgICAgICAgIFtDdXJsXSBB
ZGQgYW4gQVBJIHJldHVybnMgZGVzY3JpcHRpb24gb2YgdmVyaWZpY2F0aW9uIGVycm9ycy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODkxMworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdLQ2VydGlmaWNh
dGVJbmZvQ29weVZlcmlmaWNhdGlvbkVycm9yRGVzY3JpcHRpb24gcmV0dXJucyB0aGUgZGVzY3Jp
cHRpb24gb2YgU1NMIHZlcmlmaWNhdGlvbiBlcnJvciBhcyBodW1hbiByZWFkYWJsZSBzdHJpbmcu
CisgICAgICAgIEJyb3dzZXIgY2FuIGRpc3BsYXkgbW9yZSBwcmVjaXNlIGVycm9yIGluZm9ybWF0
aW9uIHdpdGggdGhpcyBBUEkuCisKKyAgICAgICAgQVBJIFRlc3Q6IEN1cmwuQ2VydGlmaWNhdGVB
UEkKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DZXJ0aWZpY2F0ZUluZm8uaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNhdGVJbmZvQ3VybC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm86OnZlcmlmaWNhdGlvbkVycm9yRGVz
Y3JpcHRpb24gY29uc3QpOgorCiAyMDIwLTAzLTE2ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2Fy
ZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQ29sb3IgUGlja2VyIGNyYXNoZXMgb24gdG91Y2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMjM2MTdkYjFkNDFlNDNiOTY0MTBmZmQ0YzBmZTdiZjA0OTNhMzZmYi4uNTdk
YmU0NGYzODU5MmEyZDZlYzJmMjc5MDUxMTZhMGY4ZjFiYWRlMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAyMC0wMy0xOSAgVGFrYXNoaSBLb21vcmkgIDxUYWthc2hpLktvbW9yaUBzb255
LmNvbT4KKworICAgICAgICBbQ3VybF0gQWRkIGFuIEFQSSByZXR1cm5zIGRlc2NyaXB0aW9uIG9m
IHZlcmlmaWNhdGlvbiBlcnJvcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDg5MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXS0NlcnRpZmljYXRlSW5mb0NvcHlWZXJpZmljYXRpb25FcnJvckRlc2Ny
aXB0aW9uIHJldHVybnMgdGhlIGRlc2NyaXB0aW9uIG9mIFNTTCB2ZXJpZmljYXRpb24gZXJyb3Ig
YXMgaHVtYW4gcmVhZGFibGUgc3RyaW5nLgorICAgICAgICBCcm93c2VyIGNhbiBkaXNwbGF5IG1v
cmUgcHJlY2lzZSBlcnJvciBpbmZvcm1hdGlvbiB3aXRoIHRoaXMgQVBJLgorCisgICAgICAgIEFQ
SSBUZXN0OiBDdXJsLkNlcnRpZmljYXRlQVBJCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvY3Vy
bC9XS0NlcnRpZmljYXRlSW5mb0N1cmwuY3BwOgorICAgICAgICAoV0tDZXJ0aWZpY2F0ZUluZm9D
b3B5VmVyaWZpY2F0aW9uRXJyb3JEZXNjcmlwdGlvbik6CisgICAgICAgICogU2hhcmVkL0FQSS9j
L2N1cmwvV0tDZXJ0aWZpY2F0ZUluZm9DdXJsLmg6CisKIDIwMjAtMDMtMTYgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gQWNjZXNzaWJpbGl0
eSBzYW5kYm94IHJlZ3Jlc3Npb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNhdGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNhdGVJbmZvLmgKaW5kZXggMmZiNmZlY2I4ZDlmYWQwZTM0
MGEwZmY2NmViNDBjNjFjOGI5ZmM4MC4uOTNkZDM3M2I3NmM2ZGY3NDk1MmVmNjMwM2YxOTM1MzIy
YTkzMDE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0NlcnRpZmljYXRlSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DZXJ0aWZpY2F0ZUluZm8uaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgV0VC
Q09SRV9FWFBPUlQgQ2VydGlmaWNhdGVJbmZvIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogCiAgICAg
aW50IHZlcmlmaWNhdGlvbkVycm9yKCkgY29uc3QgeyByZXR1cm4gbV92ZXJpZmljYXRpb25FcnJv
cjsgfQorICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2ZXJpZmljYXRpb25FcnJvckRlc2NyaXB0
aW9uKCkgY29uc3Q7CiAgICAgY29uc3QgVmVjdG9yPENlcnRpZmljYXRlPiYgY2VydGlmaWNhdGVD
aGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVDaGFpbjsgfQogCiAgICAgYm9vbCBj
b250YWluc05vblJvb3RTSEExU2lnbmVkQ2VydGlmaWNhdGUoKSBjb25zdCB7IG5vdEltcGxlbWVu
dGVkKCk7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL0NlcnRpZmljYXRlSW5mb0N1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL0NlcnRpZmljYXRlSW5mb0N1cmwuY3BwCmluZGV4IDI3OWIz
NmMxOWMyZjYxM2RmNDEyMzBhMzhkYTBhNjFmODhjYjY3OTUuLjZiZGNkMTcxNWU0MTNkN2MxOTUy
ZmJlODZlYjk4OGZhZDg5YzAxY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DZXJ0aWZpY2F0ZUluZm9DdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ2VydGlmaWNhdGVJbmZvQ3VybC5jcHAKQEAgLTI2LDEx
ICsyNiwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5m
by5oIgogCisjaWYgVVNFKENVUkwpCisKICNpbmNsdWRlICJPcGVuU1NMSGVscGVyLmgiCisjaW5j
bHVkZSA8b3BlbnNzbC9zc2wuaD4KICNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4K
IAotI2lmIFVTRShDVVJMKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIENlcnRpZmljYXRlSW5m
bzo6Q2VydGlmaWNhdGVJbmZvKGludCB2ZXJpZmljYXRpb25FcnJvciwgQ2VydGlmaWNhdGVDaGFp
biYmIGNlcnRpZmljYXRlQ2hhaW4pCkBAIC00NCw2ICs0NSwxMSBAQCBDZXJ0aWZpY2F0ZUluZm8g
Q2VydGlmaWNhdGVJbmZvOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgIHJldHVybiB7IG1fdmVy
aWZpY2F0aW9uRXJyb3IsIGNyb3NzVGhyZWFkQ29weShtX2NlcnRpZmljYXRlQ2hhaW4pIH07CiB9
CiAKK1N0cmluZyBDZXJ0aWZpY2F0ZUluZm86OnZlcmlmaWNhdGlvbkVycm9yRGVzY3JpcHRpb24o
KSBjb25zdAoreworICAgIHJldHVybiBYNTA5X3ZlcmlmeV9jZXJ0X2Vycm9yX3N0cmluZyhtX3Zl
cmlmaWNhdGlvbkVycm9yKTsKK30KKwogQ2VydGlmaWNhdGVJbmZvOjpDZXJ0aWZpY2F0ZSBDZXJ0
aWZpY2F0ZUluZm86Om1ha2VDZXJ0aWZpY2F0ZShjb25zdCB1aW50OF90KiBidWZmZXIsIHNpemVf
dCBzaXplKQogewogICAgIENlcnRpZmljYXRlIGNlcnRpZmljYXRlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY3VybC9XS0NlcnRpZmljYXRlSW5mb0N1cmwuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvY3VybC9XS0NlcnRpZmljYXRlSW5mb0N1cmwuY3Bw
CmluZGV4IDY0ZDMwMTkyYTM1YmEyOTQ5NGIzNWE2N2YwMWJiM2I4MGUwMjM3NzQuLjM2YjQ1ZmU4
ODNjMjNlNDgzMjNkMjE5NjFjMzI1YmVmNWRhNzg1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FQSS9jL2N1cmwvV0tDZXJ0aWZpY2F0ZUluZm9DdXJsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9jdXJsL1dLQ2VydGlmaWNhdGVJbmZvQ3VybC5jcHAKQEAg
LTU2LDYgKzU2LDExIEBAIGludCBXS0NlcnRpZmljYXRlSW5mb0dldFZlcmlmaWNhdGlvbkVycm9y
KFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlCiAgICAgcmV0dXJuIFdlYktp
dDo6dG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZiktPmNlcnRpZmljYXRlSW5mbygpLnZlcmlmaWNh
dGlvbkVycm9yKCk7CiB9CiAKK1dLU3RyaW5nUmVmIFdLQ2VydGlmaWNhdGVJbmZvQ29weVZlcmlm
aWNhdGlvbkVycm9yRGVzY3JpcHRpb24oV0tDZXJ0aWZpY2F0ZUluZm9SZWYgY2VydGlmaWNhdGVJ
bmZvUmVmKQoreworICAgIHJldHVybiBXZWJLaXQ6OnRvQ29waWVkQVBJKFdlYktpdDo6dG9JbXBs
KGNlcnRpZmljYXRlSW5mb1JlZiktPmNlcnRpZmljYXRlSW5mbygpLnZlcmlmaWNhdGlvbkVycm9y
RGVzY3JpcHRpb24oKSk7Cit9CisKIHNpemVfdCBXS0NlcnRpZmljYXRlSW5mb0dldENlcnRpZmlj
YXRlQ2hhaW5TaXplKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mb1JlZikKIHsK
ICAgICByZXR1cm4gV2ViS2l0Ojp0b0ltcGwoY2VydGlmaWNhdGVJbmZvUmVmKS0+Y2VydGlmaWNh
dGVJbmZvKCkuY2VydGlmaWNhdGVDaGFpbigpLnNpemUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FQSS9jL2N1cmwvV0tDZXJ0aWZpY2F0ZUluZm9DdXJsLmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BUEkvYy9jdXJsL1dLQ2VydGlmaWNhdGVJbmZvQ3VybC5oCmluZGV4IDU0
MjQwYzUwZTMzMGJlYjc0ZDI1MjNlNzUwMjc1NjA1YzE4MmE3NWQuLjJjMDVmYTk4ZDU4NDVlMDM3
ZWEzYmJmMjJkZjNiNTdlYmVkZDY5NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSS9jL2N1cmwvV0tDZXJ0aWZpY2F0ZUluZm9DdXJsLmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJL2MvY3VybC9XS0NlcnRpZmljYXRlSW5mb0N1cmwuaApAQCAtMzQsNiArMzQsNyBA
QCBleHRlcm4gIkMiIHsKIFdLX0VYUE9SVCBXS0NlcnRpZmljYXRlSW5mb1JlZiBXS0NlcnRpZmlj
YXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oV0tBcnJheVJlZik7CiAKIFdLX0VYUE9S
VCBpbnQgV0tDZXJ0aWZpY2F0ZUluZm9HZXRWZXJpZmljYXRpb25FcnJvcihXS0NlcnRpZmljYXRl
SW5mb1JlZik7CitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tDZXJ0aWZpY2F0ZUluZm9Db3B5VmVy
aWZpY2F0aW9uRXJyb3JEZXNjcmlwdGlvbihXS0NlcnRpZmljYXRlSW5mb1JlZik7CiBXS19FWFBP
UlQgc2l6ZV90IFdLQ2VydGlmaWNhdGVJbmZvR2V0Q2VydGlmaWNhdGVDaGFpblNpemUoV0tDZXJ0
aWZpY2F0ZUluZm9SZWYpOwogV0tfRVhQT1JUIFdLRGF0YVJlZiBXS0NlcnRpZmljYXRlSW5mb0Nv
cHlDZXJ0aWZpY2F0ZUF0SW5kZXgoV0tDZXJ0aWZpY2F0ZUluZm9SZWYsIHNpemVfdCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMjQzZDli
ODVlNWJjYzU3MjJiNmQwYmYyMDcxZWY0MTBiZGU3OWIzLi45NmM1NjEzNGMxNTIyODBmYWFkZDJh
NTAzMDc0OWI5ZWUyZTBmNGQ1IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDMtMTkgIFRha2FzaGkgS29tb3Jp
ICA8VGFrYXNoaS5Lb21vcmlAc29ueS5jb20+CisKKyAgICAgICAgW0N1cmxdIEFkZCBhbiBBUEkg
cmV0dXJucyBkZXNjcmlwdGlvbiBvZiB2ZXJpZmljYXRpb24gZXJyb3JzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTEzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0tDZXJ0aWZpY2F0ZUluZm9Db3B5
VmVyaWZpY2F0aW9uRXJyb3JEZXNjcmlwdGlvbiByZXR1cm5zIHRoZSBkZXNjcmlwdGlvbiBvZiBT
U0wgdmVyaWZpY2F0aW9uIGVycm9yIGFzIGh1bWFuIHJlYWRhYmxlIHN0cmluZy4KKyAgICAgICAg
QnJvd3NlciBjYW4gZGlzcGxheSBtb3JlIHByZWNpc2UgZXJyb3IgaW5mb3JtYXRpb24gd2l0aCB0
aGlzIEFQSS4KKworICAgICAgICBBUEkgVGVzdDogQ3VybC5DZXJ0aWZpY2F0ZUFQSQorCisgICAg
ICAgICogTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHA6CisgICAgICAgIChhc2tTZXJ2ZXJUcnVz
dEV2YWx1YXRpb24pOgorICAgICAgICAqIE1pbmlCcm93c2VyL3dpbi9Db21tb24uaDoKKyAgICAg
ICAgKiBNaW5pQnJvd3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHA6CisgICAgICAgIChj
cmVhdGVQRU1TdHJpbmcpOgorICAgICAgICAoV2ViS2l0QnJvd3NlcldpbmRvdzo6Y2FuVHJ1c3RT
ZXJ2ZXJDZXJ0aWZpY2F0ZSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
Y3VybC9DZXJ0aWZpY2F0ZXMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Q3VybDo6VEVT
VCk6CisKIDIwMjAtMDMtMTYgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbW92ZSBzdXBwb3J0IGZvciBXZWJLaXRTeXN0ZW1JbnRlcmZhY2UKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uY3BwIGIvVG9vbHMvTWluaUJyb3dzZXIv
d2luL0NvbW1vbi5jcHAKaW5kZXggODdmZGU5MjhjMTJhOTFmMTNhNGY4YmMyZjJkYzI0MDk3ZTQy
ZjJkMC4uYTM5NjBlOWFkYjQ0ZDdhNjI1Y2YzODRiM2QzZjY2MWUzYzAzZjU4ZCAxMDA2NDQKLS0t
IGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0NvbW1vbi5jcHAKKysrIGIvVG9vbHMvTWluaUJyb3dz
ZXIvd2luL0NvbW1vbi5jcHAKQEAgLTIzMiwyMiArMjMyLDIyIEBAIE9wdGlvbmFsPENyZWRlbnRp
YWw+IGFza0NyZWRlbnRpYWwoSFdORCBod25kLCBjb25zdCBzdGQ6OndzdHJpbmcmIHJlYWxtKQog
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKLWJvb2wgYXNrU2VydmVyVHJ1c3RFdmFsdWF0
aW9uKEhXTkQgaHduZCwgY29uc3Qgc3RkOjp3c3RyaW5nJiBwZW1zKQorYm9vbCBhc2tTZXJ2ZXJU
cnVzdEV2YWx1YXRpb24oSFdORCBod25kLCBjb25zdCBzdGQ6OndzdHJpbmcmIHRleHQpCiB7CiAg
ICAgY2xhc3MgU2VydmVyVHJ1c3RFdmFsdWF0aW9uRGlhbG9nIDogcHVibGljIERpYWxvZyB7CiAg
ICAgcHVibGljOgotICAgICAgICBTZXJ2ZXJUcnVzdEV2YWx1YXRpb25EaWFsb2coY29uc3Qgc3Rk
Ojp3c3RyaW5nJiBwZW1zKQotICAgICAgICAgICAgOiBtX3BlbXMgeyBwZW1zIH0KKyAgICAgICAg
U2VydmVyVHJ1c3RFdmFsdWF0aW9uRGlhbG9nKGNvbnN0IHN0ZDo6d3N0cmluZyYgdGV4dCkKKyAg
ICAgICAgICAgIDogbV90ZXh0IHsgdGV4dCB9CiAgICAgICAgIHsKICAgICAgICAgICAgIFNlbmRN
ZXNzYWdlKEdldERsZ0l0ZW0odGhpcy0+aERsZygpLCBJRENfU0VSVkVSX1RSVVNUX1RFWFQpLCBX
TV9TRVRGT05ULCAoV1BBUkFNKUdldFN0b2NrT2JqZWN0KEFOU0lfRklYRURfRk9OVCksIFRSVUUp
OwogICAgICAgICB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHN0ZDo6d3N0cmluZyBtX3Bl
bXM7CisgICAgICAgIHN0ZDo6d3N0cmluZyBtX3RleHQ7CiAKICAgICAgICAgdm9pZCBzZXR1cCgp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIHNldFRleHQoSURDX1NFUlZFUl9UUlVTVF9URVhULCBt
X3BlbXMpOworICAgICAgICAgICAgc2V0VGV4dChJRENfU0VSVkVSX1RSVVNUX1RFWFQsIG1fdGV4
dCk7CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIG9rKCkgZmluYWwKQEAgLTI1Niw3ICsyNTYs
NyBAQCBib29sIGFza1NlcnZlclRydXN0RXZhbHVhdGlvbihIV05EIGh3bmQsIGNvbnN0IHN0ZDo6
d3N0cmluZyYgcGVtcykKICAgICAgICAgfQogICAgIH07CiAKLSAgICBTZXJ2ZXJUcnVzdEV2YWx1
YXRpb25EaWFsb2cgZGlhbG9nIHsgcGVtcyB9OworICAgIFNlcnZlclRydXN0RXZhbHVhdGlvbkRp
YWxvZyBkaWFsb2cgeyB0ZXh0IH07CiAgICAgcmV0dXJuIGRpYWxvZy5ydW4oaEluc3QsIGh3bmQs
IElERF9TRVJWRVJfVFJVU1QpOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci93
aW4vQ29tbW9uLmggYi9Ub29scy9NaW5pQnJvd3Nlci93aW4vQ29tbW9uLmgKaW5kZXggZDk5NmZl
YjY0ZTAyZDczOTlmMmVkMGIzNGQzZDBkZDAzMTMzZjgyNC4uNmM0MjFjZWU2NmE5MDdiODY1ZTc4
NTI1OGQwNmQ5MTIyYjA1MDM3YSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL0Nv
bW1vbi5oCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9Db21tb24uaApAQCAtNjgsNyArNjgs
NyBAQCB2b2lkIGNyZWF0ZUNyYXNoUmVwb3J0KEVYQ0VQVElPTl9QT0lOVEVSUyopOwogT3B0aW9u
YWw8Q3JlZGVudGlhbD4gYXNrQ3JlZGVudGlhbChIV05ELCBjb25zdCBzdGQ6OndzdHJpbmcmIHJl
YWxtKTsKIGJvb2wgYXNrUHJveHlTZXR0aW5ncyhIV05ELCBQcm94eVNldHRpbmdzJik7CiAKLWJv
b2wgYXNrU2VydmVyVHJ1c3RFdmFsdWF0aW9uKEhXTkQsIGNvbnN0IHN0ZDo6d3N0cmluZyYgcGVt
cyk7Citib29sIGFza1NlcnZlclRydXN0RXZhbHVhdGlvbihIV05ELCBjb25zdCBzdGQ6OndzdHJp
bmcmIHRleHQpOwogc3RkOjp3c3RyaW5nIHJlcGxhY2VTdHJpbmcoc3RkOjp3c3RyaW5nIHNyYywg
Y29uc3Qgc3RkOjp3c3RyaW5nJiBvbGRWYWx1ZSwgY29uc3Qgc3RkOjp3c3RyaW5nJiBuZXdWYWx1
ZSk7CiAKIGV4dGVybiBISU5TVEFOQ0UgaEluc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJv
d3Nlci93aW4vV2ViS2l0QnJvd3NlcldpbmRvdy5jcHAgYi9Ub29scy9NaW5pQnJvd3Nlci93aW4v
V2ViS2l0QnJvd3NlcldpbmRvdy5jcHAKaW5kZXggZGMyYjNmMjU3NjAwZTNmNGQxNzI4NzVlYmI4
MjE3NjlhMTYwOTc5ZC4uMWU0ZmIyNzg4NDAzNGRjY2EzMzNmNzdlZmQyNDE1MGQ0YzlkYzJlYyAx
MDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvd2luL1dlYktpdEJyb3dzZXJXaW5kb3cuY3Bw
CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3dpbi9XZWJLaXRCcm93c2VyV2luZG93LmNwcApAQCAt
NjQsOSArNjQsOCBAQCBzdGQ6OnN0cmluZyBjcmVhdGVVVEY4U3RyaW5nKGNvbnN0IHdjaGFyX3Qq
IHNyYywgc2l6ZV90IHNyY0xlbmd0aCkKICAgICByZXR1cm4geyBidWZmZXIuZGF0YSgpLCBhY3R1
YWxMZW5ndGggfTsKIH0KIAotc3RkOjp3c3RyaW5nIGNyZWF0ZVBFTVN0cmluZyhXS1Byb3RlY3Rp
b25TcGFjZVJlZiBwcm90ZWN0aW9uU3BhY2UpCitzdGQ6OndzdHJpbmcgY3JlYXRlUEVNU3RyaW5n
KFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRpZmljYXRlSW5mbykKIHsKLSAgICBhdXRvIGNlcnRp
ZmljYXRlSW5mbyA9IFdLUHJvdGVjdGlvblNwYWNlQ29weUNlcnRpZmljYXRlSW5mbyhwcm90ZWN0
aW9uU3BhY2UpOwogICAgIGF1dG8gY2hhaW5TaXplID0gV0tDZXJ0aWZpY2F0ZUluZm9HZXRDZXJ0
aWZpY2F0ZUNoYWluU2l6ZShjZXJ0aWZpY2F0ZUluZm8pOwogCiAgICAgc3RkOjp3c3RyaW5nIHBl
bXM7CkBAIC0zNjcsMTMgKzM2NiwyMSBAQCB2b2lkIFdlYktpdEJyb3dzZXJXaW5kb3c6OmRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXS1BhZ2VSZWYgcGFnZSwgV0tBdQogYm9vbCBX
ZWJLaXRCcm93c2VyV2luZG93OjpjYW5UcnVzdFNlcnZlckNlcnRpZmljYXRlKFdLUHJvdGVjdGlv
blNwYWNlUmVmIHByb3RlY3Rpb25TcGFjZSkKIHsKICAgICBhdXRvIGhvc3QgPSBjcmVhdGVTdHJp
bmcoYWRvcHRXSyhXS1Byb3RlY3Rpb25TcGFjZUNvcHlIb3N0KHByb3RlY3Rpb25TcGFjZSkpLmdl
dCgpKTsKLSAgICBhdXRvIHBlbSA9IGNyZWF0ZVBFTVN0cmluZyhwcm90ZWN0aW9uU3BhY2UpOwor
ICAgIGF1dG8gY2VydGlmaWNhdGVJbmZvID0gYWRvcHRXSyhXS1Byb3RlY3Rpb25TcGFjZUNvcHlD
ZXJ0aWZpY2F0ZUluZm8ocHJvdGVjdGlvblNwYWNlKSk7CisgICAgYXV0byB2ZXJpZmljYXRpb25F
cnJvciA9IFdLQ2VydGlmaWNhdGVJbmZvR2V0VmVyaWZpY2F0aW9uRXJyb3IoY2VydGlmaWNhdGVJ
bmZvLmdldCgpKTsKKyAgICBhdXRvIGRlc2NyaXB0aW9uID0gY3JlYXRlU3RyaW5nKGFkb3B0V0so
V0tDZXJ0aWZpY2F0ZUluZm9Db3B5VmVyaWZpY2F0aW9uRXJyb3JEZXNjcmlwdGlvbihjZXJ0aWZp
Y2F0ZUluZm8uZ2V0KCkpKS5nZXQoKSk7CisgICAgYXV0byBwZW0gPSBjcmVhdGVQRU1TdHJpbmco
Y2VydGlmaWNhdGVJbmZvLmdldCgpKTsKIAogICAgIGF1dG8gaXQgPSBtX2FjY2VwdGVkU2VydmVy
VHJ1c3RDZXJ0cy5maW5kKGhvc3QpOwogICAgIGlmIChpdCAhPSBtX2FjY2VwdGVkU2VydmVyVHJ1
c3RDZXJ0cy5lbmQoKSAmJiBpdC0+c2Vjb25kID09IHBlbSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKLSAgICBpZiAoYXNrU2VydmVyVHJ1c3RFdmFsdWF0aW9uKGh3bmQoKSwgcGVtKSkgeworICAg
IHN0ZDo6d3N0cmluZyB0ZXh0U3RyaW5nID0gTCJbSE9TVF0gIiArIGhvc3QgKyBMIlxyXG4iOwor
ICAgIHRleHRTdHJpbmcuYXBwZW5kKEwiW0VSUk9SXSAiICsgc3RkOjp0b193c3RyaW5nKHZlcmlm
aWNhdGlvbkVycm9yKSArIEwiXHJcbiIpOworICAgIHRleHRTdHJpbmcuYXBwZW5kKEwiW0RFU0NS
SVBUSU9OXSAiICsgZGVzY3JpcHRpb24gKyBMIlxyXG4iKTsKKyAgICB0ZXh0U3RyaW5nLmFwcGVu
ZChwZW0pOworCisgICAgaWYgKGFza1NlcnZlclRydXN0RXZhbHVhdGlvbihod25kKCksIHRleHRT
dHJpbmcpKSB7CiAgICAgICAgIG1fYWNjZXB0ZWRTZXJ2ZXJUcnVzdENlcnRzLmVtcGxhY2UoaG9z
dCwgcGVtKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY3VybC9DZXJ0aWZpY2F0ZXMuY3BwIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvY3VybC9DZXJ0aWZpY2F0ZXMuY3BwCmluZGV4IDRl
ZTJlNzc4MzJmZmEzYTE0YzgyYTg3YTUzNzg2MjU3OWIxMzQ0MjIuLmVlMmY5ZDNiMWY0NDU5MWZm
ZmRmYWQzYzY5OGYxZTg1NWI3ZjQ5MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L2N1cmwvQ2VydGlmaWNhdGVzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9jdXJsL0NlcnRpZmljYXRlcy5jcHAKQEAgLTg5LDggKzg5LDEwIEBA
IFRFU1QoQ3VybCwgQ2VydGlmaWNhdGVBUEkpCiAKICAgICBhdXRvIHNpemUgPSBXS0NlcnRpZmlj
YXRlSW5mb0dldENlcnRpZmljYXRlQ2hhaW5TaXplKGNlcnRpZmljYXRlSW5mby5nZXQoKSk7CiAg
ICAgQVNTRVJUX0VRKHNpemUsIDIpOwotICAgIEFTU0VSVF9UUlVFKGlzU2FtZVBFTShXS0NlcnRp
ZmljYXRlSW5mb0NvcHlDZXJ0aWZpY2F0ZUF0SW5kZXgoY2VydGlmaWNhdGVJbmZvLmdldCgpLCAw
KSwgUEVNMSkpOwotICAgIEFTU0VSVF9UUlVFKGlzU2FtZVBFTShXS0NlcnRpZmljYXRlSW5mb0Nv
cHlDZXJ0aWZpY2F0ZUF0SW5kZXgoY2VydGlmaWNhdGVJbmZvLmdldCgpLCAxKSwgUEVNMikpOwor
ICAgIEFTU0VSVF9FUShXS0NlcnRpZmljYXRlSW5mb0dldFZlcmlmaWNhdGlvbkVycm9yKGNlcnRp
ZmljYXRlSW5mby5nZXQoKSksIDApOworICAgIEFTU0VSVF9UUlVFKFdLU3RyaW5nSXNFcXVhbFRv
VVRGOENTdHJpbmcoYWRvcHRXSyhXS0NlcnRpZmljYXRlSW5mb0NvcHlWZXJpZmljYXRpb25FcnJv
ckRlc2NyaXB0aW9uKGNlcnRpZmljYXRlSW5mby5nZXQoKSkpLmdldCgpLCAib2siKSk7CisgICAg
QVNTRVJUX1RSVUUoaXNTYW1lUEVNKGFkb3B0V0soV0tDZXJ0aWZpY2F0ZUluZm9Db3B5Q2VydGlm
aWNhdGVBdEluZGV4KGNlcnRpZmljYXRlSW5mby5nZXQoKSwgMCkpLmdldCgpLCBQRU0xKSk7Cisg
ICAgQVNTRVJUX1RSVUUoaXNTYW1lUEVNKGFkb3B0V0soV0tDZXJ0aWZpY2F0ZUluZm9Db3B5Q2Vy
dGlmaWNhdGVBdEluZGV4KGNlcnRpZmljYXRlSW5mby5nZXQoKSwgMSkpLmdldCgpLCBQRU0yKSk7
CiB9CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>