<?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>223685</bug_id>
          
          <creation_ts>2021-03-24 03:33:36 -0700</creation_ts>
          <short_desc>All string resources from UserAgentStyleSheets / UserAgentScripts should be used as non-copying StringImpl</short_desc>
          <delta_ts>2021-03-24 18:58:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1743257</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-24 03:33:36 -0700</bug_when>
    <thetext>All string resources from UserAgentStyleSheets / UserAgentScripts should be used as static string</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743258</commentid>
    <comment_count>1</comment_count>
      <attachid>424120</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-24 03:34:33 -0700</bug_when>
    <thetext>Created attachment 424120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743547</commentid>
    <comment_count>2</comment_count>
      <attachid>424182</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-24 14:21:05 -0700</bug_when>
    <thetext>Created attachment 424182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743556</commentid>
    <comment_count>3</comment_count>
      <attachid>424187</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-24 14:42:37 -0700</bug_when>
    <thetext>Created attachment 424187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743640</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-03-24 18:57:59 -0700</bug_when>
    <thetext>Committed r274997 (235738@main): &lt;https://commits.webkit.org/235738@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743641</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-24 18:58:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/75816799&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424120</attachid>
            <date>2021-03-24 03:34:33 -0700</date>
            <delta_ts>2021-03-24 14:21:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223685-20210324033432.patch</filename>
            <type>text/plain</type>
            <size>22147</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ5YTY5YjI4NWQ2ZTFj
MTE3ZmYwN2FlYTY4ZTIyZTg1MTVjNWVhNi4uMmI4ODhlZjI2NjJlYTc1MDAwZGZjNmJiODVjMzFh
ZjA3ZGRkMTMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDIxLTAzLTI0ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsIHN0cmluZyByZXNv
dXJjZXMgZnJvbSBVc2VyQWdlbnRTdHlsZVNoZWV0cyAvIFVzZXJBZ2VudFNjcmlwdHMgc2hvdWxk
IGJlIHVzZWQgYXMgc3RhdGljIHN0cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2UgdXNlIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0lt
cGwgZm9yIHN0cmluZyByZXNvdXJjZXMgZnJvbSBVc2VyQWdlbnRTdHlsZVNoZWV0cyAvIFVzZXJB
Z2VudFNjcmlwdHMgdG8gbWFrZSBzdXJlIHRoYXQKKyAgICAgICAgdGhlc2UgcmVzb3VyY2VzIGRv
IG5vdCBhbGxvY2F0ZSBoZWFwIHN0cmluZ3MuCisKKyAgICAgICAgKiBXZWJDb3JlTWFjcm9zLmNt
YWtlOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6ZW5zdXJlUGx1Z0luc0luamVjdGVkU2NyaXB0KToKKyAgICAgICAgKiBodG1sL0hUTUxF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50Ojp1cGRhdGVXaXRoSW1h
Z2VFeHRyYWN0aW9uUmVzdWx0KToKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6ZGlkQWRkVXNlckFnZW50U2hh
ZG93Um9vdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OmV4dHJhRGVmYXVsdFN0eWxlU2hl
ZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpleHRyYU1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6
bWVkaWFDb250cm9sc1NjcmlwdHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVBZHdhaXRhOjpwYWludFRleHRGaWVsZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50VGV4dEFyZWEpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludFNlYXJjaEZpZWxkKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6YWRqdXN0TWVudUxpc3RTdHls
ZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6
OmFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwb3B1cEludGVybmFsUGFkZGluZ0JveCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50TWVu
dUxpc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpw
YWludE1lbnVMaXN0QnV0dG9uRGVjb3JhdGlvbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNz
QmFyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0
YTo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhciBjb25zdCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnByb2dyZXNzQmFyUmVjdEZvckJvdW5k
cyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6
OnBhaW50UHJvZ3Jlc3NCYXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVBZHdhaXRhOjpwYWludFNsaWRlclRyYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lQWR3YWl0YTo6YWRqdXN0U2xpZGVyVGh1bWJTaXplIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRTbGlkZXJUaHVt
Yik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpwYXJlbnRNZWRpYUVsZW1lbnQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpwYWludE1lZGlhU2xp
ZGVyVHJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRh
OjpwYWludE1lZGlhVm9sdW1lU2xpZGVyVHJhY2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjpzbGlkZXJUaWNrU2l6ZSBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnNsaWRlclRpY2tPZmZzZXRGcm9t
VHJhY2tDZW50ZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVBZHdhaXRhOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZVdpbjo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVdpbjo6ZXh0cmFRdWlya3NTdHlsZVNoZWV0KToKKyAgICAgICAgKiBzdHlsZS9V
c2VyQWdlbnRTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VXNlckFnZW50U3R5
bGU6OmluaXREZWZhdWx0U3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6VXNl
ckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQpOgorCiAyMDIx
LTAzLTI0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlk
XSBEbyBub3QgYWxsb3cgbmVnYXRpdmUgaGVpZ2h0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkRy
aXZlci9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwppbmRleCBiYmU0MGRl
NDFjMjNjNWZlNTU5ZWZiMjFjODUyNTZmZTQzZTJkNDNlLi42ZjgyNzVkNjY4MWZmMmZlY2I3MDc4
OTZhNmVjMjg4NDM2YjA2YTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIx
LTAzLTI0ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgQWxs
IHN0cmluZyByZXNvdXJjZXMgZnJvbSBVc2VyQWdlbnRTdHlsZVNoZWV0cyAvIFVzZXJBZ2VudFNj
cmlwdHMgc2hvdWxkIGJlIHVzZWQgYXMgc3RhdGljIHN0cmluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjg1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdl
YkRyaXZlcjo6U2Vzc2lvbjo6ZnVsbHNjcmVlbldpbmRvdyk6CisgICAgICAgIChXZWJEcml2ZXI6
OlNlc3Npb246OmZpbmRFbGVtZW50cyk6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246Omlz
RWxlbWVudFNlbGVjdGVkKToKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6aXNFbGVtZW50
RW5hYmxlZCk6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OmlzRWxlbWVudERpc3BsYXll
ZCk6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OmdldEVsZW1lbnRBdHRyaWJ1dGUpOgor
ICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjplbGVtZW50Q2xlYXIpOgorCiAyMDIxLTAyLTIy
ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBb
U09VUF0gQWRkIHN1cHBvcnQgZm9yIGxpYnNvdXAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlTWFjcm9zLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZU1hY3Jvcy5jbWFr
ZQppbmRleCAzYWJmZmVlODMxZjIzMzk0ZWMzZDg5MDYxZWQzNTUzMDA4MzczMzczLi44OWRmNmI2
Y2E2Yjc5ODhmMWQzY2UwNGEyNmJlNTFjMDE1MGRmMGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlTWFjcm9zLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmVNYWNy
b3MuY21ha2UKQEAgLTM2LDcgKzM2LDcgQEAgbWFjcm8oTUFLRV9KU19GSUxFX0FSUkFZUyBfb3V0
cHV0X2NwcCBfb3V0cHV0X2ggX25hbWVzcGFjZSBfc2NyaXB0cyBfc2NyaXB0c19kZXAKICAgICBh
ZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgICAgIE9VVFBVVCAke19vdXRwdXRfaH0gJHtfb3V0cHV0
X2NwcH0KICAgICAgICAgREVQRU5EUyAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9tYWtl
LWpzLWZpbGUtYXJyYXlzLnB5ICR7JHtfc2NyaXB0c319Ci0gICAgICAgIENPTU1BTkQgJHtQWVRI
T05fRVhFQ1VUQUJMRX0gJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vbWFrZS1qcy1maWxl
LWFycmF5cy5weSAtbiAke19uYW1lc3BhY2V9ICR7X291dHB1dF9ofSAke19vdXRwdXRfY3BwfSAk
eyR7X3NjcmlwdHN9fQorICAgICAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7SmF2
YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L21ha2UtanMtZmlsZS1hcnJheXMucHkgLS1mYWlsLWlm
LW5vbi1hc2NpaSAtbiAke19uYW1lc3BhY2V9ICR7X291dHB1dF9ofSAke19vdXRwdXRfY3BwfSAk
eyR7X3NjcmlwdHN9fQogICAgICAgICBWRVJCQVRJTSkKICAgICBXRUJLSVRfQUREX1NPVVJDRV9E
RVBFTkRFTkNJRVMoJHske19zY3JpcHRzX2RlcGVuZGVuY2llc319ICR7X291dHB1dF9ofSAke19v
dXRwdXRfY3BwfSkKIGVuZG1hY3JvKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDUzNDEz
MGVlNjI2YjU2ZGYzODdlMDU1NDE2NDY3NTk3MWZhOWVjNTQuLmNjY2MwNDM4Y2I4YjljZjE3ZWNj
MDYzNzEwMWI4MmRkYTUyNjQ0ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzQ0OSw3
ICs3NDQ5LDcgQEAgdm9pZCBEb2N1bWVudDo6ZW5zdXJlUGx1Z0luc0luamVjdGVkU2NyaXB0KERP
TVdyYXBwZXJXb3JsZCYgd29ybGQpCiAgICAgLy8gVXNlIHRoZSBKUyBmaWxlIHByb3ZpZGVkIGJ5
IHRoZSBDaHJvbWUgY2xpZW50LCBvciBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBvbmUuCiAgICAg
U3RyaW5nIGpzU3RyaW5nID0gcGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5wbHVnSW5FeHRyYVNj
cmlwdCgpOwogICAgIGlmICghanNTdHJpbmcgfHwgIXNjcmlwdENvbnRyb2xsZXIuc2hvdWxkQWxs
b3dVc2VyQWdlbnRTY3JpcHRzKCp0aGlzKSkKLSAgICAgICAganNTdHJpbmcgPSBTdHJpbmcocGx1
Z0luc0phdmFTY3JpcHQsIHNpemVvZihwbHVnSW5zSmF2YVNjcmlwdCkpOworICAgICAgICBqc1N0
cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwocGx1Z0luc0phdmFTY3Jp
cHQsIHNpemVvZihwbHVnSW5zSmF2YVNjcmlwdCkpOwogCiAgICAgc2V0SGFzRXZhbHVhdGVkVXNl
ckFnZW50U2NyaXB0cygpOwogICAgIHNjcmlwdENvbnRyb2xsZXIuZXZhbHVhdGVJbldvcmxkSWdu
b3JpbmdFeGNlcHRpb24oU2NyaXB0U291cmNlQ29kZShqc1N0cmluZyksIHdvcmxkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggOGQzNzczZjg3YTQ1ODVjY2ZlMjU1ZGY1ZGEy
NjVhNzUyOTk4MjYyMC4uOGExNmExMDViZjNmYWFkOWQ1M2NlNzE5Mzg1NWRlZWNhZjJiNjg0OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTEzMDEsNyArMTMwMSw3IEBAIHZv
aWQgSFRNTEVsZW1lbnQ6OnVwZGF0ZVdpdGhJbWFnZUV4dHJhY3Rpb25SZXN1bHQoSW1hZ2VFeHRy
YWN0aW9uUmVzdWx0JiYgcmVzdWx0CiAKICAgICBhdXRvIHNoYWRvd1Jvb3QgPSBtYWtlUmVmKGVu
c3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKSk7CiAgICAgaWYgKCFwcmV2aW91c0NvbnRhaW5lcikg
ewotICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBzaGFkb3dTdHls
ZShpbWFnZU92ZXJsYXlVc2VyQWdlbnRTdHlsZVNoZWV0LCBTdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKTsKKyAgICAgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBT
dHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoaW1h
Z2VPdmVybGF5VXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlT3ZlcmxheVVzZXJBZ2Vu
dFN0eWxlU2hlZXQpKSk7CiAgICAgICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50Ojpj
cmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgZG9jdW1lbnQoKSwgZmFsc2UpOwogICAgICAgICBz
dHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5bGUpOwogICAgICAgICBzaGFkb3dSb290LT5h
cHBlbmRDaGlsZChXVEZNb3ZlKHN0eWxlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJF
bGVtZW50LmNwcAppbmRleCA5ODNkYjU0MTZiMmUzMGNlNGI5OWJmZDk0Yjg1Yjg3OTFiMTQ2YzY1
Li44YzhmNjc0Mjc3Y2VkOGQ0NjFmNjQxZTZkMWIzMjNjZGQxNGVlNjFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAKQEAgLTIyNSw3ICsyMjUsNyBAQCB2b2lkIEhU
TUxNZXRlckVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hhZG93Um9vdCYgcm9v
dCkKIHsKICAgICBBU1NFUlQoIW1fdmFsdWUpOwogCi0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PFN0cmluZz4gc2hhZG93U3R5bGUobWV0ZXJFbGVtZW50U2hhZG93VXNlckFnZW50U3R5bGVTaGVl
dCwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgc3RhdGljIE1haW5UaHJlYWRO
ZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0ltcGw6OmNyZWF0
ZVN0YXRpY1N0cmluZ0ltcGwobWV0ZXJFbGVtZW50U2hhZG93VXNlckFnZW50U3R5bGVTaGVldCwg
c2l6ZW9mKG1ldGVyRWxlbWVudFNoYWRvd1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CiAKICAgICBh
dXRvIHN0eWxlID0gSFRNTFN0eWxlRWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1lczo6c3R5bGVUYWcs
IGRvY3VtZW50KCksIGZhbHNlKTsKICAgICBzdHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5
bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3
YWl0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNw
cAppbmRleCA4MGZlYTZmMWIyOWVlMDhmMzgxZDFjNjcxZWFlNGNlZTZiYmI0ZjVhLi4zM2IxMDcx
MTQzM2VmNzgxY2QyNDU5MDAwMmExMTMzYWE3YjZiYTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApAQCAtMTYzLDE4ICsxNjMsMTggQEAg
dm9pZCBSZW5kZXJUaGVtZUFkd2FpdGE6OnBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCkKIAogU3Ry
aW5nIFJlbmRlclRoZW1lQWR3YWl0YTo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpCiB7Ci0gICAg
cmV0dXJuIFN0cmluZyh0aGVtZUFkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YodGhl
bWVBZHdhaXRhVXNlckFnZW50U3R5bGVTaGVldCkpOworICAgIHJldHVybiBTdHJpbmdJbXBsOjpj
cmVhdGVTdGF0aWNTdHJpbmdJbXBsKHRoZW1lQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQsIHNp
emVvZih0aGVtZUFkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiB9CiAKICNpZiBFTkFCTEUo
VklERU8pCiBTdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjpleHRyYU1lZGlhQ29udHJvbHNTdHls
ZVNoZWV0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nKG1lZGlhQ29udHJvbHNBZHdhaXRhVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNBZHdhaXRhVXNlckFnZW50U3R5bGVT
aGVldCkpOworICAgIHJldHVybiBTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKG1l
ZGlhQ29udHJvbHNBZHdhaXRhVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1lZGlhQ29udHJv
bHNBZHdhaXRhVXNlckFnZW50U3R5bGVTaGVldCk7CiB9CiAKIFZlY3RvcjxTdHJpbmcsIDM+IFJl
bmRlclRoZW1lQWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQogewotICAgIHJldHVybiB7
IFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFTY3JpcHQsIHNpemVvZihtZWRpYUNvbnRy
b2xzQWR3YWl0YUphdmFTY3JpcHQpKSB9OworICAgIHJldHVybiB7IFN0cmluZ0ltcGw6OmNyZWF0
ZVN0YXRpY1N0cmluZ0ltcGwobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2Yo
bWVkaWFDb250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0KSkgfTsKIH0KICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAppbmRleCBkMGZkMmE2YTMxMjQ5
ODE0YjQwZDAyZTVkMjRjNTkzODc4M2I4ZDljLi4wODhlMjVhMTMwODM0MTlmMmZiMGE4YTZiMTQ0
MmI1ZTg0MDU2Y2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdp
bi5jcHAKQEAgLTI3MSwxMiArMjcxLDEyIEBAIHZvaWQgUmVuZGVyVGhlbWVXaW46OnRoZW1lQ2hh
bmdlZCgpCiAKIFN0cmluZyBSZW5kZXJUaGVtZVdpbjo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgp
CiB7Ci0gICAgcmV0dXJuIFN0cmluZyh0aGVtZVdpblVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
Zih0aGVtZVdpblVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKKyAgICByZXR1cm4gU3RyaW5nSW1wbDo6
Y3JlYXRlU3RhdGljU3RyaW5nSW1wbCh0aGVtZVdpblVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
Zih0aGVtZVdpblVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKIH0KIAogU3RyaW5nIFJlbmRlclRoZW1l
V2luOjpleHRyYVF1aXJrc1N0eWxlU2hlZXQoKQogewotICAgIHJldHVybiBTdHJpbmcodGhlbWVX
aW5RdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YodGhlbWVXaW5RdWlya3NVc2VyQWdl
bnRTdHlsZVNoZWV0KSk7CisgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmlu
Z0ltcGwodGhlbWVXaW5RdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YodGhlbWVXaW5R
dWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CiB9CiAKIGJvb2wgUmVuZGVyVGhlbWVXaW46OnN1
cHBvcnRzSG92ZXIoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuY3BwCmluZGV4IDI5NjFjNzE5ODJjZjNmZjYwNTViNjFmNjlmNDQ2ZmI5
N2YzYTAxYjIuLjg2NjcxODQ2OTkwNDVmNTRhYjYyZGVkZDlmOWU1ODY4NjMwOTRlNmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKQEAgLTEwNSwxMSArMTA1LDYgQEAg
c3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogcGFyc2VVQVNoZWV0KGNvbnN0IFN0cmluZyYgc3Ry
KQogICAgIHJldHVybiAmc2hlZXQ7CiB9CiAKLXN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIHBh
cnNlVUFTaGVldChjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBzaXplKQotewotICAg
IHJldHVybiBwYXJzZVVBU2hlZXQoU3RyaW5nKGNoYXJhY3RlcnMsIHNpemUpKTsKLX0KLQogdm9p
ZCBVc2VyQWdlbnRTdHlsZTo6YWRkVG9EZWZhdWx0U3R5bGUoU3R5bGVTaGVldENvbnRlbnRzJiBz
aGVldCkKIHsKICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHNoZWV0LCBzY3Jl
ZW5FdmFsKCkpOwpAQCAtMTQzLDEyICsxMzgsMTIgQEAgdm9pZCBVc2VyQWdlbnRTdHlsZTo6aW5p
dERlZmF1bHRTdHlsZVNoZWV0KCkKICAgICBtZWRpYVF1ZXJ5U3R5bGVTaGVldCA9ICZTdHlsZVNo
ZWV0Q29udGVudHM6OmNyZWF0ZShDU1NQYXJzZXJDb250ZXh0KFVBU2hlZXRNb2RlKSkubGVha1Jl
ZigpOwogCiAgICAgLy8gU3RyaWN0LW1vZGUgcnVsZXMuCi0gICAgU3RyaW5nIGRlZmF1bHRSdWxl
cyA9IFN0cmluZyhodG1sVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGh0bWxVc2VyQWdlbnRT
dHlsZVNoZWV0KSkgKyBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuZXh0cmFEZWZhdWx0U3R5bGVT
aGVldCgpOworICAgIFN0cmluZyBkZWZhdWx0UnVsZXMgPSBTdHJpbmcoU3RyaW5nSW1wbDo6Y3Jl
YXRlU3RhdGljU3RyaW5nSW1wbChodG1sVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGh0bWxV
c2VyQWdlbnRTdHlsZVNoZWV0KSkpICsgUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4dHJhRGVm
YXVsdFN0eWxlU2hlZXQoKTsKICAgICBkZWZhdWx0U3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChk
ZWZhdWx0UnVsZXMpOwogICAgIGFkZFRvRGVmYXVsdFN0eWxlKCpkZWZhdWx0U3R5bGVTaGVldCk7
CiAKICAgICAvLyBRdWlya3MtbW9kZSBydWxlcy4KLSAgICBTdHJpbmcgcXVpcmtzUnVsZXMgPSBT
dHJpbmcocXVpcmtzVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKHF1aXJrc1VzZXJBZ2VudFN0
eWxlU2hlZXQpKSArIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5leHRyYVF1aXJrc1N0eWxlU2hl
ZXQoKTsKKyAgICBTdHJpbmcgcXVpcmtzUnVsZXMgPSBTdHJpbmcoU3RyaW5nSW1wbDo6Y3JlYXRl
U3RhdGljU3RyaW5nSW1wbChxdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YocXVpcmtz
VXNlckFnZW50U3R5bGVTaGVldCkpKSArIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5leHRyYVF1
aXJrc1N0eWxlU2hlZXQoKTsKICAgICBxdWlya3NTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KHF1
aXJrc1J1bGVzKTsKICAgICBkZWZhdWx0UXVpcmtzU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KCpx
dWlya3NTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwogCkBAIC0xNjIsMTQgKzE1NywxNCBAQCB2
b2lkIFVzZXJBZ2VudFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KGNv
bnN0IEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgICAgICBpZiAoIXBsdWdJbnNTdHlsZVNoZWV0
ICYmIGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCkpIHsKICAgICAgICAgICAgICAgICBTdHJpbmcg
cGx1Z0luc1J1bGVzID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4dHJhUGx1Z0luc1N0eWxl
U2hlZXQoKSArIGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnBs
dWdJbkV4dHJhU3R5bGVTaGVldCgpOwogICAgICAgICAgICAgICAgIGlmIChwbHVnSW5zUnVsZXMu
aXNFbXB0eSgpKQotICAgICAgICAgICAgICAgICAgICBwbHVnSW5zUnVsZXMgPSBTdHJpbmcocGx1
Z0luc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihwbHVnSW5zVXNlckFnZW50U3R5bGVTaGVl
dCkpOworICAgICAgICAgICAgICAgICAgICBwbHVnSW5zUnVsZXMgPSBTdHJpbmcoU3RyaW5nSW1w
bDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChwbHVnSW5zVXNlckFnZW50U3R5bGVTaGVldCwgc2l6
ZW9mKHBsdWdJbnNVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOwogICAgICAgICAgICAgICAgIHBsdWdJ
bnNTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KHBsdWdJbnNSdWxlcyk7CiAgICAgICAgICAgICAg
ICAgYWRkVG9EZWZhdWx0U3R5bGUoKnBsdWdJbnNTdHlsZVNoZWV0KTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChpczxIVE1MRGlhbG9nRWxlbWVudD4oZWxlbWVu
dCkgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5kaWFsb2dFbGVt
ZW50RW5hYmxlZCgpKSB7CiAgICAgICAgICAgICBpZiAoIWRpYWxvZ1N0eWxlU2hlZXQpIHsKLSAg
ICAgICAgICAgICAgICBkaWFsb2dTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KGRpYWxvZ1VzZXJB
Z2VudFN0eWxlU2hlZXQsIHNpemVvZihkaWFsb2dVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAg
ICAgICAgICAgICAgZGlhbG9nU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChTdHJpbmdJbXBsOjpj
cmVhdGVTdGF0aWNTdHJpbmdJbXBsKGRpYWxvZ1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihk
aWFsb2dVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOwogICAgICAgICAgICAgICAgIGFkZFRvRGVmYXVs
dFN0eWxlKCpkaWFsb2dTdHlsZVNoZWV0KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAt
MTc4LDcgKzE3Myw3IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRTdHlsZVNo
ZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgICAgIGlmICgh
bWVkaWFDb250cm9sc1N0eWxlU2hlZXQpIHsKICAgICAgICAgICAgICAgICBTdHJpbmcgbWVkaWFS
dWxlcyA9IFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5tZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgp
OwogICAgICAgICAgICAgICAgIGlmIChtZWRpYVJ1bGVzLmlzRW1wdHkoKSkKLSAgICAgICAgICAg
ICAgICAgICAgbWVkaWFSdWxlcyA9IFN0cmluZyhtZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5bGVT
aGVldCwgc2l6ZW9mKG1lZGlhQ29udHJvbHNVc2VyQWdlbnRTdHlsZVNoZWV0KSkgKyBSZW5kZXJU
aGVtZTo6c2luZ2xldG9uKCkuZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOworICAgICAg
ICAgICAgICAgICAgICBtZWRpYVJ1bGVzID0gU3RyaW5nKFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRp
Y1N0cmluZ0ltcGwobWVkaWFDb250cm9sc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihtZWRp
YUNvbnRyb2xzVXNlckFnZW50U3R5bGVTaGVldCkpKSArIFJlbmRlclRoZW1lOjpzaW5nbGV0b24o
KS5leHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgICAgICAgICAgICAgbWVkaWFD
b250cm9sc1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQobWVkaWFSdWxlcyk7CiAgICAgICAgICAg
ICAgICAgYWRkVG9EZWZhdWx0U3R5bGUoKm1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KTsKIApAQCAt
MjAwLDcgKzE5NSw3IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRTdHlsZVNo
ZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICB9IGVsc2UgaWYgKGlz
PFNWR0VsZW1lbnQ+KGVsZW1lbnQpKSB7CiAgICAgICAgIGlmICghc3ZnU3R5bGVTaGVldCkgewog
ICAgICAgICAgICAgLy8gU1ZHIHJ1bGVzLgotICAgICAgICAgICAgc3ZnU3R5bGVTaGVldCA9IHBh
cnNlVUFTaGVldChzdmdVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2Yoc3ZnVXNlckFnZW50U3R5
bGVTaGVldCkpOworICAgICAgICAgICAgc3ZnU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChTdHJp
bmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKHN2Z1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNp
emVvZihzdmdVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOwogICAgICAgICAgICAgYWRkVG9EZWZhdWx0
U3R5bGUoKnN2Z1N0eWxlU2hlZXQpOwogICAgICAgICB9CiAgICAgfQpAQCAtMjA4LDcgKzIwMyw3
IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1l
bnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICBlbHNlIGlmIChpczxNYXRoTUxFbGVtZW50
PihlbGVtZW50KSkgewogICAgICAgICBpZiAoIW1hdGhNTFN0eWxlU2hlZXQpIHsKICAgICAgICAg
ICAgIC8vIE1hdGhNTCBydWxlcy4KLSAgICAgICAgICAgIG1hdGhNTFN0eWxlU2hlZXQgPSBwYXJz
ZVVBU2hlZXQobWF0aG1sVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1hdGhtbFVzZXJBZ2Vu
dFN0eWxlU2hlZXQpKTsKKyAgICAgICAgICAgIG1hdGhNTFN0eWxlU2hlZXQgPSBwYXJzZVVBU2hl
ZXQoU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChtYXRobWxVc2VyQWdlbnRTdHls
ZVNoZWV0LCBzaXplb2YobWF0aG1sVXNlckFnZW50U3R5bGVTaGVldCkpKTsKICAgICAgICAgICAg
IGFkZFRvRGVmYXVsdFN0eWxlKCptYXRoTUxTdHlsZVNoZWV0KTsKICAgICAgICAgfQogICAgIH0K
QEAgLTIyOCw3ICsyMjMsNyBAQCB2b2lkIFVzZXJBZ2VudFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5
bGVTaGVldHNGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiAKICNpZiBFTkFCTEUo
SU9TX0ZPUk1fQ09OVFJPTF9SRUZSRVNIKQogICAgIGlmICghbGVnYWN5Rm9ybUNvbnRyb2xzSU9T
U3R5bGVTaGVldCAmJiAhZWxlbWVudC5kb2N1bWVudCgpLnNldHRpbmdzKCkuaU9TRm9ybUNvbnRy
b2xSZWZyZXNoRW5hYmxlZCgpKSB7Ci0gICAgICAgIGxlZ2FjeUZvcm1Db250cm9sc0lPU1N0eWxl
U2hlZXQgPSBwYXJzZVVBU2hlZXQobGVnYWN5Rm9ybUNvbnRyb2xzSU9TVXNlckFnZW50U3R5bGVT
aGVldCwgc2l6ZW9mKGxlZ2FjeUZvcm1Db250cm9sc0lPU1VzZXJBZ2VudFN0eWxlU2hlZXQpKTsK
KyAgICAgICAgbGVnYWN5Rm9ybUNvbnRyb2xzSU9TU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChT
dHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKGxlZ2FjeUZvcm1Db250cm9sc0lPU1Vz
ZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihsZWdhY3lGb3JtQ29udHJvbHNJT1NVc2VyQWdlbnRT
dHlsZVNoZWV0KSkpOwogICAgICAgICBhZGRUb0RlZmF1bHRTdHlsZSgqbGVnYWN5Rm9ybUNvbnRy
b2xzSU9TU3R5bGVTaGVldCk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
RHJpdmVyL1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcAppbmRleCA4
MDk5YTE1NTkzODIwMzVkZjI3N2I2YjgxMGMwNmZmMGIzZDkxYjgwLi4wNWU3MWUwMWEzMjljODk2
MzU4MDhiNWVlZWNkNDlkZGYxNzJjMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL1Nl
c3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5jcHAKQEAgLTkzMyw3ICs5
MzMsNyBAQCB2b2lkIFNlc3Npb246OmZ1bGxzY3JlZW5XaW5kb3coRnVuY3Rpb248dm9pZCAoQ29t
bWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZAogCiAgICAgICAgIGF1dG8gcGFyYW1ldGVy
cyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmlu
ZygiYnJvd3NpbmdDb250ZXh0SGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZh
bHVlKCkpOwotICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZ1bmN0aW9uIl9zLCBTdHJp
bmcoRW50ZXJGdWxsc2NyZWVuSmF2YVNjcmlwdCwgc2l6ZW9mKEVudGVyRnVsbHNjcmVlbkphdmFT
Y3JpcHQpKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0
cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRW50ZXJGdWxsc2NyZWVuSmF2YVNjcmlw
dCwgc2l6ZW9mKEVudGVyRnVsbHNjcmVlbkphdmFTY3JpcHQpKSk7CiAgICAgICAgIHBhcmFtZXRl
cnMtPnNldEFycmF5KCJhcmd1bWVudHMiX3MsIEpTT046OkFycmF5OjpjcmVhdGUoKSk7CiAgICAg
ICAgIHBhcmFtZXRlcnMtPnNldEJvb2xlYW4oImV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1l
bnQiX3MsIHRydWUpOwogICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJldmFs
dWF0ZUphdmFTY3JpcHRGdW5jdGlvbiJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHBy
b3RlY3RlZFRoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKFNlc3Npb25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkgbXV0YWJsZSB7CkBA
IC0xMTAxLDcgKzExMDEsNyBAQCB2b2lkIFNlc3Npb246OmZpbmRFbGVtZW50cyhjb25zdCBTdHJp
bmcmIHN0cmF0ZWd5LCBjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBGaW5kRQogICAgICAgICBwYXJh
bWV0ZXJzLT5zZXRTdHJpbmcoImJyb3dzaW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJy
b3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29u
dGV4dCkKICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3Ms
IG1fY3VycmVudEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKLSAgICAgICAgcGFyYW1ldGVycy0+
c2V0U3RyaW5nKCJmdW5jdGlvbiJfcywgU3RyaW5nKEZpbmROb2Rlc0phdmFTY3JpcHQsIHNpemVv
ZihGaW5kTm9kZXNKYXZhU2NyaXB0KSkpOworICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmco
ImZ1bmN0aW9uIl9zLCBTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKEZpbmROb2Rl
c0phdmFTY3JpcHQsIHNpemVvZihGaW5kTm9kZXNKYXZhU2NyaXB0KSkpOwogICAgICAgICBwYXJh
bWV0ZXJzLT5zZXRBcnJheSgiYXJndW1lbnRzIl9zLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwogICAg
ICAgICBwYXJhbWV0ZXJzLT5zZXRCb29sZWFuKCJleHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3Vt
ZW50Il9zLCB0cnVlKTsKICAgICAgICAgLy8gSWYgdGhlcmUncyBhbiBpbXBsaWNpdCB3YWl0LCB1
c2Ugb25lIHNlY29uZCBtb3JlIGFzIGNhbGxiYWNrIHRpbWVvdXQuCkBAIC0xMjIyLDcgKzEyMjIs
NyBAQCB2b2lkIFNlc3Npb246OmlzRWxlbWVudFNlbGVjdGVkKGNvbnN0IFN0cmluZyYgZWxlbWVu
dElELCBGdW5jdGlvbjx2b2lkIChDb21tYW5kUgogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJp
bmcoImJyb3dzaW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52
YWx1ZSgpKTsKICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29udGV4dCkKICAgICAgICAg
ICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3MsIG1fY3VycmVudEJyb3dz
aW5nQ29udGV4dC52YWx1ZSgpKTsKLSAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmdW5j
dGlvbiJfcywgU3RyaW5nKEVsZW1lbnRBdHRyaWJ1dGVKYXZhU2NyaXB0LCBzaXplb2YoRWxlbWVu
dEF0dHJpYnV0ZUphdmFTY3JpcHQpKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
ZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRWxlbWVudEF0
dHJpYnV0ZUphdmFTY3JpcHQsIHNpemVvZihFbGVtZW50QXR0cmlidXRlSmF2YVNjcmlwdCkpKTsK
ICAgICAgICAgcGFyYW1ldGVycy0+c2V0QXJyYXkoImFyZ3VtZW50cyJfcywgV1RGTW92ZShhcmd1
bWVudHMpKTsKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVK
YXZhU2NyaXB0RnVuY3Rpb24iX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFtwcm90ZWN0ZWRUaGlz
LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9u
SG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKICAgICAgICAgICAgIGlmIChyZXNw
b25zZS5pc0Vycm9yIHx8ICFyZXNwb25zZS5yZXNwb25zZU9iamVjdCkgewpAQCAtMTM5Myw3ICsx
MzkzLDcgQEAgdm9pZCBTZXNzaW9uOjppc0VsZW1lbnRFbmFibGVkKGNvbnN0IFN0cmluZyYgZWxl
bWVudElELCBGdW5jdGlvbjx2b2lkIChDb21tYW5kUmUKICAgICAgICAgcGFyYW1ldGVycy0+c2V0
U3RyaW5nKCJicm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRl
eHQudmFsdWUoKSk7CiAgICAgICAgIGlmIChtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQpCiAgICAg
ICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBtX2N1cnJlbnRC
cm93c2luZ0NvbnRleHQudmFsdWUoKSk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
ZnVuY3Rpb24iX3MsIFN0cmluZyhFbGVtZW50RW5hYmxlZEphdmFTY3JpcHQsIHNpemVvZihFbGVt
ZW50RW5hYmxlZEphdmFTY3JpcHQpKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
ZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRWxlbWVudEVu
YWJsZWRKYXZhU2NyaXB0LCBzaXplb2YoRWxlbWVudEVuYWJsZWRKYXZhU2NyaXB0KSkpOwogICAg
ICAgICBwYXJhbWV0ZXJzLT5zZXRBcnJheSgiYXJndW1lbnRzIl9zLCBXVEZNb3ZlKGFyZ3VtZW50
cykpOwogICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJldmFsdWF0ZUphdmFT
Y3JpcHRGdW5jdGlvbiJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3Byb3RlY3RlZFRoaXMsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0
OjpDb21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkgewogICAgICAgICAgICAgaWYgKHJlc3BvbnNl
LmlzRXJyb3IgfHwgIXJlc3BvbnNlLnJlc3BvbnNlT2JqZWN0KSB7CkBAIC0xNDM3LDcgKzE0Mzcs
NyBAQCB2b2lkIFNlc3Npb246OmlzRWxlbWVudERpc3BsYXllZChjb25zdCBTdHJpbmcmIGVsZW1l
bnRJRCwgRnVuY3Rpb248dm9pZCAoQ29tbWFuZAogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJp
bmcoImJyb3dzaW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52
YWx1ZSgpKTsKICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29udGV4dCkKICAgICAgICAg
ICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3MsIG1fY3VycmVudEJyb3dz
aW5nQ29udGV4dC52YWx1ZSgpKTsKLSAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmdW5j
dGlvbiJfcywgU3RyaW5nKEVsZW1lbnREaXNwbGF5ZWRKYXZhU2NyaXB0LCBzaXplb2YoRWxlbWVu
dERpc3BsYXllZEphdmFTY3JpcHQpKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
ZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRWxlbWVudERp
c3BsYXllZEphdmFTY3JpcHQsIHNpemVvZihFbGVtZW50RGlzcGxheWVkSmF2YVNjcmlwdCkpKTsK
ICAgICAgICAgcGFyYW1ldGVycy0+c2V0QXJyYXkoImFyZ3VtZW50cyJfcywgV1RGTW92ZShhcmd1
bWVudHMpKTsKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVK
YXZhU2NyaXB0RnVuY3Rpb24iX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFtwcm90ZWN0ZWRUaGlz
LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9u
SG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKICAgICAgICAgICAgIGlmIChyZXNw
b25zZS5pc0Vycm9yIHx8ICFyZXNwb25zZS5yZXNwb25zZU9iamVjdCkgewpAQCAtMTQ4Miw3ICsx
NDgyLDcgQEAgdm9pZCBTZXNzaW9uOjpnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFN0cmluZyYg
ZWxlbWVudElELCBjb25zdCBTdHJpbmcmIGF0dHJpYnUKICAgICAgICAgcGFyYW1ldGVycy0+c2V0
U3RyaW5nKCJicm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRl
eHQudmFsdWUoKSk7CiAgICAgICAgIGlmIChtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQpCiAgICAg
ICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBtX2N1cnJlbnRC
cm93c2luZ0NvbnRleHQudmFsdWUoKSk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
ZnVuY3Rpb24iX3MsIFN0cmluZyhFbGVtZW50QXR0cmlidXRlSmF2YVNjcmlwdCwgc2l6ZW9mKEVs
ZW1lbnRBdHRyaWJ1dGVKYXZhU2NyaXB0KSkpOworICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJp
bmcoImZ1bmN0aW9uIl9zLCBTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKEVsZW1l
bnRBdHRyaWJ1dGVKYXZhU2NyaXB0LCBzaXplb2YoRWxlbWVudEF0dHJpYnV0ZUphdmFTY3JpcHQp
KSk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldEFycmF5KCJhcmd1bWVudHMiX3MsIFdURk1vdmUo
YXJndW1lbnRzKSk7CiAgICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImV2YWx1
YXRlSmF2YVNjcmlwdEZ1bmN0aW9uIl9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbcHJvdGVjdGVk
VGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vz
c2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CiAgICAgICAgICAgICBpZiAo
cmVzcG9uc2UuaXNFcnJvciB8fCAhcmVzcG9uc2UucmVzcG9uc2VPYmplY3QpIHsKQEAgLTE4NjIs
NyArMTg2Miw3IEBAIHZvaWQgU2Vzc2lvbjo6ZWxlbWVudENsZWFyKGNvbnN0IFN0cmluZyYgZWxl
bWVudElELCBGdW5jdGlvbjx2b2lkIChDb21tYW5kUmVzdWx0CiAgICAgICAgICAgICAgICAgcGFy
YW1ldGVycy0+c2V0U3RyaW5nKCJicm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxC
cm93c2luZ0NvbnRleHQudmFsdWUoKSk7CiAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudEJy
b3dzaW5nQ29udGV4dCkKICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5n
KCJmcmFtZUhhbmRsZSJfcywgbV9jdXJyZW50QnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwotICAg
ICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZyhG
b3JtRWxlbWVudENsZWFySmF2YVNjcmlwdCwgc2l6ZW9mKEZvcm1FbGVtZW50Q2xlYXJKYXZhU2Ny
aXB0KSkpOworICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24i
X3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRm9ybUVsZW1lbnRDbGVhckph
dmFTY3JpcHQsIHNpemVvZihGb3JtRWxlbWVudENsZWFySmF2YVNjcmlwdCkpKTsKICAgICAgICAg
ICAgICAgICBwYXJhbWV0ZXJzLT5zZXRBcnJheSgiYXJndW1lbnRzIl9zLCBXVEZNb3ZlKGFyZ3Vt
ZW50cykpOwogICAgICAgICAgICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImV2
YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uIl9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbcHJvdGVj
dGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0o
U2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424182</attachid>
            <date>2021-03-24 14:21:05 -0700</date>
            <delta_ts>2021-03-24 14:42:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223685-20210324142104.patch</filename>
            <type>text/plain</type>
            <size>30124</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ5YTY5YjI4NWQ2ZTFj
MTE3ZmYwN2FlYTY4ZTIyZTg1MTVjNWVhNi4uZTg4NmYzMzZmZmI5NjQ0YzA3YmEwZWQyMzRlZTJm
YWFmMWMxMGE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDIxLTAzLTI0ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsIHN0cmluZyByZXNv
dXJjZXMgZnJvbSBVc2VyQWdlbnRTdHlsZVNoZWV0cyAvIFVzZXJBZ2VudFNjcmlwdHMgc2hvdWxk
IGJlIHVzZWQgYXMgc3RhdGljIHN0cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2UgdXNlIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0lt
cGwgZm9yIHN0cmluZyByZXNvdXJjZXMgZnJvbSBVc2VyQWdlbnRTdHlsZVNoZWV0cyAvIFVzZXJB
Z2VudFNjcmlwdHMgdG8gbWFrZSBzdXJlIHRoYXQKKyAgICAgICAgdGhlc2UgcmVzb3VyY2VzIGRv
IG5vdCBhbGxvY2F0ZSBoZWFwIHN0cmluZ3MuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGZp
eGVzIEhUTUxNZXRlckVsZW1lbnQncyBidWcgKGFuZCBpbWFnZU92ZXJsYXlVc2VyQWdlbnRTdHls
ZVNoZWV0J3MgYnVnKS4gUHJldmlvdXNseSwgd2UgYXJlIHVzaW5nIFN0cmluZzo6Q29uc3RydWN0
RnJvbUxpdGVyYWwsCisgICAgICAgIGJ1dCB0aGlzIG9ubHkgYWNjZXB0cyBzdHJpbmcgbGl0ZXJh
bCBhcyBpdCBzYXlzLiBBcyBhIHJlc3VsdCwgd2UgYXJlIGRyb3BwaW5nIHRoZSBsYXN0IGNoYXJh
Y3RlciBzaW5jZSBVc2VyQWdlbnRTdHlsZVNoZWV0cydzIGxhc3QgY2hhcmFjdGVyIGlzIG5vdCBc
MC4KKworICAgICAgICAqIFdlYkNvcmVNYWNyb3MuY21ha2U6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjplbnN1cmVQbHVnSW5zSW5qZWN0
ZWRTY3JpcHQpOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTEVsZW1lbnQ6OnVwZGF0ZVdpdGhJbWFnZUV4dHJhY3Rpb25SZXN1bHQpOgorICAg
ICAgICAqIGh0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWV0ZXJFbGVtZW50OjpkaWRBZGRVc2VyQWdlbnRTaGFkb3dSb290KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lQWR3YWl0YTo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZUFkd2FpdGE6OmV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjptZWRpYUNvbnRyb2xzU2NyaXB0cyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50VGV4dEZp
ZWxkKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFp
bnRUZXh0QXJlYSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2Fp
dGE6OnBhaW50U2VhcmNoRmllbGQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVBZHdhaXRhOjphZGp1c3RNZW51TGlzdFN0eWxlIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHls
ZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6
OnBvcHVwSW50ZXJuYWxQYWRkaW5nQm94IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRNZW51TGlzdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50TWVudUxpc3RCdXR0b25EZWNvcmF0
aW9ucyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OmFu
aW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIgY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjphbmltYXRpb25EdXJhdGlvbkZvclBy
b2dyZXNzQmFyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
QWR3YWl0YTo6cHJvZ3Jlc3NCYXJSZWN0Rm9yQm91bmRzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQWR3YWl0YTo6cGFpbnRQcm9ncmVzc0Jhcik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50U2xpZGVyVHJh
Y2spOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVBZHdhaXRhOjphZGp1
c3RTbGlkZXJUaHVtYlNpemUgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVBZHdhaXRhOjpwYWludFNsaWRlclRodW1iKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OnBhcmVudE1lZGlhRWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50TWVkaWFTbGlkZXJUcmFjayk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnBhaW50TWVkaWFWb2x1bWVTbGlkZXJU
cmFjayk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OnNs
aWRlclRpY2tTaXplIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lQWR3YWl0YTo6c2xpZGVyVGlja09mZnNldEZyb21UcmFja0NlbnRlciBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6OmFkanVzdExpc3RCdXR0
b25TdHlsZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjpleHRyYURlZmF1bHRT
dHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjpleHRyYVF1aXJr
c1N0eWxlU2hlZXQpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlOjpVc2VyQWdlbnRTdHlsZTo6aW5pdERlZmF1bHRTdHlsZVNoZWV0
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpVc2VyQWdlbnRTdHlsZTo6ZW5zdXJlRGVmYXVs
dFN0eWxlU2hlZXRzRm9yRWxlbWVudCk6CisKIDIwMjEtMDMtMjQgIFJvYiBCdWlzICA8cmJ1aXNA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIERvIG5vdCBhbGxvdyBuZWdhdGl2ZSBo
ZWlnaHRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJEcml2ZXIvQ2hhbmdlTG9nCmluZGV4IGJiZTQwZGU0MWMyM2M1ZmU1NTllZmIyMWM4NTI1NmZl
NDNlMmQ0M2UuLjZmODI3NWQ2NjgxZmYyZmVjYjcwNzg5NmE2ZWMyODg0MzZiMDZhMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDMtMjQgIFl1c3VrZSBTdXp1a2kgIDx5
c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGwgc3RyaW5nIHJlc291cmNlcyBmcm9tIFVz
ZXJBZ2VudFN0eWxlU2hlZXRzIC8gVXNlckFnZW50U2NyaXB0cyBzaG91bGQgYmUgdXNlZCBhcyBz
dGF0aWMgc3RyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjM2ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpmdWxsc2Ny
ZWVuV2luZG93KToKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6ZmluZEVsZW1lbnRzKToK
KyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6aXNFbGVtZW50U2VsZWN0ZWQpOgorICAgICAg
ICAoV2ViRHJpdmVyOjpTZXNzaW9uOjppc0VsZW1lbnRFbmFibGVkKToKKyAgICAgICAgKFdlYkRy
aXZlcjo6U2Vzc2lvbjo6aXNFbGVtZW50RGlzcGxheWVkKToKKyAgICAgICAgKFdlYkRyaXZlcjo6
U2Vzc2lvbjo6Z2V0RWxlbWVudEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Np
b246OmVsZW1lbnRDbGVhcik6CisKIDIwMjEtMDItMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBBZGQgc3VwcG9ydCBmb3IgbGli
c291cDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmVNYWNyb3MuY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlTWFjcm9zLmNtYWtlCmluZGV4IDNhYmZmZWU4MzFmMjMzOTRl
YzNkODkwNjFlZDM1NTMwMDgzNzMzNzMuLjg5ZGY2YjZjYTZiNzk4OGYxZDNjZTA0YTI2YmU1MWMw
MTUwZGYwZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmVNYWNyb3MuY21ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZU1hY3Jvcy5jbWFrZQpAQCAtMzYsNyArMzYsNyBA
QCBtYWNybyhNQUtFX0pTX0ZJTEVfQVJSQVlTIF9vdXRwdXRfY3BwIF9vdXRwdXRfaCBfbmFtZXNw
YWNlIF9zY3JpcHRzIF9zY3JpcHRzX2RlcAogICAgIGFkZF9jdXN0b21fY29tbWFuZCgKICAgICAg
ICAgT1VUUFVUICR7X291dHB1dF9ofSAke19vdXRwdXRfY3BwfQogICAgICAgICBERVBFTkRTICR7
SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L21ha2UtanMtZmlsZS1hcnJheXMucHkgJHske19z
Y3JpcHRzfX0KLSAgICAgICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0phdmFTY3Jp
cHRDb3JlX1NDUklQVFNfRElSfS9tYWtlLWpzLWZpbGUtYXJyYXlzLnB5IC1uICR7X25hbWVzcGFj
ZX0gJHtfb3V0cHV0X2h9ICR7X291dHB1dF9jcHB9ICR7JHtfc2NyaXB0c319CisgICAgICAgIENP
TU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0v
bWFrZS1qcy1maWxlLWFycmF5cy5weSAtLWZhaWwtaWYtbm9uLWFzY2lpIC1uICR7X25hbWVzcGFj
ZX0gJHtfb3V0cHV0X2h9ICR7X291dHB1dF9jcHB9ICR7JHtfc2NyaXB0c319CiAgICAgICAgIFZF
UkJBVElNKQogICAgIFdFQktJVF9BRERfU09VUkNFX0RFUEVOREVOQ0lFUygkeyR7X3NjcmlwdHNf
ZGVwZW5kZW5jaWVzfX0gJHtfb3V0cHV0X2h9ICR7X291dHB1dF9jcHB9KQogZW5kbWFjcm8oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNTM0MTMwZWU2MjZiNTZkZjM4N2UwNTU0MTY0Njc1
OTcxZmE5ZWM1NC4uY2NjYzA0MzhjYjhiOWNmMTdlY2MwNjM3MTAxYjgyZGRhNTI2NDRkYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC03NDQ5LDcgKzc0NDksNyBAQCB2b2lkIERvY3VtZW50
OjplbnN1cmVQbHVnSW5zSW5qZWN0ZWRTY3JpcHQoRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkKICAg
ICAvLyBVc2UgdGhlIEpTIGZpbGUgcHJvdmlkZWQgYnkgdGhlIENocm9tZSBjbGllbnQsIG9yIGZh
bGxiYWNrIHRvIHRoZSBkZWZhdWx0IG9uZS4KICAgICBTdHJpbmcganNTdHJpbmcgPSBwYWdlKCkt
PmNocm9tZSgpLmNsaWVudCgpLnBsdWdJbkV4dHJhU2NyaXB0KCk7CiAgICAgaWYgKCFqc1N0cmlu
ZyB8fCAhc2NyaXB0Q29udHJvbGxlci5zaG91bGRBbGxvd1VzZXJBZ2VudFNjcmlwdHMoKnRoaXMp
KQotICAgICAgICBqc1N0cmluZyA9IFN0cmluZyhwbHVnSW5zSmF2YVNjcmlwdCwgc2l6ZW9mKHBs
dWdJbnNKYXZhU2NyaXB0KSk7CisgICAgICAgIGpzU3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRl
U3RhdGljU3RyaW5nSW1wbChwbHVnSW5zSmF2YVNjcmlwdCwgc2l6ZW9mKHBsdWdJbnNKYXZhU2Ny
aXB0KSk7CiAKICAgICBzZXRIYXNFdmFsdWF0ZWRVc2VyQWdlbnRTY3JpcHRzKCk7CiAgICAgc2Ny
aXB0Q29udHJvbGxlci5ldmFsdWF0ZUluV29ybGRJZ25vcmluZ0V4Y2VwdGlvbihTY3JpcHRTb3Vy
Y2VDb2RlKGpzU3RyaW5nKSwgd29ybGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApp
bmRleCA4ZDM3NzNmODdhNDU4NWNjZmUyNTVkZjVkYTI2NWE3NTI5OTgyNjIwLi44YTE2YTEwNWJm
M2ZhYWQ5ZDUzY2U3MTkzODU1ZGVlY2FmMmI2ODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmNwcApAQCAtMTMwMSw3ICsxMzAxLDcgQEAgdm9pZCBIVE1MRWxlbWVudDo6dXBkYXRlV2l0
aEltYWdlRXh0cmFjdGlvblJlc3VsdChJbWFnZUV4dHJhY3Rpb25SZXN1bHQmJiByZXN1bHQKIAog
ICAgIGF1dG8gc2hhZG93Um9vdCA9IG1ha2VSZWYoZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgp
KTsKICAgICBpZiAoIXByZXZpb3VzQ29udGFpbmVyKSB7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKGltYWdlT3ZlcmxheVVzZXJBZ2VudFN0
eWxlU2hlZXQsIFN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICBzdGF0aWMg
TWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gc2hhZG93U3R5bGUoU3RyaW5n
SW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChpbWFnZU92ZXJsYXlVc2VyQWdlbnRTdHlsZVNo
ZWV0LCBzaXplb2YoaW1hZ2VPdmVybGF5VXNlckFnZW50U3R5bGVTaGVldCkpKTsKICAgICAgICAg
YXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnN0eWxlVGFn
LCBkb2N1bWVudCgpLCBmYWxzZSk7CiAgICAgICAgIHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFk
b3dTdHlsZSk7CiAgICAgICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKFdURk1vdmUoc3R5bGUp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCmluZGV4IDk4M2RiNTQx
NmIyZTMwY2U0Yjk5YmZkOTRiODViODc5MWIxNDZjNjUuLjhjOGY2NzQyNzdjZWQ4ZDQ2MWY2NDFl
NmQxYjMyM2NkZDE0ZWU2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
dGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50
LmNwcApAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgSFRNTE1ldGVyRWxlbWVudDo6ZGlkQWRkVXNl
ckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290JiByb290KQogewogICAgIEFTU0VSVCghbV92YWx1
ZSk7CiAKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzaGFkb3dTdHlsZShtZXRl
ckVsZW1lbnRTaGFkb3dVc2VyQWdlbnRTdHlsZVNoZWV0LCBTdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKTsKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmlu
Zz4gc2hhZG93U3R5bGUoU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChtZXRlckVs
ZW1lbnRTaGFkb3dVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWV0ZXJFbGVtZW50U2hhZG93
VXNlckFnZW50U3R5bGVTaGVldCkpKTsKIAogICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVt
ZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgZG9jdW1lbnQoKSwgZmFsc2UpOwogICAg
IHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFkb3dTdHlsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwCmluZGV4IDgwZmVhNmYxYjI5ZWUwOGYz
ODFkMWM2NzFlYWU0Y2VlNmJiYjRmNWEuLjM1OTI1YjMyNGQ2YTE1YzA4YTFiYzdjZTQ1ZTZlNDRh
YmY3OGYwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZUFkd2FpdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUFk
d2FpdGEuY3BwCkBAIC0xNjMsMTggKzE2MywxOCBAQCB2b2lkIFJlbmRlclRoZW1lQWR3YWl0YTo6
cGxhdGZvcm1Db2xvcnNEaWRDaGFuZ2UoKQogCiBTdHJpbmcgUmVuZGVyVGhlbWVBZHdhaXRhOjpl
eHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nKHRoZW1lQWR3YWl0
YVVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZih0aGVtZUFkd2FpdGFVc2VyQWdlbnRTdHlsZVNo
ZWV0KSk7CisgICAgcmV0dXJuIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwodGhl
bWVBZHdhaXRhVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKHRoZW1lQWR3YWl0YVVzZXJBZ2Vu
dFN0eWxlU2hlZXQpKTsKIH0KIAogI2lmIEVOQUJMRShWSURFTykKIFN0cmluZyBSZW5kZXJUaGVt
ZUFkd2FpdGE6OmV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogewotICAgIHJldHVybiBT
dHJpbmcobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWVk
aWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgcmV0dXJuIFN0cmlu
Z0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdl
bnRTdHlsZVNoZWV0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNo
ZWV0KSk7CiB9CiAKIFZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1lQWR3YWl0YTo6bWVkaWFD
b250cm9sc1NjcmlwdHMoKQogewotICAgIHJldHVybiB7IFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3
YWl0YUphdmFTY3JpcHQsIHNpemVvZihtZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFTY3JpcHQpKSB9
OworICAgIHJldHVybiB7IFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwobWVkaWFD
b250cm9sc0Fkd2FpdGFKYXZhU2NyaXB0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFKYXZh
U2NyaXB0KSkgfTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lV2luLmNwcAppbmRleCBkMGZkMmE2YTMxMjQ5ODE0YjQwZDAyZTVkMjRjNTkzODc4M2I4
ZDljLi4wODhlMjVhMTMwODM0MTlmMmZiMGE4YTZiMTQ0MmI1ZTg0MDU2Y2QwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKQEAgLTI3MSwxMiArMjcxLDEy
IEBAIHZvaWQgUmVuZGVyVGhlbWVXaW46OnRoZW1lQ2hhbmdlZCgpCiAKIFN0cmluZyBSZW5kZXJU
aGVtZVdpbjo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpCiB7Ci0gICAgcmV0dXJuIFN0cmluZyh0
aGVtZVdpblVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZih0aGVtZVdpblVzZXJBZ2VudFN0eWxl
U2hlZXQpKTsKKyAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbCh0
aGVtZVdpblVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZih0aGVtZVdpblVzZXJBZ2VudFN0eWxl
U2hlZXQpKTsKIH0KIAogU3RyaW5nIFJlbmRlclRoZW1lV2luOjpleHRyYVF1aXJrc1N0eWxlU2hl
ZXQoKQogewotICAgIHJldHVybiBTdHJpbmcodGhlbWVXaW5RdWlya3NVc2VyQWdlbnRTdHlsZVNo
ZWV0LCBzaXplb2YodGhlbWVXaW5RdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgcmV0
dXJuIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwodGhlbWVXaW5RdWlya3NVc2Vy
QWdlbnRTdHlsZVNoZWV0LCBzaXplb2YodGhlbWVXaW5RdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0
KSk7CiB9CiAKIGJvb2wgUmVuZGVyVGhlbWVXaW46OnN1cHBvcnRzSG92ZXIoY29uc3QgUmVuZGVy
U3R5bGUmKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50
U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCmluZGV4
IDI5NjFjNzE5ODJjZjNmZjYwNTViNjFmNjlmNDQ2ZmI5N2YzYTAxYjIuLjg2NjcxODQ2OTkwNDVm
NTRhYjYyZGVkZDlmOWU1ODY4NjMwOTRlNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdl
bnRTdHlsZS5jcHAKQEAgLTEwNSwxMSArMTA1LDYgQEAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50
cyogcGFyc2VVQVNoZWV0KGNvbnN0IFN0cmluZyYgc3RyKQogICAgIHJldHVybiAmc2hlZXQ7CiB9
CiAKLXN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIHBhcnNlVUFTaGVldChjb25zdCBjaGFyKiBj
aGFyYWN0ZXJzLCB1bnNpZ25lZCBzaXplKQotewotICAgIHJldHVybiBwYXJzZVVBU2hlZXQoU3Ry
aW5nKGNoYXJhY3RlcnMsIHNpemUpKTsKLX0KLQogdm9pZCBVc2VyQWdlbnRTdHlsZTo6YWRkVG9E
ZWZhdWx0U3R5bGUoU3R5bGVTaGVldENvbnRlbnRzJiBzaGVldCkKIHsKICAgICBkZWZhdWx0U3R5
bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHNoZWV0LCBzY3JlZW5FdmFsKCkpOwpAQCAtMTQzLDEyICsx
MzgsMTIgQEAgdm9pZCBVc2VyQWdlbnRTdHlsZTo6aW5pdERlZmF1bHRTdHlsZVNoZWV0KCkKICAg
ICBtZWRpYVF1ZXJ5U3R5bGVTaGVldCA9ICZTdHlsZVNoZWV0Q29udGVudHM6OmNyZWF0ZShDU1NQ
YXJzZXJDb250ZXh0KFVBU2hlZXRNb2RlKSkubGVha1JlZigpOwogCiAgICAgLy8gU3RyaWN0LW1v
ZGUgcnVsZXMuCi0gICAgU3RyaW5nIGRlZmF1bHRSdWxlcyA9IFN0cmluZyhodG1sVXNlckFnZW50
U3R5bGVTaGVldCwgc2l6ZW9mKGh0bWxVc2VyQWdlbnRTdHlsZVNoZWV0KSkgKyBSZW5kZXJUaGVt
ZTo6c2luZ2xldG9uKCkuZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpOworICAgIFN0cmluZyBkZWZh
dWx0UnVsZXMgPSBTdHJpbmcoU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChodG1s
VXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGh0bWxVc2VyQWdlbnRTdHlsZVNoZWV0KSkpICsg
UmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKTsKICAgICBk
ZWZhdWx0U3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChkZWZhdWx0UnVsZXMpOwogICAgIGFkZFRv
RGVmYXVsdFN0eWxlKCpkZWZhdWx0U3R5bGVTaGVldCk7CiAKICAgICAvLyBRdWlya3MtbW9kZSBy
dWxlcy4KLSAgICBTdHJpbmcgcXVpcmtzUnVsZXMgPSBTdHJpbmcocXVpcmtzVXNlckFnZW50U3R5
bGVTaGVldCwgc2l6ZW9mKHF1aXJrc1VzZXJBZ2VudFN0eWxlU2hlZXQpKSArIFJlbmRlclRoZW1l
OjpzaW5nbGV0b24oKS5leHRyYVF1aXJrc1N0eWxlU2hlZXQoKTsKKyAgICBTdHJpbmcgcXVpcmtz
UnVsZXMgPSBTdHJpbmcoU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChxdWlya3NV
c2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YocXVpcmtzVXNlckFnZW50U3R5bGVTaGVldCkpKSAr
IFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5leHRyYVF1aXJrc1N0eWxlU2hlZXQoKTsKICAgICBx
dWlya3NTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KHF1aXJrc1J1bGVzKTsKICAgICBkZWZhdWx0
UXVpcmtzU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KCpxdWlya3NTdHlsZVNoZWV0LCBzY3JlZW5F
dmFsKCkpOwogCkBAIC0xNjIsMTQgKzE1NywxNCBAQCB2b2lkIFVzZXJBZ2VudFN0eWxlOjplbnN1
cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiAg
ICAgICAgICAgICBpZiAoIXBsdWdJbnNTdHlsZVNoZWV0ICYmIGVsZW1lbnQuZG9jdW1lbnQoKS5w
YWdlKCkpIHsKICAgICAgICAgICAgICAgICBTdHJpbmcgcGx1Z0luc1J1bGVzID0gUmVuZGVyVGhl
bWU6OnNpbmdsZXRvbigpLmV4dHJhUGx1Z0luc1N0eWxlU2hlZXQoKSArIGVsZW1lbnQuZG9jdW1l
bnQoKS5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgpLnBsdWdJbkV4dHJhU3R5bGVTaGVldCgpOwog
ICAgICAgICAgICAgICAgIGlmIChwbHVnSW5zUnVsZXMuaXNFbXB0eSgpKQotICAgICAgICAgICAg
ICAgICAgICBwbHVnSW5zUnVsZXMgPSBTdHJpbmcocGx1Z0luc1VzZXJBZ2VudFN0eWxlU2hlZXQs
IHNpemVvZihwbHVnSW5zVXNlckFnZW50U3R5bGVTaGVldCkpOworICAgICAgICAgICAgICAgICAg
ICBwbHVnSW5zUnVsZXMgPSBTdHJpbmcoU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1w
bChwbHVnSW5zVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKHBsdWdJbnNVc2VyQWdlbnRTdHls
ZVNoZWV0KSkpOwogICAgICAgICAgICAgICAgIHBsdWdJbnNTdHlsZVNoZWV0ID0gcGFyc2VVQVNo
ZWV0KHBsdWdJbnNSdWxlcyk7CiAgICAgICAgICAgICAgICAgYWRkVG9EZWZhdWx0U3R5bGUoKnBs
dWdJbnNTdHlsZVNoZWV0KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNl
IGlmIChpczxIVE1MRGlhbG9nRWxlbWVudD4oZWxlbWVudCkgJiYgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5kaWFsb2dFbGVtZW50RW5hYmxlZCgpKSB7CiAgICAgICAg
ICAgICBpZiAoIWRpYWxvZ1N0eWxlU2hlZXQpIHsKLSAgICAgICAgICAgICAgICBkaWFsb2dTdHls
ZVNoZWV0ID0gcGFyc2VVQVNoZWV0KGRpYWxvZ1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihk
aWFsb2dVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgICAgICAgICAgICAgZGlhbG9nU3R5bGVT
aGVldCA9IHBhcnNlVUFTaGVldChTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKGRp
YWxvZ1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihkaWFsb2dVc2VyQWdlbnRTdHlsZVNoZWV0
KSkpOwogICAgICAgICAgICAgICAgIGFkZFRvRGVmYXVsdFN0eWxlKCpkaWFsb2dTdHlsZVNoZWV0
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMTc4LDcgKzE3Myw3IEBAIHZvaWQgVXNl
ckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxl
bWVudCYgZWxlbWVudCkKICAgICAgICAgICAgIGlmICghbWVkaWFDb250cm9sc1N0eWxlU2hlZXQp
IHsKICAgICAgICAgICAgICAgICBTdHJpbmcgbWVkaWFSdWxlcyA9IFJlbmRlclRoZW1lOjpzaW5n
bGV0b24oKS5tZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOwogICAgICAgICAgICAgICAgIGlmICht
ZWRpYVJ1bGVzLmlzRW1wdHkoKSkKLSAgICAgICAgICAgICAgICAgICAgbWVkaWFSdWxlcyA9IFN0
cmluZyhtZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKG1lZGlhQ29udHJv
bHNVc2VyQWdlbnRTdHlsZVNoZWV0KSkgKyBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuZXh0cmFN
ZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOworICAgICAgICAgICAgICAgICAgICBtZWRpYVJ1bGVz
ID0gU3RyaW5nKFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwobWVkaWFDb250cm9s
c1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihtZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5bGVT
aGVldCkpKSArIFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5leHRyYU1lZGlhQ29udHJvbHNTdHls
ZVNoZWV0KCk7CiAgICAgICAgICAgICAgICAgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQgPSBwYXJz
ZVVBU2hlZXQobWVkaWFSdWxlcyk7CiAgICAgICAgICAgICAgICAgYWRkVG9EZWZhdWx0U3R5bGUo
Km1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KTsKIApAQCAtMjAwLDcgKzE5NSw3IEBAIHZvaWQgVXNl
ckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxl
bWVudCYgZWxlbWVudCkKICAgICB9IGVsc2UgaWYgKGlzPFNWR0VsZW1lbnQ+KGVsZW1lbnQpKSB7
CiAgICAgICAgIGlmICghc3ZnU3R5bGVTaGVldCkgewogICAgICAgICAgICAgLy8gU1ZHIHJ1bGVz
LgotICAgICAgICAgICAgc3ZnU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChzdmdVc2VyQWdlbnRT
dHlsZVNoZWV0LCBzaXplb2Yoc3ZnVXNlckFnZW50U3R5bGVTaGVldCkpOworICAgICAgICAgICAg
c3ZnU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNTdHJp
bmdJbXBsKHN2Z1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihzdmdVc2VyQWdlbnRTdHlsZVNo
ZWV0KSkpOwogICAgICAgICAgICAgYWRkVG9EZWZhdWx0U3R5bGUoKnN2Z1N0eWxlU2hlZXQpOwog
ICAgICAgICB9CiAgICAgfQpAQCAtMjA4LDcgKzIwMyw3IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6
OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKICAgICBlbHNlIGlmIChpczxNYXRoTUxFbGVtZW50PihlbGVtZW50KSkgewogICAgICAgICBp
ZiAoIW1hdGhNTFN0eWxlU2hlZXQpIHsKICAgICAgICAgICAgIC8vIE1hdGhNTCBydWxlcy4KLSAg
ICAgICAgICAgIG1hdGhNTFN0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQobWF0aG1sVXNlckFnZW50
U3R5bGVTaGVldCwgc2l6ZW9mKG1hdGhtbFVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKKyAgICAgICAg
ICAgIG1hdGhNTFN0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQoU3RyaW5nSW1wbDo6Y3JlYXRlU3Rh
dGljU3RyaW5nSW1wbChtYXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWF0aG1sVXNl
ckFnZW50U3R5bGVTaGVldCkpKTsKICAgICAgICAgICAgIGFkZFRvRGVmYXVsdFN0eWxlKCptYXRo
TUxTdHlsZVNoZWV0KTsKICAgICAgICAgfQogICAgIH0KQEAgLTIyOCw3ICsyMjMsNyBAQCB2b2lk
IFVzZXJBZ2VudFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQpCiAKICNpZiBFTkFCTEUoSU9TX0ZPUk1fQ09OVFJPTF9SRUZSRVNI
KQogICAgIGlmICghbGVnYWN5Rm9ybUNvbnRyb2xzSU9TU3R5bGVTaGVldCAmJiAhZWxlbWVudC5k
b2N1bWVudCgpLnNldHRpbmdzKCkuaU9TRm9ybUNvbnRyb2xSZWZyZXNoRW5hYmxlZCgpKSB7Ci0g
ICAgICAgIGxlZ2FjeUZvcm1Db250cm9sc0lPU1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQobGVn
YWN5Rm9ybUNvbnRyb2xzSU9TVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGxlZ2FjeUZvcm1D
b250cm9sc0lPU1VzZXJBZ2VudFN0eWxlU2hlZXQpKTsKKyAgICAgICAgbGVnYWN5Rm9ybUNvbnRy
b2xzSU9TU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChTdHJpbmdJbXBsOjpjcmVhdGVTdGF0aWNT
dHJpbmdJbXBsKGxlZ2FjeUZvcm1Db250cm9sc0lPU1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
ZihsZWdhY3lGb3JtQ29udHJvbHNJT1NVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOwogICAgICAgICBh
ZGRUb0RlZmF1bHRTdHlsZSgqbGVnYWN5Rm9ybUNvbnRyb2xzSU9TU3R5bGVTaGVldCk7CiAgICAg
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uY3BwIGIvU291
cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcAppbmRleCA4MDk5YTE1NTkzODIwMzVkZjI3N2I2Yjgx
MGMwNmZmMGIzZDkxYjgwLi4wNWU3MWUwMWEzMjljODk2MzU4MDhiNWVlZWNkNDlkZGYxNzJjMmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJEcml2ZXIvU2Vzc2lvbi5jcHAKQEAgLTkzMyw3ICs5MzMsNyBAQCB2b2lkIFNlc3Npb246OmZ1
bGxzY3JlZW5XaW5kb3coRnVuY3Rpb248dm9pZCAoQ29tbWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0
aW9uSGFuZAogCiAgICAgICAgIGF1dG8gcGFyYW1ldGVycyA9IEpTT046Ok9iamVjdDo6Y3JlYXRl
KCk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiYnJvd3NpbmdDb250ZXh0SGFuZGxl
Il9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwotICAgICAgICBwYXJhbWV0
ZXJzLT5zZXRTdHJpbmcoImZ1bmN0aW9uIl9zLCBTdHJpbmcoRW50ZXJGdWxsc2NyZWVuSmF2YVNj
cmlwdCwgc2l6ZW9mKEVudGVyRnVsbHNjcmVlbkphdmFTY3JpcHQpKSk7CisgICAgICAgIHBhcmFt
ZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0
cmluZ0ltcGwoRW50ZXJGdWxsc2NyZWVuSmF2YVNjcmlwdCwgc2l6ZW9mKEVudGVyRnVsbHNjcmVl
bkphdmFTY3JpcHQpKSk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldEFycmF5KCJhcmd1bWVudHMi
X3MsIEpTT046OkFycmF5OjpjcmVhdGUoKSk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldEJvb2xl
YW4oImV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQiX3MsIHRydWUpOwogICAgICAgICBt
X2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbiJf
cywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3RoaXMsIHByb3RlY3RlZFRoaXMsIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpDb21tYW5k
UmVzcG9uc2UmJiByZXNwb25zZSkgbXV0YWJsZSB7CkBAIC0xMTAxLDcgKzExMDEsNyBAQCB2b2lk
IFNlc3Npb246OmZpbmRFbGVtZW50cyhjb25zdCBTdHJpbmcmIHN0cmF0ZWd5LCBjb25zdCBTdHJp
bmcmIHNlbGVjdG9yLCBGaW5kRQogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImJyb3dz
aW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsK
ICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29udGV4dCkKICAgICAgICAgICAgIHBhcmFt
ZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3MsIG1fY3VycmVudEJyb3dzaW5nQ29udGV4
dC52YWx1ZSgpKTsKLSAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmdW5jdGlvbiJfcywg
U3RyaW5nKEZpbmROb2Rlc0phdmFTY3JpcHQsIHNpemVvZihGaW5kTm9kZXNKYXZhU2NyaXB0KSkp
OworICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZ1bmN0aW9uIl9zLCBTdHJpbmdJbXBs
OjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKEZpbmROb2Rlc0phdmFTY3JpcHQsIHNpemVvZihGaW5k
Tm9kZXNKYXZhU2NyaXB0KSkpOwogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRBcnJheSgiYXJndW1l
bnRzIl9zLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRCb29s
ZWFuKCJleHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50Il9zLCB0cnVlKTsKICAgICAgICAg
Ly8gSWYgdGhlcmUncyBhbiBpbXBsaWNpdCB3YWl0LCB1c2Ugb25lIHNlY29uZCBtb3JlIGFzIGNh
bGxiYWNrIHRpbWVvdXQuCkBAIC0xMjIyLDcgKzEyMjIsNyBAQCB2b2lkIFNlc3Npb246OmlzRWxl
bWVudFNlbGVjdGVkKGNvbnN0IFN0cmluZyYgZWxlbWVudElELCBGdW5jdGlvbjx2b2lkIChDb21t
YW5kUgogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImJyb3dzaW5nQ29udGV4dEhhbmRs
ZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKICAgICAgICAgaWYgKG1f
Y3VycmVudEJyb3dzaW5nQ29udGV4dCkKICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmlu
ZygiZnJhbWVIYW5kbGUiX3MsIG1fY3VycmVudEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKLSAg
ICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmdW5jdGlvbiJfcywgU3RyaW5nKEVsZW1lbnRB
dHRyaWJ1dGVKYXZhU2NyaXB0LCBzaXplb2YoRWxlbWVudEF0dHJpYnV0ZUphdmFTY3JpcHQpKSk7
CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6
OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRWxlbWVudEF0dHJpYnV0ZUphdmFTY3JpcHQsIHNpemVv
ZihFbGVtZW50QXR0cmlidXRlSmF2YVNjcmlwdCkpKTsKICAgICAgICAgcGFyYW1ldGVycy0+c2V0
QXJyYXkoImFyZ3VtZW50cyJfcywgV1RGTW92ZShhcmd1bWVudHMpKTsKICAgICAgICAgbV9ob3N0
LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24iX3MsIFdU
Rk1vdmUocGFyYW1ldGVycyksIFtwcm90ZWN0ZWRUaGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYg
cmVzcG9uc2UpIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yIHx8ICFyZXNwb25z
ZS5yZXNwb25zZU9iamVjdCkgewpAQCAtMTM5Myw3ICsxMzkzLDcgQEAgdm9pZCBTZXNzaW9uOjpp
c0VsZW1lbnRFbmFibGVkKGNvbnN0IFN0cmluZyYgZWxlbWVudElELCBGdW5jdGlvbjx2b2lkIChD
b21tYW5kUmUKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJicm93c2luZ0NvbnRleHRI
YW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7CiAgICAgICAgIGlm
IChtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQpCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRT
dHJpbmcoImZyYW1lSGFuZGxlIl9zLCBtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7
Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZyhFbGVt
ZW50RW5hYmxlZEphdmFTY3JpcHQsIHNpemVvZihFbGVtZW50RW5hYmxlZEphdmFTY3JpcHQpKSk7
CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6
OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRWxlbWVudEVuYWJsZWRKYXZhU2NyaXB0LCBzaXplb2Yo
RWxlbWVudEVuYWJsZWRKYXZhU2NyaXB0KSkpOwogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRBcnJh
eSgiYXJndW1lbnRzIl9zLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwogICAgICAgICBtX2hvc3QtPnNl
bmRDb21tYW5kVG9CYWNrZW5kKCJldmFsdWF0ZUphdmFTY3JpcHRGdW5jdGlvbiJfcywgV1RGTW92
ZShwYXJhbWV0ZXJzKSwgW3Byb3RlY3RlZFRoaXMsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpDb21tYW5kUmVzcG9uc2UmJiByZXNw
b25zZSkgewogICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmlzRXJyb3IgfHwgIXJlc3BvbnNlLnJl
c3BvbnNlT2JqZWN0KSB7CkBAIC0xNDM3LDcgKzE0MzcsNyBAQCB2b2lkIFNlc3Npb246OmlzRWxl
bWVudERpc3BsYXllZChjb25zdCBTdHJpbmcmIGVsZW1lbnRJRCwgRnVuY3Rpb248dm9pZCAoQ29t
bWFuZAogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImJyb3dzaW5nQ29udGV4dEhhbmRs
ZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKICAgICAgICAgaWYgKG1f
Y3VycmVudEJyb3dzaW5nQ29udGV4dCkKICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmlu
ZygiZnJhbWVIYW5kbGUiX3MsIG1fY3VycmVudEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKLSAg
ICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmdW5jdGlvbiJfcywgU3RyaW5nKEVsZW1lbnRE
aXNwbGF5ZWRKYXZhU2NyaXB0LCBzaXplb2YoRWxlbWVudERpc3BsYXllZEphdmFTY3JpcHQpKSk7
CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6
OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoRWxlbWVudERpc3BsYXllZEphdmFTY3JpcHQsIHNpemVv
ZihFbGVtZW50RGlzcGxheWVkSmF2YVNjcmlwdCkpKTsKICAgICAgICAgcGFyYW1ldGVycy0+c2V0
QXJyYXkoImFyZ3VtZW50cyJfcywgV1RGTW92ZShhcmd1bWVudHMpKTsKICAgICAgICAgbV9ob3N0
LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVKYXZhU2NyaXB0RnVuY3Rpb24iX3MsIFdU
Rk1vdmUocGFyYW1ldGVycyksIFtwcm90ZWN0ZWRUaGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYg
cmVzcG9uc2UpIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9yIHx8ICFyZXNwb25z
ZS5yZXNwb25zZU9iamVjdCkgewpAQCAtMTQ4Miw3ICsxNDgyLDcgQEAgdm9pZCBTZXNzaW9uOjpn
ZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFN0cmluZyYgZWxlbWVudElELCBjb25zdCBTdHJpbmcm
IGF0dHJpYnUKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJicm93c2luZ0NvbnRleHRI
YW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7CiAgICAgICAgIGlm
IChtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQpCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRT
dHJpbmcoImZyYW1lSGFuZGxlIl9zLCBtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7
Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZyhFbGVt
ZW50QXR0cmlidXRlSmF2YVNjcmlwdCwgc2l6ZW9mKEVsZW1lbnRBdHRyaWJ1dGVKYXZhU2NyaXB0
KSkpOworICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZ1bmN0aW9uIl9zLCBTdHJpbmdJ
bXBsOjpjcmVhdGVTdGF0aWNTdHJpbmdJbXBsKEVsZW1lbnRBdHRyaWJ1dGVKYXZhU2NyaXB0LCBz
aXplb2YoRWxlbWVudEF0dHJpYnV0ZUphdmFTY3JpcHQpKSk7CiAgICAgICAgIHBhcmFtZXRlcnMt
PnNldEFycmF5KCJhcmd1bWVudHMiX3MsIFdURk1vdmUoYXJndW1lbnRzKSk7CiAgICAgICAgIG1f
aG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9uIl9z
LCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbcHJvdGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25z
ZSYmIHJlc3BvbnNlKSB7CiAgICAgICAgICAgICBpZiAocmVzcG9uc2UuaXNFcnJvciB8fCAhcmVz
cG9uc2UucmVzcG9uc2VPYmplY3QpIHsKQEAgLTE4NjIsNyArMTg2Miw3IEBAIHZvaWQgU2Vzc2lv
bjo6ZWxlbWVudENsZWFyKGNvbnN0IFN0cmluZyYgZWxlbWVudElELCBGdW5jdGlvbjx2b2lkIChD
b21tYW5kUmVzdWx0CiAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJicm93
c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7
CiAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29udGV4dCkKICAgICAgICAg
ICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmcmFtZUhhbmRsZSJfcywgbV9jdXJy
ZW50QnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwotICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMt
PnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZyhGb3JtRWxlbWVudENsZWFySmF2YVNjcmlw
dCwgc2l6ZW9mKEZvcm1FbGVtZW50Q2xlYXJKYXZhU2NyaXB0KSkpOworICAgICAgICAgICAgICAg
IHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVN0
YXRpY1N0cmluZ0ltcGwoRm9ybUVsZW1lbnRDbGVhckphdmFTY3JpcHQsIHNpemVvZihGb3JtRWxl
bWVudENsZWFySmF2YVNjcmlwdCkpKTsKICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRB
cnJheSgiYXJndW1lbnRzIl9zLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwogICAgICAgICAgICAgICAg
IG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImV2YWx1YXRlSmF2YVNjcmlwdEZ1bmN0aW9u
Il9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbcHJvdGVjdGVkVGhpcywgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNw
b25zZSYmIHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vy
cm9yKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggNTJiMzdjNmEwYTNkNDJjOGU0YWY4MjFkMGYwMGU2YjNkZDY4ZmI3NC4u
Mjg0NWVhYTI2ZThhNThmMGY5ZDVlNTI3YjE5MDhhNWUxZDRkNzVhNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDIxLTAzLTI0ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWxsIHN0cmluZyByZXNvdXJjZXMgZnJvbSBVc2VyQWdlbnRTdHlsZVNoZWV0cyAv
IFVzZXJBZ2VudFNjcmlwdHMgc2hvdWxkIGJlIHVzZWQgYXMgc3RhdGljIHN0cmluZworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjg1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1M
TWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQtbWFya3VwLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0w
My0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0g
RG8gbm90IGFsbG93IG5lZ2F0aXZlIGhlaWdodHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1tYXJrdXAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LW1h
cmt1cC1leHBlY3RlZC50eHQKaW5kZXggMDZkYzBkODEwYzQ0OTRhNDM1MTRmYTRlMWE1ZWM4MmQy
MWI2MzdmZi4uNjMzZDk1MDlhZTc0MzE1YWM2OTdmNDA3YzVlNjIxMThlYmVjYjEzMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50
LW1hcmt1cC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTE1ldGVy
RWxlbWVudC9tZXRlci1lbGVtZW50LW1hcmt1cC1leHBlY3RlZC50eHQKQEAgLTYsNyArNiw3IEBA
IEJvdGggbWV0ZXIgZWxlbWVudHMgc2hvdWxkIGhhdmUgYSBuZXN0ZWQgc2hhZG93IGJveCB3aXRo
IGEgd2lkdGggc3BlY2lmaWVkOgogfCAgIHZhbHVlPSI3MCIKIHwgICA8c2hhZG93OnJvb3Q+CiB8
ICAgICA8c3R5bGU+Ci18ICAgICAgICJkaXYjaW5uZXIgeyAtd2Via2l0LWFwcGVhcmFuY2U6IGlu
aGVyaXQ7IGJveC1zaXppbmc6IGluaGVyaXQ7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IH0g
ZGl2I2JhciB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwg
bGVmdCBib3R0b20sIGZyb20oI2RkZCksIHRvKCNkZGQpLCBjb2xvci1zdG9wKDAuMjAsICNlZWUp
LCBjb2xvci1zdG9wKDAuNDUsICNjY2MpLCBjb2xvci1zdG9wKDAuNTUsICNjY2MpKTsgaGVpZ2h0
OiAxMDAlOyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSBkaXYjdmFsdWUg
eyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gZGl2I3ZhbHVlLm9wdGlt
dW0geyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQg
Ym90dG9tLCBmcm9tKCNhZDcpLCB0bygjYWQ3KSwgY29sb3Itc3RvcCgwLjIwLCAjY2VhKSwgY29s
b3Itc3RvcCgwLjQ1LCAjN2EzKSwgY29sb3Itc3RvcCgwLjU1LCAjN2EzKSk7IH0gZGl2I3ZhbHVl
LnN1Ym9wdGltdW0geyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0
b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmZTcpLCB0bygjZmU3KSwgY29sb3Itc3RvcCgwLjIwLCAj
ZmZjKSwgY29sb3Itc3RvcCgwLjQ1LCAjZGIzKSwgY29sb3Itc3RvcCgwLjU1LCAjZGIzKSk7IGhl
aWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSBkaXYjdmFsdWUuZXZlbi1sZXNz
LWdvb2QgeyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxl
ZnQgYm90dG9tLCBmcm9tKCNmNzcpLCB0bygjZjc3KSwgY29sb3Itc3RvcCgwLjIwLCAjZmNjKSwg
Y29sb3Itc3RvcCgwLjQ1LCAjZDQ0KSwgY29sb3Itc3RvcCgwLjU1LCAjZDQ0KSk7IGhlaWdodDog
MTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgIgorfCAgICAgICAiZGl2I2lubmVyIHsgLXdl
YmtpdC1hcHBlYXJhbmNlOiBpbmhlcml0OyBib3gtc2l6aW5nOiBpbmhlcml0OyBoZWlnaHQ6IDEw
MCU7IHdpZHRoOiAxMDAlOyB9IGRpdiNiYXIgeyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50
KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNkZGQpLCB0bygjZGRkKSwgY29s
b3Itc3RvcCgwLjIwLCAjZWVlKSwgY29sb3Itc3RvcCgwLjQ1LCAjY2NjKSwgY29sb3Itc3RvcCgw
LjU1LCAjY2NjKSk7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRl
ci1ib3g7IH0gZGl2I3ZhbHVlIHsgaGVpZ2h0OiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94
OyB9IGRpdiN2YWx1ZS5vcHRpbXVtIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5l
YXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjYWQ3KSwgdG8oI2FkNyksIGNvbG9yLXN0
b3AoMC4yMCwgI2NlYSksIGNvbG9yLXN0b3AoMC40NSwgIzdhMyksIGNvbG9yLXN0b3AoMC41NSwg
IzdhMykpOyB9IGRpdiN2YWx1ZS5zdWJvcHRpbXVtIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFk
aWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZmU3KSwgdG8oI2ZlNyks
IGNvbG9yLXN0b3AoMC4yMCwgI2ZmYyksIGNvbG9yLXN0b3AoMC40NSwgI2RiMyksIGNvbG9yLXN0
b3AoMC41NSwgI2RiMykpOyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0g
ZGl2I3ZhbHVlLmV2ZW4tbGVzcy1nb29kIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChs
aW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZjc3KSwgdG8oI2Y3NyksIGNvbG9y
LXN0b3AoMC4yMCwgI2ZjYyksIGNvbG9yLXN0b3AoMC40NSwgI2Q0NCksIGNvbG9yLXN0b3AoMC41
NSwgI2Q0NCkpOyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0iCiB8ICAg
ICA8ZGl2PgogfCAgICAgICBpZD0iaW5uZXIiCiB8ICAgICAgIHBzZXVkbz0iLXdlYmtpdC1tZXRl
ci1pbm5lci1lbGVtZW50IgpAQCAtMzEsNyArMzEsNyBAQCBCb3RoIG1ldGVyIGVsZW1lbnRzIHNo
b3VsZCBoYXZlIGEgbmVzdGVkIHNoYWRvdyBib3ggd2l0aCBhIHdpZHRoIHNwZWNpZmllZDoKIHwg
ICB2YWx1ZT0iMTAiCiB8ICAgPHNoYWRvdzpyb290PgogfCAgICAgPHN0eWxlPgotfCAgICAgICAi
ZGl2I2lubmVyIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbmhlcml0OyBib3gtc2l6aW5nOiBpbmhl
cml0OyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyB9IGRpdiNiYXIgeyBiYWNrZ3JvdW5kOiAt
d2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNkZGQp
LCB0bygjZGRkKSwgY29sb3Itc3RvcCgwLjIwLCAjZWVlKSwgY29sb3Itc3RvcCgwLjQ1LCAjY2Nj
KSwgY29sb3Itc3RvcCgwLjU1LCAjY2NjKSk7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7IH0gZGl2I3ZhbHVlIHsgaGVpZ2h0OiAxMDAlOyBib3gtc2l6
aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZS5vcHRpbXVtIHsgYmFja2dyb3VuZDogLXdlYmtp
dC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjYWQ3KSwgdG8o
I2FkNyksIGNvbG9yLXN0b3AoMC4yMCwgI2NlYSksIGNvbG9yLXN0b3AoMC40NSwgIzdhMyksIGNv
bG9yLXN0b3AoMC41NSwgIzdhMykpOyB9IGRpdiN2YWx1ZS5zdWJvcHRpbXVtIHsgYmFja2dyb3Vu
ZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgj
ZmU3KSwgdG8oI2ZlNyksIGNvbG9yLXN0b3AoMC4yMCwgI2ZmYyksIGNvbG9yLXN0b3AoMC40NSwg
I2RiMyksIGNvbG9yLXN0b3AoMC41NSwgI2RiMykpOyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6
IGJvcmRlci1ib3g7IH0gZGl2I3ZhbHVlLmV2ZW4tbGVzcy1nb29kIHsgYmFja2dyb3VuZDogLXdl
YmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZjc3KSwg
dG8oI2Y3NyksIGNvbG9yLXN0b3AoMC4yMCwgI2ZjYyksIGNvbG9yLXN0b3AoMC40NSwgI2Q0NCks
IGNvbG9yLXN0b3AoMC41NSwgI2Q0NCkpOyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRl
ci1ib3g7ICIKK3wgICAgICAgImRpdiNpbm5lciB7IC13ZWJraXQtYXBwZWFyYW5jZTogaW5oZXJp
dDsgYm94LXNpemluZzogaW5oZXJpdDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgfSBkaXYj
YmFyIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0
IGJvdHRvbSwgZnJvbSgjZGRkKSwgdG8oI2RkZCksIGNvbG9yLXN0b3AoMC4yMCwgI2VlZSksIGNv
bG9yLXN0b3AoMC40NSwgI2NjYyksIGNvbG9yLXN0b3AoMC41NSwgI2NjYykpOyBoZWlnaHQ6IDEw
MCU7IHdpZHRoOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZSB7IGhl
aWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSBkaXYjdmFsdWUub3B0aW11bSB7
IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0
b20sIGZyb20oI2FkNyksIHRvKCNhZDcpLCBjb2xvci1zdG9wKDAuMjAsICNjZWEpLCBjb2xvci1z
dG9wKDAuNDUsICM3YTMpLCBjb2xvci1zdG9wKDAuNTUsICM3YTMpKTsgfSBkaXYjdmFsdWUuc3Vi
b3B0aW11bSB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwg
bGVmdCBib3R0b20sIGZyb20oI2ZlNyksIHRvKCNmZTcpLCBjb2xvci1zdG9wKDAuMjAsICNmZmMp
LCBjb2xvci1zdG9wKDAuNDUsICNkYjMpLCBjb2xvci1zdG9wKDAuNTUsICNkYjMpKTsgaGVpZ2h0
OiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZS5ldmVuLWxlc3MtZ29v
ZCB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBi
b3R0b20sIGZyb20oI2Y3NyksIHRvKCNmNzcpLCBjb2xvci1zdG9wKDAuMjAsICNmY2MpLCBjb2xv
ci1zdG9wKDAuNDUsICNkNDQpLCBjb2xvci1zdG9wKDAuNTUsICNkNDQpKTsgaGVpZ2h0OiAxMDAl
OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IgogfCAgICAgPGRpdj4KIHwgICAgICAgaWQ9Imlu
bmVyIgogfCAgICAgICBwc2V1ZG89Ii13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCIKQEAgLTU2
LDcgKzU2LDcgQEAgQm90aCBtZXRlciBlbGVtZW50cyBzaG91bGQgaGF2ZSBhIG5lc3RlZCBzaGFk
b3cgYm94IHdpdGggYSB3aWR0aCBzcGVjaWZpZWQ6CiB8ICAgdmFsdWU9IjEwIgogfCAgIDxzaGFk
b3c6cm9vdD4KIHwgICAgIDxzdHlsZT4KLXwgICAgICAgImRpdiNpbm5lciB7IC13ZWJraXQtYXBw
ZWFyYW5jZTogaW5oZXJpdDsgYm94LXNpemluZzogaW5oZXJpdDsgaGVpZ2h0OiAxMDAlOyB3aWR0
aDogMTAwJTsgfSBkaXYjYmFyIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIs
IGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZGRkKSwgdG8oI2RkZCksIGNvbG9yLXN0b3Ao
MC4yMCwgI2VlZSksIGNvbG9yLXN0b3AoMC40NSwgI2NjYyksIGNvbG9yLXN0b3AoMC41NSwgI2Nj
YykpOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9
IGRpdiN2YWx1ZSB7IGhlaWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSBkaXYj
dmFsdWUub3B0aW11bSB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0
IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2FkNyksIHRvKCNhZDcpLCBjb2xvci1zdG9wKDAuMjAs
ICNjZWEpLCBjb2xvci1zdG9wKDAuNDUsICM3YTMpLCBjb2xvci1zdG9wKDAuNTUsICM3YTMpKTsg
fSBkaXYjdmFsdWUuc3Vib3B0aW11bSB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGlu
ZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2ZlNyksIHRvKCNmZTcpLCBjb2xvci1z
dG9wKDAuMjAsICNmZmMpLCBjb2xvci1zdG9wKDAuNDUsICNkYjMpLCBjb2xvci1zdG9wKDAuNTUs
ICNkYjMpKTsgaGVpZ2h0OiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1
ZS5ldmVuLWxlc3MtZ29vZCB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBs
ZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2Y3NyksIHRvKCNmNzcpLCBjb2xvci1zdG9wKDAu
MjAsICNmY2MpLCBjb2xvci1zdG9wKDAuNDUsICNkNDQpLCBjb2xvci1zdG9wKDAuNTUsICNkNDQp
KTsgaGVpZ2h0OiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAiCit8ICAgICAgICJkaXYj
aW5uZXIgeyAtd2Via2l0LWFwcGVhcmFuY2U6IGluaGVyaXQ7IGJveC1zaXppbmc6IGluaGVyaXQ7
IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IH0gZGl2I2JhciB7IGJhY2tncm91bmQ6IC13ZWJr
aXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2RkZCksIHRv
KCNkZGQpLCBjb2xvci1zdG9wKDAuMjAsICNlZWUpLCBjb2xvci1zdG9wKDAuNDUsICNjY2MpLCBj
b2xvci1zdG9wKDAuNTUsICNjY2MpKTsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgYm94LXNp
emluZzogYm9yZGVyLWJveDsgfSBkaXYjdmFsdWUgeyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6
IGJvcmRlci1ib3g7IH0gZGl2I3ZhbHVlLm9wdGltdW0geyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdy
YWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNhZDcpLCB0bygjYWQ3
KSwgY29sb3Itc3RvcCgwLjIwLCAjY2VhKSwgY29sb3Itc3RvcCgwLjQ1LCAjN2EzKSwgY29sb3It
c3RvcCgwLjU1LCAjN2EzKSk7IH0gZGl2I3ZhbHVlLnN1Ym9wdGltdW0geyBiYWNrZ3JvdW5kOiAt
d2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmZTcp
LCB0bygjZmU3KSwgY29sb3Itc3RvcCgwLjIwLCAjZmZjKSwgY29sb3Itc3RvcCgwLjQ1LCAjZGIz
KSwgY29sb3Itc3RvcCgwLjU1LCAjZGIzKSk7IGhlaWdodDogMTAwJTsgYm94LXNpemluZzogYm9y
ZGVyLWJveDsgfSBkaXYjdmFsdWUuZXZlbi1sZXNzLWdvb2QgeyBiYWNrZ3JvdW5kOiAtd2Via2l0
LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmNzcpLCB0bygj
Zjc3KSwgY29sb3Itc3RvcCgwLjIwLCAjZmNjKSwgY29sb3Itc3RvcCgwLjQ1LCAjZDQ0KSwgY29s
b3Itc3RvcCgwLjU1LCAjZDQ0KSk7IGhlaWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJv
eDsgfSIKIHwgICAgIDxkaXY+CiB8ICAgICAgIGlkPSJpbm5lciIKIHwgICAgICAgcHNldWRvPSIt
d2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQiCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424187</attachid>
            <date>2021-03-24 14:42:37 -0700</date>
            <delta_ts>2021-03-24 14:46:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223685-20210324144237.patch</filename>
            <type>text/plain</type>
            <size>32822</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGMyMmUwOTYyMzQ4MzA2Mjg0ZjViYzVl
YzU0ZGExNmZhMWEzNWM0MDIuLjc5MDllZjZmYzRjZDhkNzU4ZGVjZWJmM2Q0NDgxZTllNjY4YmFk
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMjQgIFl1c3VrZSBTdXp1a2kgIDx5c3V6
dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGwgc3RyaW5nIHJlc291cmNlcyBmcm9tIFVzZXJB
Z2VudFN0eWxlU2hlZXRzIC8gVXNlckFnZW50U2NyaXB0cyBzaG91bGQgYmUgdXNlZCBhcyBub24t
Y29weWluZyBTdHJpbmdJbXBsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjM2ODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcgZm9yIGBjb25z
dCBjaGFyKmAuCisKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChX
VEY6OlN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKToKKwogMjAyMS0wMy0yMyAgRGVh
biBKYWNrc29uICA8eW9sb0BhcHBsZS5jb20+CiAKICAgICAgICAgRW5hYmxlIE1ldGFsIEFOR0xF
IGJhY2tlbmQgZm9yIFdlYkdMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ5YTY5YjI4NWQ2ZTFjMTE3ZmYwN2Fl
YTY4ZTIyZTg1MTVjNWVhNi4uOWQ0YWVjM2Y0M2U5Njk2YThhMjY1YjM0OTRjNzg2NmJlOWNjMDZk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTAzLTI0ICBZdXN1a2UgU3V6dWtp
ICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsIHN0cmluZyByZXNvdXJjZXMgZnJv
bSBVc2VyQWdlbnRTdHlsZVNoZWV0cyAvIFVzZXJBZ2VudFNjcmlwdHMgc2hvdWxkIGJlIHVzZWQg
YXMgbm9uLWNvcHlpbmcgU3RyaW5nSW1wbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2UgdXNlIFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5n
IGZvciBzdHJpbmcgcmVzb3VyY2VzIGZyb20gVXNlckFnZW50U3R5bGVTaGVldHMgLyBVc2VyQWdl
bnRTY3JpcHRzIHRvIG1ha2Ugc3VyZSB0aGF0CisgICAgICAgIHRoZXNlIHJlc291cmNlcyBkbyBu
b3QgYWxsb2NhdGUgaGVhcCBzdHJpbmdzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBmaXhl
cyBIVE1MTWV0ZXJFbGVtZW50J3MgYnVnIChhbmQgaW1hZ2VPdmVybGF5VXNlckFnZW50U3R5bGVT
aGVldCdzIGJ1ZykuIFByZXZpb3VzbHksIHdlIGFyZSB1c2luZyBTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsLAorICAgICAgICBidXQgdGhpcyBvbmx5IGFjY2VwdHMgc3RyaW5nIGxpdGVyYWwg
YXMgaXQgc2F5cy4gQXMgYSByZXN1bHQsIHdlIGFyZSBkcm9wcGluZyB0aGUgbGFzdCBjaGFyYWN0
ZXIgc2luY2UgVXNlckFnZW50U3R5bGVTaGVldHMncyBsYXN0IGNoYXJhY3RlciBpcyBub3QgXDAu
CisKKyAgICAgICAgKiBNb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQu
bW06CisgICAgICAgIChXZWJDb3JlOjpxdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudFNjcmlwdCk6
CisgICAgICAgICogV2ViQ29yZU1hY3Jvcy5jbWFrZToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVuc3VyZVBsdWdJbnNJbmplY3RlZFNj
cmlwdCk6CisgICAgICAgICogaHRtbC9IVE1MRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRWxlbWVudDo6dXBkYXRlV2l0aEltYWdlRXh0cmFjdGlvblJlc3VsdCk6CisgICAgICAg
ICogaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRl
ckVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3QpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZUFkd2FpdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVB
ZHdhaXRhOjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQWR3YWl0YTo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZUFkd2FpdGE6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lQ29jb2E6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lQ29jb2E6Om1lZGlhQ29udHJvbHNTY3JpcHRzKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVXaW46OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVXaW46OmV4dHJhUXVpcmtzU3R5bGVTaGVldCk6CisgICAgICAgICogc3R5bGUvVXNlckFn
ZW50U3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlVzZXJBZ2VudFN0eWxlOjpp
bml0RGVmYXVsdFN0eWxlU2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlVzZXJBZ2Vu
dFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVtZW50KToKKwogMjAyMS0wMy0y
NCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gRG8g
bm90IGFsbG93IG5lZ2F0aXZlIGhlaWdodHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cKaW5kZXggYmJlNDBkZTQxYzIz
YzVmZTU1OWVmYjIxYzg1MjU2ZmU0M2UyZDQzZS4uNGMyNWViNmQ0ODI0YmU3MTM5ZTZmMjA5OWE2
NDg0YTM3OGFkNjE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMS0wMy0y
NCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIEFsbCBzdHJp
bmcgcmVzb3VyY2VzIGZyb20gVXNlckFnZW50U3R5bGVTaGVldHMgLyBVc2VyQWdlbnRTY3JpcHRz
IHNob3VsZCBiZSB1c2VkIGFzIG5vbi1jb3B5aW5nIFN0cmluZ0ltcGwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzY4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2Vzc2lvbi5jcHA6CisgICAgICAg
IChXZWJEcml2ZXI6OlNlc3Npb246OmZ1bGxzY3JlZW5XaW5kb3cpOgorICAgICAgICAoV2ViRHJp
dmVyOjpTZXNzaW9uOjpmaW5kRWxlbWVudHMpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9u
Ojppc0VsZW1lbnRTZWxlY3RlZCk6CisgICAgICAgIChXZWJEcml2ZXI6OlNlc3Npb246OmlzRWxl
bWVudEVuYWJsZWQpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjppc0VsZW1lbnREaXNw
bGF5ZWQpOgorICAgICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpnZXRFbGVtZW50QXR0cmlidXRl
KToKKyAgICAgICAgKFdlYkRyaXZlcjo6U2Vzc2lvbjo6ZWxlbWVudENsZWFyKToKKwogMjAyMS0w
Mi0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW1NPVVBdIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VwMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvdGV4dC9TdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwu
aAppbmRleCAxOTYwMDBjOTk4MmFlN2EzNWQxZWMyNjM2OGZmM2ViMzE1MTlhN2Y1Li5hZmRkM2Uw
MTdkNGM5OGIzNjdjM2E3OTQ2NGI1ZTIzNGE5YWIyZGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0lt
cGwuaApAQCAtMjUyLDYgKzI1Miw3IEBAIGNsYXNzIFN0cmluZ0ltcGwgOiBwcml2YXRlIFN0cmlu
Z0ltcGxTaGFwZSB7CiAKICAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxTdHJpbmdJ
bXBsPiBjcmVhdGVXaXRob3V0Q29weWluZyhjb25zdCBVQ2hhciosIHVuc2lnbmVkIGxlbmd0aCk7
CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRlV2l0
aG91dENvcHlpbmcoY29uc3QgTENoYXIqLCB1bnNpZ25lZCBsZW5ndGgpOworICAgIHN0YXRpYyBS
ZWY8U3RyaW5nSW1wbD4gY3JlYXRlV2l0aG91dENvcHlpbmcoY29uc3QgY2hhciogY2hhcmFjdGVy
cywgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVybiBjcmVhdGVXaXRob3V0Q29weWluZyhyZWludGVy
cHJldF9jYXN0PGNvbnN0IExDaGFyKj4oY2hhcmFjdGVycyksIGxlbmd0aCk7IH0KICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFJlZjxTdHJpbmdJbXBsPiBjcmVhdGVVbmluaXRpYWxpemVk
KHVuc2lnbmVkIGxlbmd0aCwgTENoYXIqJik7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRp
YyBSZWY8U3RyaW5nSW1wbD4gY3JlYXRlVW5pbml0aWFsaXplZCh1bnNpZ25lZCBsZW5ndGgsIFVD
aGFyKiYpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBSZWZQ
dHI8U3RyaW5nSW1wbD4gdHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh1bnNpZ25lZCBsZW5ndGgsIENo
YXJhY3RlclR5cGUqJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BsdWdp
bnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0KaW5kZXggZTg1NTliZWJkYjU2
YWI0YWU5NzJiZjkzZTg5NWZiOGNjNmYzZGFlNC4uMGFkMmY3NjA4OTZkNDMxOTM5MGZlOWM4YTU2
ZDQwZjVhYTNlMDQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wbHVnaW5z
L1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGx1Z2lucy9RdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudC5tbQpAQCAtNjcsNyArNjcsNyBA
QCBzdGF0aWMgSlNWYWx1ZSAqanNWYWx1ZVdpdGhBVk1ldGFkYXRhSXRlbUluQ29udGV4dChBVk1l
dGFkYXRhSXRlbSAqLCBKU0NvbnRleHQgKgogCiBzdGF0aWMgU3RyaW5nIHF1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50U2NyaXB0KCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5n
PiBzY3JpcHQoU3RyaW5nSW1wbDo6Y3JlYXRlU3RhdGljU3RyaW5nSW1wbChRdWlja1RpbWVQbHVn
aW5SZXBsYWNlbWVudEphdmFTY3JpcHQsIHNpemVvZihRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVu
dEphdmFTY3JpcHQpKSk7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gc2NyaXB0
KFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKFF1aWNrVGltZVBsdWdpblJlcGxhY2Vt
ZW50SmF2YVNjcmlwdCwgc2l6ZW9mKFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50SmF2YVNjcmlw
dCkpKTsKICAgICByZXR1cm4gc2NyaXB0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlTWFjcm9zLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZU1hY3Jvcy5jbWFr
ZQppbmRleCAzYWJmZmVlODMxZjIzMzk0ZWMzZDg5MDYxZWQzNTUzMDA4MzczMzczLi44OWRmNmI2
Y2E2Yjc5ODhmMWQzY2UwNGEyNmJlNTFjMDE1MGRmMGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlTWFjcm9zLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmVNYWNy
b3MuY21ha2UKQEAgLTM2LDcgKzM2LDcgQEAgbWFjcm8oTUFLRV9KU19GSUxFX0FSUkFZUyBfb3V0
cHV0X2NwcCBfb3V0cHV0X2ggX25hbWVzcGFjZSBfc2NyaXB0cyBfc2NyaXB0c19kZXAKICAgICBh
ZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgICAgIE9VVFBVVCAke19vdXRwdXRfaH0gJHtfb3V0cHV0
X2NwcH0KICAgICAgICAgREVQRU5EUyAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9tYWtl
LWpzLWZpbGUtYXJyYXlzLnB5ICR7JHtfc2NyaXB0c319Ci0gICAgICAgIENPTU1BTkQgJHtQWVRI
T05fRVhFQ1VUQUJMRX0gJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vbWFrZS1qcy1maWxl
LWFycmF5cy5weSAtbiAke19uYW1lc3BhY2V9ICR7X291dHB1dF9ofSAke19vdXRwdXRfY3BwfSAk
eyR7X3NjcmlwdHN9fQorICAgICAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7SmF2
YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L21ha2UtanMtZmlsZS1hcnJheXMucHkgLS1mYWlsLWlm
LW5vbi1hc2NpaSAtbiAke19uYW1lc3BhY2V9ICR7X291dHB1dF9ofSAke19vdXRwdXRfY3BwfSAk
eyR7X3NjcmlwdHN9fQogICAgICAgICBWRVJCQVRJTSkKICAgICBXRUJLSVRfQUREX1NPVVJDRV9E
RVBFTkRFTkNJRVMoJHske19zY3JpcHRzX2RlcGVuZGVuY2llc319ICR7X291dHB1dF9ofSAke19v
dXRwdXRfY3BwfSkKIGVuZG1hY3JvKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDUzNDEz
MGVlNjI2YjU2ZGYzODdlMDU1NDE2NDY3NTk3MWZhOWVjNTQuLmUxYzc5OWIyNGVhZTA5NjNiNTAx
MGViNGFmOTllMGU5Njc0M2MwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNzQ0OSw3
ICs3NDQ5LDcgQEAgdm9pZCBEb2N1bWVudDo6ZW5zdXJlUGx1Z0luc0luamVjdGVkU2NyaXB0KERP
TVdyYXBwZXJXb3JsZCYgd29ybGQpCiAgICAgLy8gVXNlIHRoZSBKUyBmaWxlIHByb3ZpZGVkIGJ5
IHRoZSBDaHJvbWUgY2xpZW50LCBvciBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBvbmUuCiAgICAg
U3RyaW5nIGpzU3RyaW5nID0gcGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5wbHVnSW5FeHRyYVNj
cmlwdCgpOwogICAgIGlmICghanNTdHJpbmcgfHwgIXNjcmlwdENvbnRyb2xsZXIuc2hvdWxkQWxs
b3dVc2VyQWdlbnRTY3JpcHRzKCp0aGlzKSkKLSAgICAgICAganNTdHJpbmcgPSBTdHJpbmcocGx1
Z0luc0phdmFTY3JpcHQsIHNpemVvZihwbHVnSW5zSmF2YVNjcmlwdCkpOworICAgICAgICBqc1N0
cmluZyA9IFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKHBsdWdJbnNKYXZhU2NyaXB0
LCBzaXplb2YocGx1Z0luc0phdmFTY3JpcHQpKTsKIAogICAgIHNldEhhc0V2YWx1YXRlZFVzZXJB
Z2VudFNjcmlwdHMoKTsKICAgICBzY3JpcHRDb250cm9sbGVyLmV2YWx1YXRlSW5Xb3JsZElnbm9y
aW5nRXhjZXB0aW9uKFNjcmlwdFNvdXJjZUNvZGUoanNTdHJpbmcpLCB3b3JsZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuY3BwCmluZGV4IDhkMzc3M2Y4N2E0NTg1Y2NmZTI1NWRmNWRhMjY1
YTc1Mjk5ODI2MjAuLjFmYmU2Mzk0Yzk4OWQ5MGQ0MjJiYjcwMzYyMzg5MzM2MjU4YWNkODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCkBAIC0xMzAxLDcgKzEzMDEsNyBAQCB2b2lk
IEhUTUxFbGVtZW50Ojp1cGRhdGVXaXRoSW1hZ2VFeHRyYWN0aW9uUmVzdWx0KEltYWdlRXh0cmFj
dGlvblJlc3VsdCYmIHJlc3VsdAogCiAgICAgYXV0byBzaGFkb3dSb290ID0gbWFrZVJlZihlbnN1
cmVVc2VyQWdlbnRTaGFkb3dSb290KCkpOwogICAgIGlmICghcHJldmlvdXNDb250YWluZXIpIHsK
LSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gc2hhZG93U3R5bGUo
aW1hZ2VPdmVybGF5VXNlckFnZW50U3R5bGVTaGVldCwgU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0
ZXJhbCk7CisgICAgICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3Ry
aW5nPiBzaGFkb3dTdHlsZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZU92
ZXJsYXlVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YoaW1hZ2VPdmVybGF5VXNlckFnZW50U3R5
bGVTaGVldCkpKTsKICAgICAgICAgYXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0
ZShIVE1MTmFtZXM6OnN0eWxlVGFnLCBkb2N1bWVudCgpLCBmYWxzZSk7CiAgICAgICAgIHN0eWxl
LT5zZXRUZXh0Q29udGVudChzaGFkb3dTdHlsZSk7CiAgICAgICAgIHNoYWRvd1Jvb3QtPmFwcGVu
ZENoaWxkKFdURk1vdmUoc3R5bGUpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1ldGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1l
bnQuY3BwCmluZGV4IDk4M2RiNTQxNmIyZTMwY2U0Yjk5YmZkOTRiODViODc5MWIxNDZjNjUuLjIy
OTU0YzU2ODYxYTEyYzEwYTA2MDRjYTIwMzlmODljYzI2ODkxMmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWV0ZXJFbGVtZW50LmNwcApAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgSFRNTE1l
dGVyRWxlbWVudDo6ZGlkQWRkVXNlckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290JiByb290KQog
ewogICAgIEFTU0VSVCghbV92YWx1ZSk7CiAKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3Ry
aW5nPiBzaGFkb3dTdHlsZShtZXRlckVsZW1lbnRTaGFkb3dVc2VyQWdlbnRTdHlsZVNoZWV0LCBT
dHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVy
RGVzdHJveWVkPGNvbnN0IFN0cmluZz4gc2hhZG93U3R5bGUoU3RyaW5nSW1wbDo6Y3JlYXRlV2l0
aG91dENvcHlpbmcobWV0ZXJFbGVtZW50U2hhZG93VXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9m
KG1ldGVyRWxlbWVudFNoYWRvd1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CiAKICAgICBhdXRvIHN0
eWxlID0gSFRNTFN0eWxlRWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1lczo6c3R5bGVUYWcsIGRvY3Vt
ZW50KCksIGZhbHNlKTsKICAgICBzdHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5bGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQWR3YWl0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAppbmRl
eCA4MGZlYTZmMWIyOWVlMDhmMzgxZDFjNjcxZWFlNGNlZTZiYmI0ZjVhLi41OTE5NWM2NmVkN2Qy
NDY2OWE3YWVhOWIwOTEyOGIzYmE0NDM4MDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVBZHdhaXRhLmNwcApAQCAtMTYzLDE4ICsxNjMsMTggQEAgdm9pZCBS
ZW5kZXJUaGVtZUFkd2FpdGE6OnBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCkKIAogU3RyaW5nIFJl
bmRlclRoZW1lQWR3YWl0YTo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpCiB7Ci0gICAgcmV0dXJu
IFN0cmluZyh0aGVtZUFkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YodGhlbWVBZHdh
aXRhVXNlckFnZW50U3R5bGVTaGVldCkpOworICAgIHJldHVybiBTdHJpbmdJbXBsOjpjcmVhdGVX
aXRob3V0Q29weWluZyh0aGVtZUFkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YodGhl
bWVBZHdhaXRhVXNlckFnZW50U3R5bGVTaGVldCkpOwogfQogCiAjaWYgRU5BQkxFKFZJREVPKQog
U3RyaW5nIFJlbmRlclRoZW1lQWR3YWl0YTo6ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgp
CiB7Ci0gICAgcmV0dXJuIFN0cmluZyhtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxl
U2hlZXQsIHNpemVvZihtZWRpYUNvbnRyb2xzQWR3YWl0YVVzZXJBZ2VudFN0eWxlU2hlZXQpKTsK
KyAgICByZXR1cm4gU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcobWVkaWFDb250cm9s
c0Fkd2FpdGFVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWVkaWFDb250cm9sc0Fkd2FpdGFV
c2VyQWdlbnRTdHlsZVNoZWV0KSk7CiB9CiAKIFZlY3RvcjxTdHJpbmcsIDM+IFJlbmRlclRoZW1l
QWR3YWl0YTo6bWVkaWFDb250cm9sc1NjcmlwdHMoKQogewotICAgIHJldHVybiB7IFN0cmluZyht
ZWRpYUNvbnRyb2xzQWR3YWl0YUphdmFTY3JpcHQsIHNpemVvZihtZWRpYUNvbnRyb2xzQWR3YWl0
YUphdmFTY3JpcHQpKSB9OworICAgIHJldHVybiB7IFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRD
b3B5aW5nKG1lZGlhQ29udHJvbHNBZHdhaXRhSmF2YVNjcmlwdCwgc2l6ZW9mKG1lZGlhQ29udHJv
bHNBZHdhaXRhSmF2YVNjcmlwdCkpIH07CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQppbmRleCAxYmE0ZjU1ZTJiMTUwYTU3MTY2ODdk
ZjVlMjhmNGFiNWE5YzlkZTBhLi45ZTIwOGRkNGU2MjU4NTMwODljYzAwMjBmNWY0YzQ2MWJiNjk5
MThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDb2NvYS5tbQpA
QCAtMTg0LDcgKzE4NCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVDb2NvYTo6cGFpbnRBcHBsZVBheUJ1
dHRvbihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQCiBTdHJpbmcgUmVuZGVy
VGhlbWVDb2NvYTo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKQogewogICAgIGlmIChtX21lZGlh
Q29udHJvbHNTdHlsZVNoZWV0LmlzRW1wdHkoKSkKLSAgICAgICAgbV9tZWRpYUNvbnRyb2xzU3R5
bGVTaGVldCA9IFN0cmluZ0ltcGw6OmNyZWF0ZVN0YXRpY1N0cmluZ0ltcGwoTW9kZXJuTWVkaWFD
b250cm9sc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihNb2Rlcm5NZWRpYUNvbnRyb2xzVXNl
ckFnZW50U3R5bGVTaGVldCkpOworICAgICAgICBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0ID0g
U3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoTW9kZXJuTWVkaWFDb250cm9sc1VzZXJB
Z2VudFN0eWxlU2hlZXQsIHNpemVvZihNb2Rlcm5NZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5bGVT
aGVldCkpOwogICAgIHJldHVybiBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogfQogCkBAIC0x
OTcsNyArMTk3LDcgQEAgVmVjdG9yPFN0cmluZywgMz4gUmVuZGVyVGhlbWVDb2NvYTo6bWVkaWFD
b250cm9sc1NjcmlwdHMoKQogICAgIH0KIAogICAgIGlmIChtX21lZGlhQ29udHJvbHNTY3JpcHQu
aXNFbXB0eSgpKQotICAgICAgICBtX21lZGlhQ29udHJvbHNTY3JpcHQgPSBTdHJpbmdJbXBsOjpj
cmVhdGVTdGF0aWNTdHJpbmdJbXBsKE1vZGVybk1lZGlhQ29udHJvbHNKYXZhU2NyaXB0LCBzaXpl
b2YoTW9kZXJuTWVkaWFDb250cm9sc0phdmFTY3JpcHQpKTsKKyAgICAgICAgbV9tZWRpYUNvbnRy
b2xzU2NyaXB0ID0gU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoTW9kZXJuTWVkaWFD
b250cm9sc0phdmFTY3JpcHQsIHNpemVvZihNb2Rlcm5NZWRpYUNvbnRyb2xzSmF2YVNjcmlwdCkp
OwogCiAjaWYgZGVmaW5lZChSZW5kZXJUaGVtZUNvY29hQWRkaXRpb25zX21lZGlhQ29udHJvbHNB
ZGRpdGlvbmFsU2NyaXB0KQogICAgIGlmIChtX21lZGlhQ29udHJvbHNBZGRpdGlvbmFsU2NyaXB0
LmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3Bw
CmluZGV4IGQwZmQyYTZhMzEyNDk4MTRiNDBkMDJlNWQyNGM1OTM4NzgzYjhkOWMuLjJlNjBiN2Q0
OGY3OWZjMjZkYzI3NTAyNWI1ZjhmM2VmMjhmNTFkNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcApAQCAtMjcxLDEyICsyNzEsMTIgQEAgdm9pZCBSZW5k
ZXJUaGVtZVdpbjo6dGhlbWVDaGFuZ2VkKCkKIAogU3RyaW5nIFJlbmRlclRoZW1lV2luOjpleHRy
YURlZmF1bHRTdHlsZVNoZWV0KCkKIHsKLSAgICByZXR1cm4gU3RyaW5nKHRoZW1lV2luVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKHRoZW1lV2luVXNlckFnZW50U3R5bGVTaGVldCkpOworICAg
IHJldHVybiBTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyh0aGVtZVdpblVzZXJBZ2Vu
dFN0eWxlU2hlZXQsIHNpemVvZih0aGVtZVdpblVzZXJBZ2VudFN0eWxlU2hlZXQpKTsKIH0KIAog
U3RyaW5nIFJlbmRlclRoZW1lV2luOjpleHRyYVF1aXJrc1N0eWxlU2hlZXQoKQogewotICAgIHJl
dHVybiBTdHJpbmcodGhlbWVXaW5RdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YodGhl
bWVXaW5RdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgcmV0dXJuIFN0cmluZ0ltcGw6
OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKHRoZW1lV2luUXVpcmtzVXNlckFnZW50U3R5bGVTaGVldCwg
c2l6ZW9mKHRoZW1lV2luUXVpcmtzVXNlckFnZW50U3R5bGVTaGVldCkpOwogfQogCiBib29sIFJl
bmRlclRoZW1lV2luOjpzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAppbmRleCAyOTYxYzcxOTgyY2YzZmY2
MDU1YjYxZjY5ZjQ0NmZiOTdmM2EwMWIyLi5jZWQxOGEzOWRhYmRlMjJiMzUwOWQwODdmOTE1YjM4
MjM3MGFhZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHls
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCkBAIC0x
MDUsMTEgKzEwNSw2IEBAIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIHBhcnNlVUFTaGVldChj
b25zdCBTdHJpbmcmIHN0cikKICAgICByZXR1cm4gJnNoZWV0OwogfQogCi1zdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBwYXJzZVVBU2hlZXQoY29uc3QgY2hhciogY2hhcmFjdGVycywgdW5zaWdu
ZWQgc2l6ZSkKLXsKLSAgICByZXR1cm4gcGFyc2VVQVNoZWV0KFN0cmluZyhjaGFyYWN0ZXJzLCBz
aXplKSk7Ci19Ci0KIHZvaWQgVXNlckFnZW50U3R5bGU6OmFkZFRvRGVmYXVsdFN0eWxlKFN0eWxl
U2hlZXRDb250ZW50cyYgc2hlZXQpCiB7CiAgICAgZGVmYXVsdFN0eWxlLT5hZGRSdWxlc0Zyb21T
aGVldChzaGVldCwgc2NyZWVuRXZhbCgpKTsKQEAgLTE0MywxMiArMTM4LDEyIEBAIHZvaWQgVXNl
ckFnZW50U3R5bGU6OmluaXREZWZhdWx0U3R5bGVTaGVldCgpCiAgICAgbWVkaWFRdWVyeVN0eWxl
U2hlZXQgPSAmU3R5bGVTaGVldENvbnRlbnRzOjpjcmVhdGUoQ1NTUGFyc2VyQ29udGV4dChVQVNo
ZWV0TW9kZSkpLmxlYWtSZWYoKTsKIAogICAgIC8vIFN0cmljdC1tb2RlIHJ1bGVzLgotICAgIFN0
cmluZyBkZWZhdWx0UnVsZXMgPSBTdHJpbmcoaHRtbFVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
ZihodG1sVXNlckFnZW50U3R5bGVTaGVldCkpICsgUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4
dHJhRGVmYXVsdFN0eWxlU2hlZXQoKTsKKyAgICBTdHJpbmcgZGVmYXVsdFJ1bGVzID0gU3RyaW5n
KFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGh0bWxVc2VyQWdlbnRTdHlsZVNoZWV0
LCBzaXplb2YoaHRtbFVzZXJBZ2VudFN0eWxlU2hlZXQpKSkgKyBSZW5kZXJUaGVtZTo6c2luZ2xl
dG9uKCkuZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpOwogICAgIGRlZmF1bHRTdHlsZVNoZWV0ID0g
cGFyc2VVQVNoZWV0KGRlZmF1bHRSdWxlcyk7CiAgICAgYWRkVG9EZWZhdWx0U3R5bGUoKmRlZmF1
bHRTdHlsZVNoZWV0KTsKIAogICAgIC8vIFF1aXJrcy1tb2RlIHJ1bGVzLgotICAgIFN0cmluZyBx
dWlya3NSdWxlcyA9IFN0cmluZyhxdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YocXVp
cmtzVXNlckFnZW50U3R5bGVTaGVldCkpICsgUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4dHJh
UXVpcmtzU3R5bGVTaGVldCgpOworICAgIFN0cmluZyBxdWlya3NSdWxlcyA9IFN0cmluZyhTdHJp
bmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhxdWlya3NVc2VyQWdlbnRTdHlsZVNoZWV0LCBz
aXplb2YocXVpcmtzVXNlckFnZW50U3R5bGVTaGVldCkpKSArIFJlbmRlclRoZW1lOjpzaW5nbGV0
b24oKS5leHRyYVF1aXJrc1N0eWxlU2hlZXQoKTsKICAgICBxdWlya3NTdHlsZVNoZWV0ID0gcGFy
c2VVQVNoZWV0KHF1aXJrc1J1bGVzKTsKICAgICBkZWZhdWx0UXVpcmtzU3R5bGUtPmFkZFJ1bGVz
RnJvbVNoZWV0KCpxdWlya3NTdHlsZVNoZWV0LCBzY3JlZW5FdmFsKCkpOwogCkBAIC0xNjIsMTQg
KzE1NywxNCBAQCB2b2lkIFVzZXJBZ2VudFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNG
b3JFbGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgICAgICBpZiAoIXBsdWdJ
bnNTdHlsZVNoZWV0ICYmIGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCkpIHsKICAgICAgICAgICAg
ICAgICBTdHJpbmcgcGx1Z0luc1J1bGVzID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmV4dHJh
UGx1Z0luc1N0eWxlU2hlZXQoKSArIGVsZW1lbnQuZG9jdW1lbnQoKS5wYWdlKCktPmNocm9tZSgp
LmNsaWVudCgpLnBsdWdJbkV4dHJhU3R5bGVTaGVldCgpOwogICAgICAgICAgICAgICAgIGlmIChw
bHVnSW5zUnVsZXMuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgICAgICBwbHVnSW5zUnVsZXMg
PSBTdHJpbmcocGx1Z0luc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihwbHVnSW5zVXNlckFn
ZW50U3R5bGVTaGVldCkpOworICAgICAgICAgICAgICAgICAgICBwbHVnSW5zUnVsZXMgPSBTdHJp
bmcoU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcocGx1Z0luc1VzZXJBZ2VudFN0eWxl
U2hlZXQsIHNpemVvZihwbHVnSW5zVXNlckFnZW50U3R5bGVTaGVldCkpKTsKICAgICAgICAgICAg
ICAgICBwbHVnSW5zU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChwbHVnSW5zUnVsZXMpOwogICAg
ICAgICAgICAgICAgIGFkZFRvRGVmYXVsdFN0eWxlKCpwbHVnSW5zU3R5bGVTaGVldCk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoaXM8SFRNTERpYWxvZ0VsZW1l
bnQ+KGVsZW1lbnQpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
ZGlhbG9nRWxlbWVudEVuYWJsZWQoKSkgewogICAgICAgICAgICAgaWYgKCFkaWFsb2dTdHlsZVNo
ZWV0KSB7Ci0gICAgICAgICAgICAgICAgZGlhbG9nU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVldChk
aWFsb2dVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YoZGlhbG9nVXNlckFnZW50U3R5bGVTaGVl
dCkpOworICAgICAgICAgICAgICAgIGRpYWxvZ1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQoU3Ry
aW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoZGlhbG9nVXNlckFnZW50U3R5bGVTaGVldCwg
c2l6ZW9mKGRpYWxvZ1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CiAgICAgICAgICAgICAgICAgYWRk
VG9EZWZhdWx0U3R5bGUoKmRpYWxvZ1N0eWxlU2hlZXQpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC0xNzgsNyArMTczLDcgQEAgdm9pZCBVc2VyQWdlbnRTdHlsZTo6ZW5zdXJlRGVmYXVs
dFN0eWxlU2hlZXRzRm9yRWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgICAgICAg
ICAgaWYgKCFtZWRpYUNvbnRyb2xzU3R5bGVTaGVldCkgewogICAgICAgICAgICAgICAgIFN0cmlu
ZyBtZWRpYVJ1bGVzID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLm1lZGlhQ29udHJvbHNTdHls
ZVNoZWV0KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1lZGlhUnVsZXMuaXNFbXB0eSgpKQotICAg
ICAgICAgICAgICAgICAgICBtZWRpYVJ1bGVzID0gU3RyaW5nKG1lZGlhQ29udHJvbHNVc2VyQWdl
bnRTdHlsZVNoZWV0LCBzaXplb2YobWVkaWFDb250cm9sc1VzZXJBZ2VudFN0eWxlU2hlZXQpKSAr
IFJlbmRlclRoZW1lOjpzaW5nbGV0b24oKS5leHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7
CisgICAgICAgICAgICAgICAgICAgIG1lZGlhUnVsZXMgPSBTdHJpbmcoU3RyaW5nSW1wbDo6Y3Jl
YXRlV2l0aG91dENvcHlpbmcobWVkaWFDb250cm9sc1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVv
ZihtZWRpYUNvbnRyb2xzVXNlckFnZW50U3R5bGVTaGVldCkpKSArIFJlbmRlclRoZW1lOjpzaW5n
bGV0b24oKS5leHRyYU1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAgICAgICAgICAgICAgICAg
bWVkaWFDb250cm9sc1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hlZXQobWVkaWFSdWxlcyk7CiAgICAg
ICAgICAgICAgICAgYWRkVG9EZWZhdWx0U3R5bGUoKm1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KTsK
IApAQCAtMjAwLDcgKzE5NSw3IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRT
dHlsZVNoZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICB9IGVsc2Ug
aWYgKGlzPFNWR0VsZW1lbnQ+KGVsZW1lbnQpKSB7CiAgICAgICAgIGlmICghc3ZnU3R5bGVTaGVl
dCkgewogICAgICAgICAgICAgLy8gU1ZHIHJ1bGVzLgotICAgICAgICAgICAgc3ZnU3R5bGVTaGVl
dCA9IHBhcnNlVUFTaGVldChzdmdVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2Yoc3ZnVXNlckFn
ZW50U3R5bGVTaGVldCkpOworICAgICAgICAgICAgc3ZnU3R5bGVTaGVldCA9IHBhcnNlVUFTaGVl
dChTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhzdmdVc2VyQWdlbnRTdHlsZVNoZWV0
LCBzaXplb2Yoc3ZnVXNlckFnZW50U3R5bGVTaGVldCkpKTsKICAgICAgICAgICAgIGFkZFRvRGVm
YXVsdFN0eWxlKCpzdmdTdHlsZVNoZWV0KTsKICAgICAgICAgfQogICAgIH0KQEAgLTIwOCw3ICsy
MDMsNyBAQCB2b2lkIFVzZXJBZ2VudFN0eWxlOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JF
bGVtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgZWxzZSBpZiAoaXM8TWF0aE1MRWxl
bWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgaWYgKCFtYXRoTUxTdHlsZVNoZWV0KSB7CiAgICAg
ICAgICAgICAvLyBNYXRoTUwgcnVsZXMuCi0gICAgICAgICAgICBtYXRoTUxTdHlsZVNoZWV0ID0g
cGFyc2VVQVNoZWV0KG1hdGhtbFVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihtYXRobWxVc2Vy
QWdlbnRTdHlsZVNoZWV0KSk7CisgICAgICAgICAgICBtYXRoTUxTdHlsZVNoZWV0ID0gcGFyc2VV
QVNoZWV0KFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKG1hdGhtbFVzZXJBZ2VudFN0
eWxlU2hlZXQsIHNpemVvZihtYXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOwogICAgICAgICAg
ICAgYWRkVG9EZWZhdWx0U3R5bGUoKm1hdGhNTFN0eWxlU2hlZXQpOwogICAgICAgICB9CiAgICAg
fQpAQCAtMjI4LDcgKzIyMyw3IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRT
dHlsZVNoZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKIAogI2lmIEVOQUJM
RShJT1NfRk9STV9DT05UUk9MX1JFRlJFU0gpCiAgICAgaWYgKCFsZWdhY3lGb3JtQ29udHJvbHNJ
T1NTdHlsZVNoZWV0ICYmICFlbGVtZW50LmRvY3VtZW50KCkuc2V0dGluZ3MoKS5pT1NGb3JtQ29u
dHJvbFJlZnJlc2hFbmFibGVkKCkpIHsKLSAgICAgICAgbGVnYWN5Rm9ybUNvbnRyb2xzSU9TU3R5
bGVTaGVldCA9IHBhcnNlVUFTaGVldChsZWdhY3lGb3JtQ29udHJvbHNJT1NVc2VyQWdlbnRTdHls
ZVNoZWV0LCBzaXplb2YobGVnYWN5Rm9ybUNvbnRyb2xzSU9TVXNlckFnZW50U3R5bGVTaGVldCkp
OworICAgICAgICBsZWdhY3lGb3JtQ29udHJvbHNJT1NTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0
KFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGxlZ2FjeUZvcm1Db250cm9sc0lPU1Vz
ZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihsZWdhY3lGb3JtQ29udHJvbHNJT1NVc2VyQWdlbnRT
dHlsZVNoZWV0KSkpOwogICAgICAgICBhZGRUb0RlZmF1bHRTdHlsZSgqbGVnYWN5Rm9ybUNvbnRy
b2xzSU9TU3R5bGVTaGVldCk7CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
RHJpdmVyL1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcAppbmRleCA4
MDk5YTE1NTkzODIwMzVkZjI3N2I2YjgxMGMwNmZmMGIzZDkxYjgwLi40OWYwODA3NjcwZmM3MTY4
Yjk5ZGQzOGQ0NTBlYjMyOWYzMzMwMjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViRHJpdmVyL1Nl
c3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5jcHAKQEAgLTkzMyw3ICs5
MzMsNyBAQCB2b2lkIFNlc3Npb246OmZ1bGxzY3JlZW5XaW5kb3coRnVuY3Rpb248dm9pZCAoQ29t
bWFuZFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZAogCiAgICAgICAgIGF1dG8gcGFyYW1ldGVy
cyA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CiAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmlu
ZygiYnJvd3NpbmdDb250ZXh0SGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZh
bHVlKCkpOwotICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZ1bmN0aW9uIl9zLCBTdHJp
bmcoRW50ZXJGdWxsc2NyZWVuSmF2YVNjcmlwdCwgc2l6ZW9mKEVudGVyRnVsbHNjcmVlbkphdmFT
Y3JpcHQpKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0
cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKEVudGVyRnVsbHNjcmVlbkphdmFTY3JpcHQs
IHNpemVvZihFbnRlckZ1bGxzY3JlZW5KYXZhU2NyaXB0KSkpOwogICAgICAgICBwYXJhbWV0ZXJz
LT5zZXRBcnJheSgiYXJndW1lbnRzIl9zLCBKU09OOjpBcnJheTo6Y3JlYXRlKCkpOwogICAgICAg
ICBwYXJhbWV0ZXJzLT5zZXRCb29sZWFuKCJleHBlY3RzSW1wbGljaXRDYWxsYmFja0FyZ3VtZW50
Il9zLCB0cnVlKTsKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVh
dGVKYXZhU2NyaXB0RnVuY3Rpb24iX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XShTZXNzaW9uSG9zdDo6Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIG11dGFibGUgewpAQCAt
MTEwMSw3ICsxMTAxLDcgQEAgdm9pZCBTZXNzaW9uOjpmaW5kRWxlbWVudHMoY29uc3QgU3RyaW5n
JiBzdHJhdGVneSwgY29uc3QgU3RyaW5nJiBzZWxlY3RvciwgRmluZEUKICAgICAgICAgcGFyYW1l
dGVycy0+c2V0U3RyaW5nKCJicm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93
c2luZ0NvbnRleHQudmFsdWUoKSk7CiAgICAgICAgIGlmIChtX2N1cnJlbnRCcm93c2luZ0NvbnRl
eHQpCiAgICAgICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBt
X2N1cnJlbnRCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNl
dFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZyhGaW5kTm9kZXNKYXZhU2NyaXB0LCBzaXplb2Yo
RmluZE5vZGVzSmF2YVNjcmlwdCkpKTsKKyAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJm
dW5jdGlvbiJfcywgU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoRmluZE5vZGVzSmF2
YVNjcmlwdCwgc2l6ZW9mKEZpbmROb2Rlc0phdmFTY3JpcHQpKSk7CiAgICAgICAgIHBhcmFtZXRl
cnMtPnNldEFycmF5KCJhcmd1bWVudHMiX3MsIFdURk1vdmUoYXJndW1lbnRzKSk7CiAgICAgICAg
IHBhcmFtZXRlcnMtPnNldEJvb2xlYW4oImV4cGVjdHNJbXBsaWNpdENhbGxiYWNrQXJndW1lbnQi
X3MsIHRydWUpOwogICAgICAgICAvLyBJZiB0aGVyZSdzIGFuIGltcGxpY2l0IHdhaXQsIHVzZSBv
bmUgc2Vjb25kIG1vcmUgYXMgY2FsbGJhY2sgdGltZW91dC4KQEAgLTEyMjIsNyArMTIyMiw3IEBA
IHZvaWQgU2Vzc2lvbjo6aXNFbGVtZW50U2VsZWN0ZWQoY29uc3QgU3RyaW5nJiBlbGVtZW50SUQs
IEZ1bmN0aW9uPHZvaWQgKENvbW1hbmRSCiAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygi
YnJvd3NpbmdDb250ZXh0SGFuZGxlIl9zLCBtX3RvcGxldmVsQnJvd3NpbmdDb250ZXh0LnZhbHVl
KCkpOwogICAgICAgICBpZiAobV9jdXJyZW50QnJvd3NpbmdDb250ZXh0KQogICAgICAgICAgICAg
cGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmcmFtZUhhbmRsZSJfcywgbV9jdXJyZW50QnJvd3NpbmdD
b250ZXh0LnZhbHVlKCkpOwotICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZ1bmN0aW9u
Il9zLCBTdHJpbmcoRWxlbWVudEF0dHJpYnV0ZUphdmFTY3JpcHQsIHNpemVvZihFbGVtZW50QXR0
cmlidXRlSmF2YVNjcmlwdCkpKTsKKyAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmdW5j
dGlvbiJfcywgU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoRWxlbWVudEF0dHJpYnV0
ZUphdmFTY3JpcHQsIHNpemVvZihFbGVtZW50QXR0cmlidXRlSmF2YVNjcmlwdCkpKTsKICAgICAg
ICAgcGFyYW1ldGVycy0+c2V0QXJyYXkoImFyZ3VtZW50cyJfcywgV1RGTW92ZShhcmd1bWVudHMp
KTsKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVKYXZhU2Ny
aXB0RnVuY3Rpb24iX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFtwcm90ZWN0ZWRUaGlzLCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6
Q29tbWFuZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5p
c0Vycm9yIHx8ICFyZXNwb25zZS5yZXNwb25zZU9iamVjdCkgewpAQCAtMTM5Myw3ICsxMzkzLDcg
QEAgdm9pZCBTZXNzaW9uOjppc0VsZW1lbnRFbmFibGVkKGNvbnN0IFN0cmluZyYgZWxlbWVudElE
LCBGdW5jdGlvbjx2b2lkIChDb21tYW5kUmUKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5n
KCJicm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFs
dWUoKSk7CiAgICAgICAgIGlmIChtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQpCiAgICAgICAgICAg
ICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBtX2N1cnJlbnRCcm93c2lu
Z0NvbnRleHQudmFsdWUoKSk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rp
b24iX3MsIFN0cmluZyhFbGVtZW50RW5hYmxlZEphdmFTY3JpcHQsIHNpemVvZihFbGVtZW50RW5h
YmxlZEphdmFTY3JpcHQpKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rp
b24iX3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKEVsZW1lbnRFbmFibGVkSmF2
YVNjcmlwdCwgc2l6ZW9mKEVsZW1lbnRFbmFibGVkSmF2YVNjcmlwdCkpKTsKICAgICAgICAgcGFy
YW1ldGVycy0+c2V0QXJyYXkoImFyZ3VtZW50cyJfcywgV1RGTW92ZShhcmd1bWVudHMpKTsKICAg
ICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgiZXZhbHVhdGVKYXZhU2NyaXB0RnVu
Y3Rpb24iX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFtwcm90ZWN0ZWRUaGlzLCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShTZXNzaW9uSG9zdDo6Q29tbWFu
ZFJlc3BvbnNlJiYgcmVzcG9uc2UpIHsKICAgICAgICAgICAgIGlmIChyZXNwb25zZS5pc0Vycm9y
IHx8ICFyZXNwb25zZS5yZXNwb25zZU9iamVjdCkgewpAQCAtMTQzNyw3ICsxNDM3LDcgQEAgdm9p
ZCBTZXNzaW9uOjppc0VsZW1lbnREaXNwbGF5ZWQoY29uc3QgU3RyaW5nJiBlbGVtZW50SUQsIEZ1
bmN0aW9uPHZvaWQgKENvbW1hbmQKICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJicm93
c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRleHQudmFsdWUoKSk7
CiAgICAgICAgIGlmIChtX2N1cnJlbnRCcm93c2luZ0NvbnRleHQpCiAgICAgICAgICAgICBwYXJh
bWV0ZXJzLT5zZXRTdHJpbmcoImZyYW1lSGFuZGxlIl9zLCBtX2N1cnJlbnRCcm93c2luZ0NvbnRl
eHQudmFsdWUoKSk7Ci0gICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3Ms
IFN0cmluZyhFbGVtZW50RGlzcGxheWVkSmF2YVNjcmlwdCwgc2l6ZW9mKEVsZW1lbnREaXNwbGF5
ZWRKYXZhU2NyaXB0KSkpOworICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImZ1bmN0aW9u
Il9zLCBTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhFbGVtZW50RGlzcGxheWVkSmF2
YVNjcmlwdCwgc2l6ZW9mKEVsZW1lbnREaXNwbGF5ZWRKYXZhU2NyaXB0KSkpOwogICAgICAgICBw
YXJhbWV0ZXJzLT5zZXRBcnJheSgiYXJndW1lbnRzIl9zLCBXVEZNb3ZlKGFyZ3VtZW50cykpOwog
ICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJldmFsdWF0ZUphdmFTY3JpcHRG
dW5jdGlvbiJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3Byb3RlY3RlZFRoaXMsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpDb21t
YW5kUmVzcG9uc2UmJiByZXNwb25zZSkgewogICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmlzRXJy
b3IgfHwgIXJlc3BvbnNlLnJlc3BvbnNlT2JqZWN0KSB7CkBAIC0xNDgyLDcgKzE0ODIsNyBAQCB2
b2lkIFNlc3Npb246OmdldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgU3RyaW5nJiBlbGVtZW50SUQs
IGNvbnN0IFN0cmluZyYgYXR0cmlidQogICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImJy
b3dzaW5nQ29udGV4dEhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dzaW5nQ29udGV4dC52YWx1ZSgp
KTsKICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29udGV4dCkKICAgICAgICAgICAgIHBh
cmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3MsIG1fY3VycmVudEJyb3dzaW5nQ29u
dGV4dC52YWx1ZSgpKTsKLSAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmdW5jdGlvbiJf
cywgU3RyaW5nKEVsZW1lbnRBdHRyaWJ1dGVKYXZhU2NyaXB0LCBzaXplb2YoRWxlbWVudEF0dHJp
YnV0ZUphdmFTY3JpcHQpKSk7CisgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rp
b24iX3MsIFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKEVsZW1lbnRBdHRyaWJ1dGVK
YXZhU2NyaXB0LCBzaXplb2YoRWxlbWVudEF0dHJpYnV0ZUphdmFTY3JpcHQpKSk7CiAgICAgICAg
IHBhcmFtZXRlcnMtPnNldEFycmF5KCJhcmd1bWVudHMiX3MsIFdURk1vdmUoYXJndW1lbnRzKSk7
CiAgICAgICAgIG1faG9zdC0+c2VuZENvbW1hbmRUb0JhY2tlbmQoImV2YWx1YXRlSmF2YVNjcmlw
dEZ1bmN0aW9uIl9zLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBbcHJvdGVjdGVkVGhpcywgY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oU2Vzc2lvbkhvc3Q6OkNv
bW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CiAgICAgICAgICAgICBpZiAocmVzcG9uc2UuaXNF
cnJvciB8fCAhcmVzcG9uc2UucmVzcG9uc2VPYmplY3QpIHsKQEAgLTE4NjIsNyArMTg2Miw3IEBA
IHZvaWQgU2Vzc2lvbjo6ZWxlbWVudENsZWFyKGNvbnN0IFN0cmluZyYgZWxlbWVudElELCBGdW5j
dGlvbjx2b2lkIChDb21tYW5kUmVzdWx0CiAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0
U3RyaW5nKCJicm93c2luZ0NvbnRleHRIYW5kbGUiX3MsIG1fdG9wbGV2ZWxCcm93c2luZ0NvbnRl
eHQudmFsdWUoKSk7CiAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29udGV4
dCkKICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycy0+c2V0U3RyaW5nKCJmcmFtZUhhbmRs
ZSJfcywgbV9jdXJyZW50QnJvd3NpbmdDb250ZXh0LnZhbHVlKCkpOwotICAgICAgICAgICAgICAg
IHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZyhGb3JtRWxlbWVudENs
ZWFySmF2YVNjcmlwdCwgc2l6ZW9mKEZvcm1FbGVtZW50Q2xlYXJKYXZhU2NyaXB0KSkpOworICAg
ICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnVuY3Rpb24iX3MsIFN0cmluZ0lt
cGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKEZvcm1FbGVtZW50Q2xlYXJKYXZhU2NyaXB0LCBzaXpl
b2YoRm9ybUVsZW1lbnRDbGVhckphdmFTY3JpcHQpKSk7CiAgICAgICAgICAgICAgICAgcGFyYW1l
dGVycy0+c2V0QXJyYXkoImFyZ3VtZW50cyJfcywgV1RGTW92ZShhcmd1bWVudHMpKTsKICAgICAg
ICAgICAgICAgICBtX2hvc3QtPnNlbmRDb21tYW5kVG9CYWNrZW5kKCJldmFsdWF0ZUphdmFTY3Jp
cHRGdW5jdGlvbiJfcywgV1RGTW92ZShwYXJhbWV0ZXJzKSwgW3Byb3RlY3RlZFRoaXMsIGNvbXBs
ZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFNlc3Npb25Ib3N0OjpD
b21tYW5kUmVzcG9uc2UmJiByZXNwb25zZSkgewogICAgICAgICAgICAgICAgICAgICBpZiAocmVz
cG9uc2UuaXNFcnJvcikgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUyYjM3YzZhMGEzZDQyYzhlNGFmODIxZDBmMDBlNmIz
ZGQ2OGZiNzQuLjQxMGVlNDAxMjhiMmU3YTMxN2QyZGI2NzRkN2Q0MDY4NTJkNzI3NDIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAyMS0wMy0yNCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBw
bGUuY29tPgorCisgICAgICAgIEFsbCBzdHJpbmcgcmVzb3VyY2VzIGZyb20gVXNlckFnZW50U3R5
bGVTaGVldHMgLyBVc2VyQWdlbnRTY3JpcHRzIHNob3VsZCBiZSB1c2VkIGFzIG5vbi1jb3B5aW5n
IFN0cmluZ0ltcGwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzY4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVtZW50LW1hcmt1cC1leHBl
Y3RlZC50eHQ6CisKIDIwMjEtMDMtMjQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbY3NzLWdyaWRdIERvIG5vdCBhbGxvdyBuZWdhdGl2ZSBoZWlnaHRzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVsZW1lbnQt
bWFya3VwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1l
bnQvbWV0ZXItZWxlbWVudC1tYXJrdXAtZXhwZWN0ZWQudHh0CmluZGV4IDA2ZGMwZDgxMGM0NDk0
YTQzNTE0ZmE0ZTFhNWVjODJkMjFiNjM3ZmYuLjYzM2Q5NTA5YWU3NDMxNWFjNjk3ZjQwN2M1ZTYy
MTE4ZWJlY2IxMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxNZXRlckVs
ZW1lbnQvbWV0ZXItZWxlbWVudC1tYXJrdXAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItZWxlbWVudC1tYXJrdXAtZXhwZWN0ZWQu
dHh0CkBAIC02LDcgKzYsNyBAQCBCb3RoIG1ldGVyIGVsZW1lbnRzIHNob3VsZCBoYXZlIGEgbmVz
dGVkIHNoYWRvdyBib3ggd2l0aCBhIHdpZHRoIHNwZWNpZmllZDoKIHwgICB2YWx1ZT0iNzAiCiB8
ICAgPHNoYWRvdzpyb290PgogfCAgICAgPHN0eWxlPgotfCAgICAgICAiZGl2I2lubmVyIHsgLXdl
YmtpdC1hcHBlYXJhbmNlOiBpbmhlcml0OyBib3gtc2l6aW5nOiBpbmhlcml0OyBoZWlnaHQ6IDEw
MCU7IHdpZHRoOiAxMDAlOyB9IGRpdiNiYXIgeyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50
KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNkZGQpLCB0bygjZGRkKSwgY29s
b3Itc3RvcCgwLjIwLCAjZWVlKSwgY29sb3Itc3RvcCgwLjQ1LCAjY2NjKSwgY29sb3Itc3RvcCgw
LjU1LCAjY2NjKSk7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRl
ci1ib3g7IH0gZGl2I3ZhbHVlIHsgaGVpZ2h0OiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94
OyB9IGRpdiN2YWx1ZS5vcHRpbXVtIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5l
YXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjYWQ3KSwgdG8oI2FkNyksIGNvbG9yLXN0
b3AoMC4yMCwgI2NlYSksIGNvbG9yLXN0b3AoMC40NSwgIzdhMyksIGNvbG9yLXN0b3AoMC41NSwg
IzdhMykpOyB9IGRpdiN2YWx1ZS5zdWJvcHRpbXVtIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFk
aWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZmU3KSwgdG8oI2ZlNyks
IGNvbG9yLXN0b3AoMC4yMCwgI2ZmYyksIGNvbG9yLXN0b3AoMC40NSwgI2RiMyksIGNvbG9yLXN0
b3AoMC41NSwgI2RiMykpOyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0g
ZGl2I3ZhbHVlLmV2ZW4tbGVzcy1nb29kIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChs
aW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgjZjc3KSwgdG8oI2Y3NyksIGNvbG9y
LXN0b3AoMC4yMCwgI2ZjYyksIGNvbG9yLXN0b3AoMC40NSwgI2Q0NCksIGNvbG9yLXN0b3AoMC41
NSwgI2Q0NCkpOyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7ICIKK3wgICAg
ICAgImRpdiNpbm5lciB7IC13ZWJraXQtYXBwZWFyYW5jZTogaW5oZXJpdDsgYm94LXNpemluZzog
aW5oZXJpdDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgfSBkaXYjYmFyIHsgYmFja2dyb3Vu
ZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgj
ZGRkKSwgdG8oI2RkZCksIGNvbG9yLXN0b3AoMC4yMCwgI2VlZSksIGNvbG9yLXN0b3AoMC40NSwg
I2NjYyksIGNvbG9yLXN0b3AoMC41NSwgI2NjYykpOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAl
OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZSB7IGhlaWdodDogMTAwJTsgYm94
LXNpemluZzogYm9yZGVyLWJveDsgfSBkaXYjdmFsdWUub3B0aW11bSB7IGJhY2tncm91bmQ6IC13
ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2FkNyks
IHRvKCNhZDcpLCBjb2xvci1zdG9wKDAuMjAsICNjZWEpLCBjb2xvci1zdG9wKDAuNDUsICM3YTMp
LCBjb2xvci1zdG9wKDAuNTUsICM3YTMpKTsgfSBkaXYjdmFsdWUuc3Vib3B0aW11bSB7IGJhY2tn
cm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZy
b20oI2ZlNyksIHRvKCNmZTcpLCBjb2xvci1zdG9wKDAuMjAsICNmZmMpLCBjb2xvci1zdG9wKDAu
NDUsICNkYjMpLCBjb2xvci1zdG9wKDAuNTUsICNkYjMpKTsgaGVpZ2h0OiAxMDAlOyBib3gtc2l6
aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZS5ldmVuLWxlc3MtZ29vZCB7IGJhY2tncm91bmQ6
IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2Y3
NyksIHRvKCNmNzcpLCBjb2xvci1zdG9wKDAuMjAsICNmY2MpLCBjb2xvci1zdG9wKDAuNDUsICNk
NDQpLCBjb2xvci1zdG9wKDAuNTUsICNkNDQpKTsgaGVpZ2h0OiAxMDAlOyBib3gtc2l6aW5nOiBi
b3JkZXItYm94OyB9IgogfCAgICAgPGRpdj4KIHwgICAgICAgaWQ9ImlubmVyIgogfCAgICAgICBw
c2V1ZG89Ii13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCIKQEAgLTMxLDcgKzMxLDcgQEAgQm90
aCBtZXRlciBlbGVtZW50cyBzaG91bGQgaGF2ZSBhIG5lc3RlZCBzaGFkb3cgYm94IHdpdGggYSB3
aWR0aCBzcGVjaWZpZWQ6CiB8ICAgdmFsdWU9IjEwIgogfCAgIDxzaGFkb3c6cm9vdD4KIHwgICAg
IDxzdHlsZT4KLXwgICAgICAgImRpdiNpbm5lciB7IC13ZWJraXQtYXBwZWFyYW5jZTogaW5oZXJp
dDsgYm94LXNpemluZzogaW5oZXJpdDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgfSBkaXYj
YmFyIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0
IGJvdHRvbSwgZnJvbSgjZGRkKSwgdG8oI2RkZCksIGNvbG9yLXN0b3AoMC4yMCwgI2VlZSksIGNv
bG9yLXN0b3AoMC40NSwgI2NjYyksIGNvbG9yLXN0b3AoMC41NSwgI2NjYykpOyBoZWlnaHQ6IDEw
MCU7IHdpZHRoOiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZSB7IGhl
aWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSBkaXYjdmFsdWUub3B0aW11bSB7
IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0
b20sIGZyb20oI2FkNyksIHRvKCNhZDcpLCBjb2xvci1zdG9wKDAuMjAsICNjZWEpLCBjb2xvci1z
dG9wKDAuNDUsICM3YTMpLCBjb2xvci1zdG9wKDAuNTUsICM3YTMpKTsgfSBkaXYjdmFsdWUuc3Vi
b3B0aW11bSB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwg
bGVmdCBib3R0b20sIGZyb20oI2ZlNyksIHRvKCNmZTcpLCBjb2xvci1zdG9wKDAuMjAsICNmZmMp
LCBjb2xvci1zdG9wKDAuNDUsICNkYjMpLCBjb2xvci1zdG9wKDAuNTUsICNkYjMpKTsgaGVpZ2h0
OiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZS5ldmVuLWxlc3MtZ29v
ZCB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBi
b3R0b20sIGZyb20oI2Y3NyksIHRvKCNmNzcpLCBjb2xvci1zdG9wKDAuMjAsICNmY2MpLCBjb2xv
ci1zdG9wKDAuNDUsICNkNDQpLCBjb2xvci1zdG9wKDAuNTUsICNkNDQpKTsgaGVpZ2h0OiAxMDAl
OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAiCit8ICAgICAgICJkaXYjaW5uZXIgeyAtd2Via2l0
LWFwcGVhcmFuY2U6IGluaGVyaXQ7IGJveC1zaXppbmc6IGluaGVyaXQ7IGhlaWdodDogMTAwJTsg
d2lkdGg6IDEwMCU7IH0gZGl2I2JhciB7IGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGlu
ZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2RkZCksIHRvKCNkZGQpLCBjb2xvci1z
dG9wKDAuMjAsICNlZWUpLCBjb2xvci1zdG9wKDAuNDUsICNjY2MpLCBjb2xvci1zdG9wKDAuNTUs
ICNjY2MpKTsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJv
eDsgfSBkaXYjdmFsdWUgeyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0g
ZGl2I3ZhbHVlLm9wdGltdW0geyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwg
bGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNhZDcpLCB0bygjYWQ3KSwgY29sb3Itc3RvcCgw
LjIwLCAjY2VhKSwgY29sb3Itc3RvcCgwLjQ1LCAjN2EzKSwgY29sb3Itc3RvcCgwLjU1LCAjN2Ez
KSk7IH0gZGl2I3ZhbHVlLnN1Ym9wdGltdW0geyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50
KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmZTcpLCB0bygjZmU3KSwgY29s
b3Itc3RvcCgwLjIwLCAjZmZjKSwgY29sb3Itc3RvcCgwLjQ1LCAjZGIzKSwgY29sb3Itc3RvcCgw
LjU1LCAjZGIzKSk7IGhlaWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSBkaXYj
dmFsdWUuZXZlbi1sZXNzLWdvb2QgeyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVh
ciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmNzcpLCB0bygjZjc3KSwgY29sb3Itc3Rv
cCgwLjIwLCAjZmNjKSwgY29sb3Itc3RvcCgwLjQ1LCAjZDQ0KSwgY29sb3Itc3RvcCgwLjU1LCAj
ZDQ0KSk7IGhlaWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSIKIHwgICAgIDxk
aXY+CiB8ICAgICAgIGlkPSJpbm5lciIKIHwgICAgICAgcHNldWRvPSItd2Via2l0LW1ldGVyLWlu
bmVyLWVsZW1lbnQiCkBAIC01Niw3ICs1Niw3IEBAIEJvdGggbWV0ZXIgZWxlbWVudHMgc2hvdWxk
IGhhdmUgYSBuZXN0ZWQgc2hhZG93IGJveCB3aXRoIGEgd2lkdGggc3BlY2lmaWVkOgogfCAgIHZh
bHVlPSIxMCIKIHwgICA8c2hhZG93OnJvb3Q+CiB8ICAgICA8c3R5bGU+Ci18ICAgICAgICJkaXYj
aW5uZXIgeyAtd2Via2l0LWFwcGVhcmFuY2U6IGluaGVyaXQ7IGJveC1zaXppbmc6IGluaGVyaXQ7
IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IH0gZGl2I2JhciB7IGJhY2tncm91bmQ6IC13ZWJr
aXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2RkZCksIHRv
KCNkZGQpLCBjb2xvci1zdG9wKDAuMjAsICNlZWUpLCBjb2xvci1zdG9wKDAuNDUsICNjY2MpLCBj
b2xvci1zdG9wKDAuNTUsICNjY2MpKTsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgYm94LXNp
emluZzogYm9yZGVyLWJveDsgfSBkaXYjdmFsdWUgeyBoZWlnaHQ6IDEwMCU7IGJveC1zaXppbmc6
IGJvcmRlci1ib3g7IH0gZGl2I3ZhbHVlLm9wdGltdW0geyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdy
YWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNhZDcpLCB0bygjYWQ3
KSwgY29sb3Itc3RvcCgwLjIwLCAjY2VhKSwgY29sb3Itc3RvcCgwLjQ1LCAjN2EzKSwgY29sb3It
c3RvcCgwLjU1LCAjN2EzKSk7IH0gZGl2I3ZhbHVlLnN1Ym9wdGltdW0geyBiYWNrZ3JvdW5kOiAt
d2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmZTcp
LCB0bygjZmU3KSwgY29sb3Itc3RvcCgwLjIwLCAjZmZjKSwgY29sb3Itc3RvcCgwLjQ1LCAjZGIz
KSwgY29sb3Itc3RvcCgwLjU1LCAjZGIzKSk7IGhlaWdodDogMTAwJTsgYm94LXNpemluZzogYm9y
ZGVyLWJveDsgfSBkaXYjdmFsdWUuZXZlbi1sZXNzLWdvb2QgeyBiYWNrZ3JvdW5kOiAtd2Via2l0
LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCNmNzcpLCB0bygj
Zjc3KSwgY29sb3Itc3RvcCgwLjIwLCAjZmNjKSwgY29sb3Itc3RvcCgwLjQ1LCAjZDQ0KSwgY29s
b3Itc3RvcCgwLjU1LCAjZDQ0KSk7IGhlaWdodDogMTAwJTsgYm94LXNpemluZzogYm9yZGVyLWJv
eDsgIgorfCAgICAgICAiZGl2I2lubmVyIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbmhlcml0OyBi
b3gtc2l6aW5nOiBpbmhlcml0OyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyB9IGRpdiNiYXIg
eyBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90
dG9tLCBmcm9tKCNkZGQpLCB0bygjZGRkKSwgY29sb3Itc3RvcCgwLjIwLCAjZWVlKSwgY29sb3It
c3RvcCgwLjQ1LCAjY2NjKSwgY29sb3Itc3RvcCgwLjU1LCAjY2NjKSk7IGhlaWdodDogMTAwJTsg
d2lkdGg6IDEwMCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gZGl2I3ZhbHVlIHsgaGVpZ2h0
OiAxMDAlOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9IGRpdiN2YWx1ZS5vcHRpbXVtIHsgYmFj
a2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwg
ZnJvbSgjYWQ3KSwgdG8oI2FkNyksIGNvbG9yLXN0b3AoMC4yMCwgI2NlYSksIGNvbG9yLXN0b3Ao
MC40NSwgIzdhMyksIGNvbG9yLXN0b3AoMC41NSwgIzdhMykpOyB9IGRpdiN2YWx1ZS5zdWJvcHRp
bXVtIHsgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0
IGJvdHRvbSwgZnJvbSgjZmU3KSwgdG8oI2ZlNyksIGNvbG9yLXN0b3AoMC4yMCwgI2ZmYyksIGNv
bG9yLXN0b3AoMC40NSwgI2RiMyksIGNvbG9yLXN0b3AoMC41NSwgI2RiMykpOyBoZWlnaHQ6IDEw
MCU7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gZGl2I3ZhbHVlLmV2ZW4tbGVzcy1nb29kIHsg
YmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRv
bSwgZnJvbSgjZjc3KSwgdG8oI2Y3NyksIGNvbG9yLXN0b3AoMC4yMCwgI2ZjYyksIGNvbG9yLXN0
b3AoMC40NSwgI2Q0NCksIGNvbG9yLXN0b3AoMC41NSwgI2Q0NCkpOyBoZWlnaHQ6IDEwMCU7IGJv
eC1zaXppbmc6IGJvcmRlci1ib3g7IH0iCiB8ICAgICA8ZGl2PgogfCAgICAgICBpZD0iaW5uZXIi
CiB8ICAgICAgIHBzZXVkbz0iLXdlYmtpdC1tZXRlci1pbm5lci1lbGVtZW50Igo=
</data>
<flag name="review"
          id="443776"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>