<?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>228044</bug_id>
          
          <creation_ts>2021-07-16 17:12:31 -0700</creation_ts>
          <short_desc>Network access prevention SPI should prevent preconnecting, and it should first allow injected bundle to change request</short_desc>
          <delta_ts>2021-07-19 10:28:07 -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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1777663</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 17:12:31 -0700</bug_when>
    <thetext>Network access prevention SPI should prevent preconnecting, and it should first allow injected bundle to change request</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777666</commentid>
    <comment_count>1</comment_count>
      <attachid>433717</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 17:17:18 -0700</bug_when>
    <thetext>Created attachment 433717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777667</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 17:17:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/72995136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777668</commentid>
    <comment_count>3</comment_count>
      <attachid>433718</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 17:19:49 -0700</bug_when>
    <thetext>Created attachment 433718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777670</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 17:21:26 -0700</bug_when>
    <thetext>*** Bug 227992 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777677</commentid>
    <comment_count>5</comment_count>
      <attachid>433718</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-16 17:45:43 -0700</bug_when>
    <thetext>Comment on attachment 433718
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/SchemeChangingPlugIn.mm:2
&gt; + * Copyright (C) 2018 Apple Inc. All rights reserved.

2021!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777678</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-16 17:46:08 -0700</bug_when>
    <thetext>Does seem reasonable and non-harmful, but because it&apos;s loader code it would really be good to make Brady look too!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777683</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-07-16 18:00:32 -0700</bug_when>
    <thetext>http://trac.webkit.org/r280014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777892</commentid>
    <comment_count>8</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-07-19 10:28:07 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433717</attachid>
            <date>2021-07-16 17:17:18 -0700</date>
            <delta_ts>2021-07-16 17:19:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228044-20210716171717.patch</filename>
            <type>text/plain</type>
            <size>18165</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDIxMDBjYWUxOTRkZDRj
ODU4YTJhODljNGI0MDlhOGMxNzMwODhlOC4uYjQ4ZDJkYjBhZmZjMTM1NjYwMzYxMzQyNTY4ZjJh
ZmI3MGM0ZTNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA3LTE2ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTmV0d29y
ayBhY2Nlc3MgcHJldmVudGlvbiBTUEkgc2hvdWxkIHByZXZlbnQgcHJlY29ubmVjdGluZywgYW5k
IGl0IHNob3VsZCBmaXJzdCBhbGxvdyBpbmplY3RlZCBidW5kbGUgdG8gY2hhbmdlIHJlcXVlc3QK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODA0NAor
ICAgICAgICA8cmRhcjovLzcyOTk1MTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24uX2xvYWRzRnJvbU5ldHdv
cmsgYW5kIGl0cyBzdWNjZXNzb3IgX2FsbG93ZWROZXR3b3JrSG9zdHMgaGF2ZSB0d28gaXNzdWVz
OgorICAgICAgICAxLiBUaGV5IGFsbG93IGxpbmsgcmVsPXByZWNvbm5lY3QgdG8gc3RpbGwgcHJl
Y29ubmVjdCB0byBhIGhvc3QuICBXaGlsZSB0aGlzIGRvZXNuJ3QgcmV2ZWFsIG11Y2ggaW5mb3Jt
YXRpb24sIGl0IGRvZXMgcmV2ZWFsIHNvbWUuCisgICAgICAgIDIuIEl0IGJsb2NrcyBsb2FkcyBi
ZWZvcmUgZ2l2aW5nIHRoZSBpbmplY3RlZCBidW5kbGUgYSBjaGFuY2UgdG8gY2hhbmdlIHRoZSBz
Y2hlbWUgb2YgdGhlIHJlcXVlc3QuICBUaGlzIFNQSSBpcyByZWxhdGl2ZWx5IG5ldyBhbmQKKyAg
ICAgICAgICAgaW50ZW5kZWQgdG8gcmVwbGFjZSB0aGUgaW5qZWN0ZWQgYnVuZGxlLCBidXQgdGhl
IHVzZXIgZnJvbSB0aGlzIHJhZGFyIG5lZWRzIHRvIGhhdmUgYW4gaW5qZWN0ZWQgYnVuZGxlIG1h
a2UgY2hhbmdlcyBmaXJzdC4KKworICAgICAgICBCb3RoIHByb2JsZW1zIGFyZSBmaXhlZCBhbmQg
Y292ZXJlZCBieSBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkTm90
aWZpZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3Bh
dGNoV2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKwogMjAyMS0wNy0w
NyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIElEQk9iamVjdFN0
b3JlLmtleVBhdGggc2hvdWxkIGtlZXAgcmV0dXJuaW5nIHRoZSBzYW1lIG9iamVjdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA3MDY0ZGMyMWNjMDE5ZjFlYWQ5NTM4NGE4Yjg0ODljODYwZDAyYThlLi5hNWRkOTcwNmFh
MzBjNTdmMjk0YmM4YmVjNmUxMTBiNTY5NjlkODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIxLTA3LTE2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgTmV0d29yayBhY2Nlc3MgcHJldmVudGlvbiBTUEkgc2hvdWxkIHByZXZlbnQg
cHJlY29ubmVjdGluZywgYW5kIGl0IHNob3VsZCBmaXJzdCBhbGxvdyBpbmplY3RlZCBidW5kbGUg
dG8gY2hhbmdlIHJlcXVlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyODA0NAorICAgICAgICA8cmRhcjovLzcyOTk1MTM2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYkxvYWRlclN0cmF0ZWd5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRl
Z3k6OnByZWNvbm5lY3RUbyk6CisKIDIwMjEtMDctMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGZvbGxvdy11cCB0byByMjc5NjAxIHRvIGFk
ZHJlc3Mgc29tZSBhc3NlcnRpb25zIG9uIHRoZSBib3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKaW5kZXggYThlNDlkYWZiYzFiZmEyZTczMGM5
NWQ1YTIzNDk1N2M1ZWI1MWFkZC4uMTRhOTkyMmJiZjlhNTU1Nzc3NjJlODExMzdkMzU5Nzk0MDc4
N2FmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlm
aWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIu
Y3BwCkBAIC0xMzMsNiArMTMzLDEwIEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3Bh
dGNoV2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnCiAgICAgaWYg
KG1fZnJhbWUubG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSkKICAgICAgICAgbV9mcmFtZS5sb2Fk
ZXIoKS5kb2N1bWVudExvYWRlcigpLT5kaWRUZWxsQ2xpZW50QWJvdXRMb2FkKHJlcXVlc3QudXJs
KCkuc3RyaW5nKCkpOwogCisgICAgLy8gTm90aWZ5aW5nIHRoZSBGcmFtZUxvYWRlckNsaWVudCBt
YXkgY2F1c2UgdGhlIGZyYW1lIHRvIGJlIGRlc3Ryb3llZC4KKyAgICBSZWY8RnJhbWU+IHByb3Rl
Y3RlZEZyYW1lKG1fZnJhbWUpOworICAgIG1fZnJhbWUubG9hZGVyKCkuY2xpZW50KCkuZGlzcGF0
Y2hXaWxsU2VuZFJlcXVlc3QobG9hZGVyLCBpZGVudGlmaWVyLCByZXF1ZXN0LCByZWRpcmVjdFJl
c3BvbnNlKTsKKwogICAgIGlmIChhdXRvKiBwYWdlID0gbV9mcmFtZS5wYWdlKCkpIHsKICAgICAg
ICAgaWYgKCFwYWdlLT5sb2Fkc1N1YnJlc291cmNlcygpKSB7CiAgICAgICAgICAgICBpZiAoIW1f
ZnJhbWUuaXNNYWluRnJhbWUoKSB8fCAobV9pbml0aWFsUmVxdWVzdElkZW50aWZpZXIgJiYgKm1f
aW5pdGlhbFJlcXVlc3RJZGVudGlmaWVyICE9IGlkZW50aWZpZXIpKQpAQCAtMTQwLDEwICsxNDQs
NiBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChE
b2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZwogICAgICAgICB9IGVsc2UgaWYgKCFwYWdlLT5h
bGxvd3NMb2FkRnJvbVVSTChyZXF1ZXN0LnVybCgpKSkKICAgICAgICAgICAgIHJlcXVlc3QgPSB7
IH07CiAgICAgfQotICAgIAotICAgIC8vIE5vdGlmeWluZyB0aGUgRnJhbWVMb2FkZXJDbGllbnQg
bWF5IGNhdXNlIHRoZSBmcmFtZSB0byBiZSBkZXN0cm95ZWQuCi0gICAgUmVmPEZyYW1lPiBwcm90
ZWN0KG1fZnJhbWUpOwotICAgIG1fZnJhbWUubG9hZGVyKCkuY2xpZW50KCkuZGlzcGF0Y2hXaWxs
U2VuZFJlcXVlc3QobG9hZGVyLCBpZGVudGlmaWVyLCByZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNl
KTsKIAogICAgIC8vIElmIHRoZSBVUkwgY2hhbmdlZCwgdGhlbiB3ZSB3YW50IHRvIHB1dCB0aGF0
IG5ldyBVUkwgaW4gdGhlICJkaWQgdGVsbCBjbGllbnQiIHNldCB0b28uCiAgICAgaWYgKCFyZXF1
ZXN0LmlzTnVsbCgpICYmIG9sZFJlcXVlc3RVUkwgIT0gcmVxdWVzdC51cmwoKS5zdHJpbmcoKSAm
JiBtX2ZyYW1lLmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDIw
NzljNWE1NGJiMTA4NGVhZWMxYjU1NTNhNjExNTEwM2IwOTdjODAuLmYyNGQ3OGU1MTM0OGRkMDY4
MTgwNjI5Nzk5NzI2ZGYzNmRkZWRhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC04MDksNyArODA5LDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNVdGlsaXR5UGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNV
dGlsaXR5UGFnZTsgfQogCiAgICAgYm9vbCBsb2Fkc1N1YnJlc291cmNlcygpIGNvbnN0IHsgcmV0
dXJuIG1fbG9hZHNTdWJyZXNvdXJjZXM7IH0KLSAgICBib29sIGFsbG93c0xvYWRGcm9tVVJMKGNv
bnN0IFVSTCYpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYWxsb3dzTG9hZEZyb21V
UkwoY29uc3QgVVJMJikgY29uc3Q7CiAgICAgU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxv
Y2tpbmcgc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcoKSBjb25zdCB7IHJldHVy
biBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nOyB9CiAKICAgICBib29sIGlz
TG93UG93ZXJNb2RlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhyb3R0bGluZ1JlYXNvbnMu
Y29udGFpbnMoVGhyb3R0bGluZ1JlYXNvbjo6TG93UG93ZXJNb2RlKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCmlu
ZGV4IGM0MmQyYzAwZjc5ODJlYTNmZTE5NDAxY2QwNzZjMjRhMGI2NDllYmYuLmEzODUxMWRkNDc0
ZmQ5OGQ1ODRkZTY3ZjRkODUxYjI2NTU3MTk0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAKQEAgLTc2NCw2ICs3
NjQsMTIgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6cHJlY29ubmVjdFRvKEZyYW1lTG9hZGVy
JiBmcmFtZUxvYWRlciwgY29uc3QgVVJMJiB1cmwsIFMKIAogdm9pZCBXZWJMb2FkZXJTdHJhdGVn
eTo6cHJlY29ubmVjdFRvKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYlBh
Z2UmIHdlYlBhZ2UsIFdlYkZyYW1lJiB3ZWJGcmFtZSwgV2ViQ29yZTo6U3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFByZWNvbm5lY3RDb21wbGV0aW9uSGFu
ZGxlciYmIGNvbXBsZXRpb25IYW5kbGVyKQogeworICAgIGlmICh3ZWJQYWdlLmNvcmVQYWdlKCkg
JiYgIXdlYlBhZ2UuY29yZVBhZ2UoKS0+YWxsb3dzTG9hZEZyb21VUkwocmVxdWVzdC51cmwoKSkp
IHsKKyAgICAgICAgaWYgKGNvbXBsZXRpb25IYW5kbGVyKQorICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoeyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmIChhdXRvKiBk
b2N1bWVudCA9IHdlYlBhZ2UubWFpbkZyYW1lKCktPmRvY3VtZW50KCkpIHsKICAgICAgICAgcmVx
dWVzdC5zZXRGaXJzdFBhcnR5Rm9yQ29va2llcyhkb2N1bWVudC0+Zmlyc3RQYXJ0eUZvckNvb2tp
ZXMoKSk7CiAgICAgICAgIGlmIChhdXRvKiBsb2FkZXIgPSBkb2N1bWVudC0+bG9hZGVyKCkpCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTkzYzdl
ODRlY2Q0OTRkZjYwNGFkYmY3MTVhN2QxYjJlODU1MGZhZi4uMGEyNzFiMWY0ODJjYWRjYzE2ODU1
OTE0YTIxZWVjMTRjZjlmZWZlNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA3LTE2ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTmV0d29yayBhY2Nlc3Mg
cHJldmVudGlvbiBTUEkgc2hvdWxkIHByZXZlbnQgcHJlY29ubmVjdGluZywgYW5kIGl0IHNob3Vs
ZCBmaXJzdCBhbGxvdyBpbmplY3RlZCBidW5kbGUgdG8gY2hhbmdlIHJlcXVlc3QKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODA0NAorICAgICAgICA8
cmRhcjovLzcyOTk1MTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVj
b25uZWN0Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TY2hlbWVDaGFuZ2luZ1BsdWdJbi5tbTogQWRk
ZWQuCisgICAgICAgICgtW1NjaGVtZUNoYW5naW5nUGx1Z0luIHdlYlByb2Nlc3NQbHVnSW46ZGlk
Q3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOl0pOgorICAgICAgICAoLVtTY2hlbWVDaGFu
Z2luZ1BsdWdJbiB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyOmZyYW1l
OndpbGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW06CisKIDIwMjEt
MDctMDcgIExpbmcgSG8gIDxsaW5naG9AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBwcm94
eSBzZXJ2ZXIgc2V0dGluZyBmcm9tIEJ1aWxkYm90IGNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggM2M5YmY4OTY1MWY5N2EzODdiNTAxMTA5N2U0YTE5NGEwYzMyZGFjNS4u
NTc0ZjFkMjQyZjk3ZDQ2ZjNhZDdmMDZmOTNmYzdiNDlkMWM2ZDk2YyAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTUyMiw2ICs1MjIsNyBAQAogCQk1Q0I1QjNDMjFGRkM1NUNGMDBDMjdCQjAg
LyogRnJhbWVIYW5kbGVTZXJpYWxpemF0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCNUIzQkQxRkZDNTE3RTAwQzI3QkIwIC8qIEZyYW1lSGFu
ZGxlU2VyaWFsaXphdGlvbi5tbSAqLzsgfTsKIAkJNUNCN0FGREMyM0M0NTI5NzAwRTQ5Q0YzIC8q
IFJlc291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUNCN0FGREIyM0M0NTFFNDAwRTQ5Q0YzIC8qIFJlc291cmNlTG9hZERl
bGVnYXRlLm1tICovOyB9OwogCQk1Q0JBQTdGQjI0NDBFQTAyMDA1NjRBOEIgLyogQ0ZOZXR3b3Jr
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDQkFBN0ZBMjQ0MEVBMDIwMDU2NEE4QiAvKiBDRk5ldHdvcmsuZnJhbWV3b3JrICovOyB9
OworCQk1Q0M4QjIwNjI2QTI1MzVGMDA5MDk2MDMgLyogU2NoZW1lQ2hhbmdpbmdQbHVnSW4ubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0M4QjE2MjI2
QTI1MjdDMDA5MDk2MDMgLyogU2NoZW1lQ2hhbmdpbmdQbHVnSW4ubW0gKi87IH07CiAJCTVDQ0Ix
MEUxMjEzNDU3RDMwMEFDNUFGMCAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNDQjEwRTAyMTM0NTc5RDAwQUM1
QUYwIC8qIFJlc3BvbnNpdmVuZXNzVGltZXIubW0gKi87IH07CiAJCTVDQ0IxMEUyMjEzNDU3RDUw
MEFDNUFGMCAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5Lm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNDQjEwREQyMTM0NTc5QzAw
QUM1QUYwIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkubW0gKi87IH07CiAJ
CTVDQ0IxMEUzMjEzNDU3RDgwMEFDNUFGMCAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5h
dmlnYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1Q0NCMTBERTIxMzQ1NzlEMDBBQzVBRjAgLyogUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXRO
YXZpZ2F0aW9uLm1tICovOyB9OwpAQCAtMjM4Niw2ICsyMzg3LDcgQEAKIAkJNUNCQUE3RjMyNDMy
N0Y2QjAwNTY0QThCIC8qIFRlc3RVSURlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFRlc3RVSURlbGVnYXRlLmg7IHBhdGggPSBjb2NvYS9UZXN0VUlEZWxlZ2F0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JBQTdGNDI0MzI3RjZCMDA1NjRBOEIg
LyogVGVzdFVJRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5h
bWUgPSBUZXN0VUlEZWxlZ2F0ZS5tbTsgcGF0aCA9IGNvY29hL1Rlc3RVSURlbGVnYXRlLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JBQTdGQTI0NDBFQTAyMDA1NjRBOEIgLyog
Q0ZOZXR3b3JrLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQ0ZOZXR3b3JrLmZyYW1ld29y
azsgcGF0aCA9IFN5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ0ZOZXR3b3JrLmZyYW1ld29yazsg
c291cmNlVHJlZSA9IFNES1JPT1Q7IH07CisJCTVDQzhCMTYyMjZBMjUyN0MwMDkwOTYwMyAvKiBT
Y2hlbWVDaGFuZ2luZ1BsdWdJbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFNjaGVtZUNoYW5naW5nUGx1Z0luLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0NCMTBERDIxMzQ1NzlDMDBBQzVBRjAgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNu
dEZpcmVFYXJseS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJl
c3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFybHkubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTVDQ0IxMERFMjEzNDU3OUQwMEFDNUFGMCAvKiBSZXN0b3JlU2Vzc2lvblN0YXRl
V2l0aG91dE5hdmlnYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmlnYXRpb24ubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTVDQ0IxMERGMjEzNDU3OUQwMEFDNUFGMCAvKiBTaG91bGRHb1Rv
QmFja0ZvcndhcmRMaXN0SXRlbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFNob3VsZEdvVG9CYWNrRm9yd2FyZExpc3RJdGVtLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMzU4Myw2ICszNTg1LDcgQEAKIAkJCQlGNEQyOTg2RDIwRkVFNzM3MDA5
MkQ2MzYgLyogUnVuU2NyaXB0QWZ0ZXJEb2N1bWVudExvYWQubW0gKi8sCiAJCQkJNUNBOTg1NTEy
MTEzQ0I4QzAwNTdFQjZCIC8qIFNhZmVCcm93c2luZy5tbSAqLywKIAkJCQk5NTA5NUYxRjI2MkZG
RkE1MDAwMEQ5MjAgLyogU2FtcGxlZFBhZ2VUb3BDb2xvci5tbSAqLywKKwkJCQk1Q0M4QjE2MjI2
QTI1MjdDMDA5MDk2MDMgLyogU2NoZW1lQ2hhbmdpbmdQbHVnSW4ubW0gKi8sCiAJCQkJQ0UwOTQ3
MzYyMDYzMjIzQjAwM0M5QkEwIC8qIFNjaGVtZVJlZ2lzdHJ5Lm1tICovLAogCQkJCTUxRUIxMjkz
MUZERjA1MDUwMEE1QTFCRCAvKiBTZXJ2aWNlV29ya2VyQmFzaWMubW0gKi8sCiAJCQkJNUM2ODM0
NzEyMzVBQ0M3QzAwNDFFNkIxIC8qIFNlcnZpY2VXb3JrZXJUQ1BTZXJ2ZXIuaCAqLywKQEAgLTU1
MDksNyArNTUxMiw2IEBACiAJCQkJQ0RDRjc4QTgyNDRBMzJGNzAwNDgwMzExIC8qIEZ1bGxzY3Jl
ZW5BbGVydC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNENzhFMTFEMURCN0VBNjYwMDE0QTJERSAv
KiBGdWxsc2NyZWVuRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREIyMTNCRDI0RUY1
MjI4MDBGREUzMDEgLyogRnVsbHNjcmVlbkZvY3VzLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRjQ0
QTdEMjAyNjhENUM2OTAwQjQ5QkI4IC8qIEltYWdlQW5hbHlzaXNUZXN0cy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUNERTc3RDI1MjVBNjU5MUMwMEQ0MTE1RSAvKiBGdWxsc2NyZWVuUG9pbnRlckxl
YXZlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0REQzdDNjkyNUZGRjZEMDAwMjI0Mjc4IC8qIEZ1
bGxzY3JlZW5SZW1vdmVOb2RlQmVmb3JlRW50ZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREJG
Q0M0NTFBOUZGNDUzMDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW0gaW4g
U291cmNlcyAqLywKQEAgLTU1NDMsNiArNTU0NSw3IEBACiAJCQkJNTEwNDc3NzgxRDI5OTIzQjAw
OTc0N0VCIC8qIElEQkRlbGV0ZVJlY292ZXJ5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTExMEZD
RkExRTAxQ0RCODAwNkY4RDBCIC8qIElEQkluZGV4VXBncmFkZVRvVjIubW0gaW4gU291cmNlcyAq
LywKIAkJCQk5M0JDQkM4MzIzQ0M2RjJBMDBDQTIyMjEgLyogSURCT2JqZWN0U3RvcmVJbmZvVXBn
cmFkZVRvVjIubW0gaW4gU291cmNlcyAqLywKKwkJCQlGNDRBN0QyMDI2OEQ1QzY5MDBCNDlCQjgg
LyogSW1hZ2VBbmFseXNpc1Rlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0IxODQxN0MyNjcz
ODYwMjAwRUQ0RjhEIC8qIEltYWdlQnVmZmVyVGVzdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RjQ0QTlBRjcyNjQ5QkJERDAwRTdDQjE2IC8qIEltbWVkaWF0ZUFjdGlvblRlc3RzLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDlBRUVGNkQyNDA3MzU5RDAwQzg3RTRDIC8qIEluQXBwQnJvd3NlclBy
aXZhY3kubW0gaW4gU291cmNlcyAqLywKQEAgLTU5OTgsNiArNjAwMSw3IEBACiAJCQkJMUE0Rjgx
Q0YxQkRGRkQ1MzAwNEU2NzJFIC8qIFJlbW90ZU9iamVjdFJlZ2lzdHJ5UGx1Z0luLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTEyRERDMDIxRTgzN0MyNDAwQ0Y2Q0FFIC8qIFJlbmRlcmVkSW1hZ2VX
aXRoT3B0aW9uc1BsdWdJbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUyNDUxNzg3MjFCOUY1N0Iw
MDgyQ0IzNCAvKiBSZW5kZXJpbmdQcm9ncmVzc1BsdWdJbi5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTVDQzhCMjA2MjZBMjUzNUYwMDkwOTYwMyAvKiBTY2hlbWVDaGFuZ2luZ1BsdWdJbi5tbSBpbiBT
b3VyY2VzICovLAogCQkJCURGQjgwRTM4MjYxNTEyQzEwMDJENDc3MSAvKiBUZXN0QXdha2VuZXIu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk3Qzg4MkUwOTFDODBDNjMwMDA2QkY3MzEgLyogVXNlckNv
bnRlbnRXb3JsZFBsdWdJbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDNEMUQwQTYwRDYw
MEZFQkNGMyAvKiBVdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tCmluZGV4IDI3
NTBiMDdiYWNlYWIyZTY2ZmQ3MjFmYjVjYjU1MDU0ZTg0OGY0NTMuLjQ3NjIxZjIwYmRjNzI4Mjcy
YmM4YjQ2MmEzZWQ4ZWJhZDIxNDE1MTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1ByZWNvbm5lY3QubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBv
cnQgIlRlc3RVSURlbGVnYXRlLmgiCiAjaW1wb3J0ICJVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldL
V2ViVmlld0NvbmZpZ3VyYXRpb25FeHRyYXMuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdD
b25maWd1cmF0aW9uUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUu
aD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CkBAIC0yMzEsNCArMjMyLDMzIEBAIFRFU1QoUHJlY29ubmVjdCwgSDJQaW5nRnJv
bVdlYkNvcmVOU1VSTFNlc3Npb24pCiAKICNlbmRpZiAvLyBIQVZFKFBSRUNPTk5FQ1RfUElORykK
IAorVEVTVChQcmVjb25uZWN0LCBEaXNhYmxlUHJlY29ubmVjdCkKK3sKKyAgICBzaXplX3QgY29u
bmVjdGlvbkNvdW50IHsgMCB9OworICAgIEhUVFBTZXJ2ZXIgc2VydmVyKFsmXShDb25uZWN0aW9u
KSB7CisgICAgICAgIGNvbm5lY3Rpb25Db3VudCsrOworICAgIH0pOworICAgIE5TU3RyaW5nICpo
dG1sID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCI8bGluayByZWw9J3ByZWNvbm5lY3Qn
IGhyZWY9J2h0dHA6Ly8xMjcuMC4wLjE6JWQnPiIsIHNlcnZlci5wb3J0KCldOworCisgICAgewor
ICAgICAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtXS1dlYlZpZXdDb25maWd1cmF0
aW9uIG5ld10pOworICAgICAgICBjb25maWd1cmF0aW9uLmdldCgpLl9hbGxvd2VkTmV0d29ya0hv
c3RzID0gW05TU2V0IHNldF07CisgICAgICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0WmVybyBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKyAgICAgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6aHRtbCBi
YXNlVVJMOm5pbF07CisgICAgICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZp
Z2F0aW9uXTsKKyAgICAgICAgVXRpbDo6c3BpblJ1bkxvb3AoMTApOworICAgICAgICB1c2xlZXAo
MTAwMDApOworICAgICAgICBVdGlsOjpzcGluUnVuTG9vcCgxMCk7CisgICAgICAgIEVYUEVDVF9F
UShjb25uZWN0aW9uQ291bnQsIDB1KTsKKyAgICB9CisKKyAgICB7CisgICAgICAgIGF1dG8gd2Vi
VmlldyA9IGFkb3B0TlMoW1dLV2ViVmlldyBuZXddKTsKKyAgICAgICAgW3dlYlZpZXcgbG9hZEhU
TUxTdHJpbmc6aHRtbCBiYXNlVVJMOm5pbF07CisgICAgICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKyAgICAgICAgd2hpbGUgKGNvbm5lY3Rpb25Db3VudCAh
PSAxKQorICAgICAgICAgICAgVXRpbDo6c3BpblJ1bkxvb3AoKTsKKyAgICB9Cit9CisKIH0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2NoZW1lQ2hh
bmdpbmdQbHVnSW4ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Nj
aGVtZUNoYW5naW5nUGx1Z0luLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlZWMwZDAxMWMzYWRkMGQzOGFiN2I1
ZmYwMWVjMDRhMjcyZTFhYjAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1NjaGVtZUNoYW5naW5nUGx1Z0luLm1tCkBAIC0wLDAgKzEsNTEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2ltcG9ydCA8V2ViS2l0L1dL
V2ViUHJvY2Vzc1BsdWdJbi5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1BsdWdJbkJy
b3dzZXJDb250ZXh0Q29udHJvbGxlci5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViUHJvY2Vzc1Bs
dWdJbkxvYWREZWxlZ2F0ZS5oPgorCitAaW50ZXJmYWNlIFNjaGVtZUNoYW5naW5nUGx1Z0luIDog
TlNPYmplY3QgPFdLV2ViUHJvY2Vzc1BsdWdJbiwgV0tXZWJQcm9jZXNzUGx1Z0luTG9hZERlbGVn
YXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gU2NoZW1lQ2hhbmdpbmdQbHVnSW4KKworLSAo
dm9pZCl3ZWJQcm9jZXNzUGx1Z0luOihXS1dlYlByb2Nlc3NQbHVnSW5Db250cm9sbGVyICopcGx1
Z0luQ29udHJvbGxlciBkaWRDcmVhdGVCcm93c2VyQ29udGV4dENvbnRyb2xsZXI6KFdLV2ViUHJv
Y2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlciAqKWJyb3dzZXJDb250ZXh0Q29udHJv
bGxlcgoreworICAgIFticm93c2VyQ29udGV4dENvbnRyb2xsZXIgc2V0TG9hZERlbGVnYXRlOnNl
bGZdOworfQorCistIChOU1VSTFJlcXVlc3QgKil3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xsZXIg
Kiljb250cm9sbGVyIGZyYW1lOihXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZSAqKWZyYW1lIHdpbGxT
ZW5kUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCByZWRpcmVjdFJlc3BvbnNlOihOU1VS
TFJlc3BvbnNlICopcmVkaXJlY3RSZXNwb25zZQoreworICAgIE5TTXV0YWJsZVVSTFJlcXVlc3Qg
KnJlc3VsdCA9IFtbcmVxdWVzdCBtdXRhYmxlQ29weV0gYXV0b3JlbGVhc2VdOworICAgIE5TVVJM
Q29tcG9uZW50cyAqY29tcG9uZW50cyA9IFtOU1VSTENvbXBvbmVudHMgY29tcG9uZW50c1dpdGhV
Ukw6cmVxdWVzdC5VUkwgcmVzb2x2aW5nQWdhaW5zdEJhc2VVUkw6Tk9dOworICAgIGNvbXBvbmVu
dHMuc2NoZW1lID0gQCJ0ZXN0K3Jld3JpdHRlbitzY2hlbWUiOworICAgIHJlc3VsdC5VUkwgPSBj
b21wb25lbnRzLlVSTDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitAZW5kCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxl
ci0xLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVt
ZUhhbmRsZXItMS5tbQppbmRleCBiMjkzOGU3M2M2ZjZhZTY2NmY3YjBmZjM3OWM2MzhlYzgzZGRj
MWExLi5hZmQ2MDhiZmYwNDYzNWRhODVhMzU1NjEyYzAwMGQzNDNhOGUwMGU0IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxl
ci0xLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxT
Y2hlbWVIYW5kbGVyLTEubW0KQEAgLTMyLDYgKzMyLDcgQEAKICNpbXBvcnQgIlRlc3RVSURlbGVn
YXRlLmgiCiAjaW1wb3J0ICJUZXN0VVJMU2NoZW1lSGFuZGxlci5oIgogI2ltcG9ydCAiVGVzdFdL
V2ViVmlldy5oIgorI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbkV4dHJhcy5oIgogI2lt
cG9ydCA8V2ViS2l0L1dLRXJyb3JQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tGcmFtZUlu
Zm9Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQcm9jZXNzUG9vbFByaXZhdGUuaD4KQEAg
LTE2MTksMyArMTYyMCwxOSBAQCBURVNUKFVSTFNjaGVtZUhhbmRsZXIsIFJhbmdlcykKICAgICBF
WFBFQ1RfV0tfU1RSRVEoW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckFsZXJ0XSwgInBsYXlpbmciKTsK
ICAgICBFWFBFQ1RfVFJVRShmb3VuZFJhbmdlUmVxdWVzdCk7CiB9CisKK1RFU1QoVVJMU2NoZW1l
SGFuZGxlciwgSGFuZGxlVVJMUmV3cml0dGVuQnlQbHVnSW4pCit7CisgICAgV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiAqY29uZmlndXJhdGlvbiA9IFtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF90ZXN0
X2NvbmZpZ3VyYXRpb25XaXRoVGVzdFBsdWdJbkNsYXNzTmFtZTpAIlNjaGVtZUNoYW5naW5nUGx1
Z0luIl07CisgICAgY29uZmlndXJhdGlvbi5fYWxsb3dlZE5ldHdvcmtIb3N0cyA9IFtOU1NldCBz
ZXRdOworICAgIGF1dG8gaGFuZGxlciA9IGFkb3B0TlMoW1Rlc3RVUkxTY2hlbWVIYW5kbGVyIG5l
d10pOworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisgICAgW2hhbmRsZXIgc2V0U3Rh
cnRVUkxTY2hlbWVUYXNrSGFuZGxlcjpeKFdLV2ViVmlldyAqLCBpZDxXS1VSTFNjaGVtZVRhc2s+
IHRhc2spIHsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKHRhc2sucmVxdWVzdC5VUkwuYWJzb2x1
dGVTdHJpbmcsICJ0ZXN0K3Jld3JpdHRlbitzY2hlbWU6Ly93ZWJraXQub3JnL3Rlc3RwYXRoIik7
CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFtjb25maWd1cmF0aW9uIHNldFVS
TFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJ0ZXN0K3Jld3JpdHRl
bitzY2hlbWUiXTsKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXSk7
CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpb
TlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8vd2Via2l0Lm9yZy90ZXN0cGF0aCJdXV07Cisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433718</attachid>
            <date>2021-07-16 17:19:49 -0700</date>
            <delta_ts>2021-07-16 17:45:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228044-20210716171948.patch</filename>
            <type>text/plain</type>
            <size>16480</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4MDAxMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA3LTE2ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTmV0d29yayBh
Y2Nlc3MgcHJldmVudGlvbiBTUEkgc2hvdWxkIHByZXZlbnQgcHJlY29ubmVjdGluZywgYW5kIGl0
IHNob3VsZCBmaXJzdCBhbGxvdyBpbmplY3RlZCBidW5kbGUgdG8gY2hhbmdlIHJlcXVlc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODA0NAorICAg
ICAgICA8cmRhcjovLzcyOTk1MTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24uX2xvYWRzRnJvbU5ldHdvcmsg
YW5kIGl0cyBzdWNjZXNzb3IgX2FsbG93ZWROZXR3b3JrSG9zdHMgaGF2ZSB0d28gaXNzdWVzOgor
ICAgICAgICAxLiBUaGV5IGFsbG93IGxpbmsgcmVsPXByZWNvbm5lY3QgdG8gc3RpbGwgcHJlY29u
bmVjdCB0byBhIGhvc3QuICBXaGlsZSB0aGlzIGRvZXNuJ3QgcmV2ZWFsIG11Y2ggaW5mb3JtYXRp
b24sIGl0IGRvZXMgcmV2ZWFsIHNvbWUuCisgICAgICAgIDIuIEl0IGJsb2NrcyBsb2FkcyBiZWZv
cmUgZ2l2aW5nIHRoZSBpbmplY3RlZCBidW5kbGUgYSBjaGFuY2UgdG8gY2hhbmdlIHRoZSBzY2hl
bWUgb2YgdGhlIHJlcXVlc3QuICBUaGlzIFNQSSBpcyByZWxhdGl2ZWx5IG5ldyBhbmQKKyAgICAg
ICAgICAgaW50ZW5kZWQgdG8gcmVwbGFjZSB0aGUgaW5qZWN0ZWQgYnVuZGxlLCBidXQgdGhlIHVz
ZXIgZnJvbSB0aGlzIHJhZGFyIG5lZWRzIHRvIGhhdmUgYW4gaW5qZWN0ZWQgYnVuZGxlIG1ha2Ug
Y2hhbmdlcyBmaXJzdC4KKworICAgICAgICBCb3RoIHByb2JsZW1zIGFyZSBmaXhlZCBhbmQgY292
ZXJlZCBieSBBUEkgdGVzdHMuCisKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNo
V2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKwogMjAyMS0wNy0xNiAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBB
cHBsZSBpbnRlcm5hbCBidWlsZApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZE5vdGlmaWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuY3BwCShyZXZpc2lvbiAyODAwMTEpCisrKyBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMs
NiArMTMzLDEwIEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoV2lsbFMKICAg
ICBpZiAobV9mcmFtZS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpKQogICAgICAgICBtX2ZyYW1l
LmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCktPmRpZFRlbGxDbGllbnRBYm91dExvYWQocmVxdWVz
dC51cmwoKS5zdHJpbmcoKSk7CiAKKyAgICAvLyBOb3RpZnlpbmcgdGhlIEZyYW1lTG9hZGVyQ2xp
ZW50IG1heSBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVzdHJveWVkLgorICAgIFJlZjxGcmFtZT4g
cHJvdGVjdGVkRnJhbWUobV9mcmFtZSk7CisgICAgbV9mcmFtZS5sb2FkZXIoKS5jbGllbnQoKS5k
aXNwYXRjaFdpbGxTZW5kUmVxdWVzdChsb2FkZXIsIGlkZW50aWZpZXIsIHJlcXVlc3QsIHJlZGly
ZWN0UmVzcG9uc2UpOworCiAgICAgaWYgKGF1dG8qIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgewog
ICAgICAgICBpZiAoIXBhZ2UtPmxvYWRzU3VicmVzb3VyY2VzKCkpIHsKICAgICAgICAgICAgIGlm
ICghbV9mcmFtZS5pc01haW5GcmFtZSgpIHx8IChtX2luaXRpYWxSZXF1ZXN0SWRlbnRpZmllciAm
JiAqbV9pbml0aWFsUmVxdWVzdElkZW50aWZpZXIgIT0gaWRlbnRpZmllcikpCkBAIC0xNDAsMTAg
KzE0NCw2IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoV2lsbFMKICAgICAg
ICAgfSBlbHNlIGlmICghcGFnZS0+YWxsb3dzTG9hZEZyb21VUkwocmVxdWVzdC51cmwoKSkpCiAg
ICAgICAgICAgICByZXF1ZXN0ID0geyB9OwogICAgIH0KLSAgICAKLSAgICAvLyBOb3RpZnlpbmcg
dGhlIEZyYW1lTG9hZGVyQ2xpZW50IG1heSBjYXVzZSB0aGUgZnJhbWUgdG8gYmUgZGVzdHJveWVk
LgotICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKLSAgICBtX2ZyYW1lLmxvYWRlcigp
LmNsaWVudCgpLmRpc3BhdGNoV2lsbFNlbmRSZXF1ZXN0KGxvYWRlciwgaWRlbnRpZmllciwgcmVx
dWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CiAKICAgICAvLyBJZiB0aGUgVVJMIGNoYW5nZWQsIHRo
ZW4gd2Ugd2FudCB0byBwdXQgdGhhdCBuZXcgVVJMIGluIHRoZSAiZGlkIHRlbGwgY2xpZW50IiBz
ZXQgdG9vLgogICAgIGlmICghcmVxdWVzdC5pc051bGwoKSAmJiBvbGRSZXF1ZXN0VVJMICE9IHJl
cXVlc3QudXJsKCkuc3RyaW5nKCkgJiYgbV9mcmFtZS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigp
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgJKHJldmlzaW9uIDI4MDAxMSkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04MTQsNyArODE0LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNVdGlsaXR5UGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNVdGlsaXR5UGFnZTsg
fQogCiAgICAgYm9vbCBsb2Fkc1N1YnJlc291cmNlcygpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZHNT
dWJyZXNvdXJjZXM7IH0KLSAgICBib29sIGFsbG93c0xvYWRGcm9tVVJMKGNvbnN0IFVSTCYpIGNv
bnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYWxsb3dzTG9hZEZyb21VUkwoY29uc3QgVVJM
JikgY29uc3Q7CiAgICAgU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgc2hvdWxk
UmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFJl
bGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nOyB9CiAKICAgICBib29sIGlzTG93UG93ZXJNb2Rl
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhyb3R0bGluZ1JlYXNvbnMuY29udGFpbnMoVGhy
b3R0bGluZ1JlYXNvbjo6TG93UG93ZXJNb2RlKTsgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4
MDAxMSkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjEtMDctMTYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBOZXR3b3JrIGFjY2VzcyBwcmV2ZW50aW9uIFNQSSBzaG91bGQg
cHJldmVudCBwcmVjb25uZWN0aW5nLCBhbmQgaXQgc2hvdWxkIGZpcnN0IGFsbG93IGluamVjdGVk
IGJ1bmRsZSB0byBjaGFuZ2UgcmVxdWVzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDQ0CisgICAgICAgIDxyZGFyOi8vNzI5OTUxMzY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMb2Fk
ZXJTdHJhdGVneTo6cHJlY29ubmVjdFRvKToKKwogMjAyMS0wNy0xNiAgSm9obiBXaWxhbmRlciAg
PHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBlYXJseSByZXR1cm4gd2hl
biB1bmxpbmthYmxlIHRva2VuIGlzIHVzZWQgYW5kIGFkZCBtb3JlIGhhcHB5IHBhdGggV2ViIElu
c3BlY3RvciBsb2dnaW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9X
ZWJMb2FkZXJTdHJhdGVneS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCShyZXZpc2lvbiAyODAwMTEpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTc2NCw2ICs3NjQsMTIgQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6
cHJlY29ubmVjdFRvKEZyYQogCiB2b2lkIFdlYkxvYWRlclN0cmF0ZWd5OjpwcmVjb25uZWN0VG8o
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgV2ViUGFnZSYgd2ViUGFnZSwgV2Vi
RnJhbWUmIHdlYkZyYW1lLCBXZWJDb3JlOjpTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRD
cmVkZW50aWFsc1BvbGljeSwgUHJlY29ubmVjdENvbXBsZXRpb25IYW5kbGVyJiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CisgICAgaWYgKHdlYlBhZ2UuY29yZVBhZ2UoKSAmJiAhd2ViUGFnZS5jb3Jl
UGFnZSgpLT5hbGxvd3NMb2FkRnJvbVVSTChyZXF1ZXN0LnVybCgpKSkgeworICAgICAgICBpZiAo
Y29tcGxldGlvbkhhbmRsZXIpCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gd2ViUGFn
ZS5tYWluRnJhbWUoKS0+ZG9jdW1lbnQoKSkgewogICAgICAgICByZXF1ZXN0LnNldEZpcnN0UGFy
dHlGb3JDb29raWVzKGRvY3VtZW50LT5maXJzdFBhcnR5Rm9yQ29va2llcygpKTsKICAgICAgICAg
aWYgKGF1dG8qIGxvYWRlciA9IGRvY3VtZW50LT5sb2FkZXIoKSkKSW5kZXg6IFRvb2xzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4MDAxMSkKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIxLTA3
LTE2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgTmV0d29yayBhY2Nlc3MgcHJldmVudGlvbiBTUEkgc2hvdWxkIHByZXZlbnQgcHJlY29ubmVj
dGluZywgYW5kIGl0IHNob3VsZCBmaXJzdCBhbGxvdyBpbmplY3RlZCBidW5kbGUgdG8gY2hhbmdl
IHJlcXVlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyODA0NAorICAgICAgICA8cmRhcjovLzcyOTk1MTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9QcmVjb25uZWN0Lm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TY2hlbWVDaGFu
Z2luZ1BsdWdJbi5tbTogQWRkZWQuCisgICAgICAgICgtW1NjaGVtZUNoYW5naW5nUGx1Z0luIHdl
YlByb2Nlc3NQbHVnSW46ZGlkQ3JlYXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOl0pOgorICAg
ICAgICAoLVtTY2hlbWVDaGFuZ2luZ1BsdWdJbiB3ZWJQcm9jZXNzUGx1Z0luQnJvd3NlckNvbnRl
eHRDb250cm9sbGVyOmZyYW1lOndpbGxTZW5kUmVxdWVzdDpyZWRpcmVjdFJlc3BvbnNlOl0pOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5k
bGVyLTEubW06CisKIDIwMjEtMDctMTYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc5OTE2LgpJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI4MDAxMSkKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNv
cHkpCkBAIC01MjQsNiArNTI0LDcgQEAKIAkJNUNCNUIzQzIxRkZDNTVDRjAwQzI3QkIwIC8qIEZy
YW1lSGFuZGxlU2VyaWFsaXphdGlvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVDQjVCM0JEMUZGQzUxN0UwMEMyN0JCMCAvKiBGcmFtZUhhbmRsZVNl
cmlhbGl6YXRpb24ubW0gKi87IH07CiAJCTVDQjdBRkRDMjNDNDUyOTcwMEU0OUNGMyAvKiBSZXNv
dXJjZUxvYWREZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDQjdBRkRCMjNDNDUxRTQwMEU0OUNGMyAvKiBSZXNvdXJjZUxvYWREZWxlZ2F0
ZS5tbSAqLzsgfTsKIAkJNUNCQUE3RkIyNDQwRUEwMjAwNTY0QThCIC8qIENGTmV0d29yay5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
Q0JBQTdGQTI0NDBFQTAyMDA1NjRBOEIgLyogQ0ZOZXR3b3JrLmZyYW1ld29yayAqLzsgfTsKKwkJ
NUNDOEIyMDYyNkEyNTM1RjAwOTA5NjAzIC8qIFNjaGVtZUNoYW5naW5nUGx1Z0luLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNDOEIxNjIyNkEyNTI3
QzAwOTA5NjAzIC8qIFNjaGVtZUNoYW5naW5nUGx1Z0luLm1tICovOyB9OwogCQk1Q0NCMTBFMTIx
MzQ1N0QzMDBBQzVBRjAgLyogUmVzcG9uc2l2ZW5lc3NUaW1lci5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0IxMEUwMjEzNDU3OUQwMEFDNUFGMCAv
KiBSZXNwb25zaXZlbmVzc1RpbWVyLm1tICovOyB9OwogCQk1Q0NCMTBFMjIxMzQ1N0Q1MDBBQzVB
RjAgLyogUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0IxMEREMjEzNDU3OUMwMEFDNUFG
MCAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5Lm1tICovOyB9OwogCQk1Q0NC
MTBFMzIxMzQ1N0Q4MDBBQzVBRjAgLyogUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXROYXZpZ2F0
aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUND
QjEwREUyMTM0NTc5RDAwQUM1QUYwIC8qIFJlc3RvcmVTZXNzaW9uU3RhdGVXaXRob3V0TmF2aWdh
dGlvbi5tbSAqLzsgfTsKQEAgLTIzOTAsNiArMjM5MSw3IEBACiAJCTVDQkFBN0YzMjQzMjdGNkIw
MDU2NEE4QiAvKiBUZXN0VUlEZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBUZXN0VUlEZWxlZ2F0ZS5oOyBwYXRoID0gY29jb2EvVGVzdFVJRGVsZWdhdGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQUE3RjQyNDMyN0Y2QjAwNTY0QThCIC8qIFRl
c3RVSURlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0g
VGVzdFVJRGVsZWdhdGUubW07IHBhdGggPSBjb2NvYS9UZXN0VUlEZWxlZ2F0ZS5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQUE3RkEyNDQwRUEwMjAwNTY0QThCIC8qIENGTmV0
d29yay5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENGTmV0d29yay5mcmFtZXdvcms7IHBh
dGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NGTmV0d29yay5mcmFtZXdvcms7IHNvdXJj
ZVRyZWUgPSBTREtST09UOyB9OworCQk1Q0M4QjE2MjI2QTI1MjdDMDA5MDk2MDMgLyogU2NoZW1l
Q2hhbmdpbmdQbHVnSW4ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTY2hlbWVDaGFuZ2luZ1BsdWdJbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NUNDQjEwREQyMTM0NTc5QzAwQUM1QUYwIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJl
RWFybHkubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZXNwb25z
aXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0NCMTBERTIxMzQ1NzlEMDBBQzVBRjAgLyogUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhv
dXROYXZpZ2F0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
UmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXROYXZpZ2F0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1Q0NCMTBERjIxMzQ1NzlEMDBBQzVBRjAgLyogU2hvdWxkR29Ub0JhY2tG
b3J3YXJkTGlzdEl0ZW0ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBTaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTM1ODgsNiArMzU5MCw3IEBACiAJCQkJRjREMjk4NkQyMEZFRTczNzAwOTJENjM2
IC8qIFJ1blNjcmlwdEFmdGVyRG9jdW1lbnRMb2FkLm1tICovLAogCQkJCTVDQTk4NTUxMjExM0NC
OEMwMDU3RUI2QiAvKiBTYWZlQnJvd3NpbmcubW0gKi8sCiAJCQkJOTUwOTVGMUYyNjJGRkZBNTAw
MDBEOTIwIC8qIFNhbXBsZWRQYWdlVG9wQ29sb3IubW0gKi8sCisJCQkJNUNDOEIxNjIyNkEyNTI3
QzAwOTA5NjAzIC8qIFNjaGVtZUNoYW5naW5nUGx1Z0luLm1tICovLAogCQkJCUNFMDk0NzM2MjA2
MzIyM0IwMDNDOUJBMCAvKiBTY2hlbWVSZWdpc3RyeS5tbSAqLywKIAkJCQk1MUVCMTI5MzFGREYw
NTA1MDBBNUExQkQgLyogU2VydmljZVdvcmtlckJhc2ljLm1tICovLAogCQkJCTVDNjgzNDcxMjM1
QUNDN0MwMDQxRTZCMSAvKiBTZXJ2aWNlV29ya2VyVENQU2VydmVyLmggKi8sCkBAIC02MDA2LDYg
KzYwMDksNyBAQAogCQkJCTFBNEY4MUNGMUJERkZENTMwMDRFNjcyRSAvKiBSZW1vdGVPYmplY3RS
ZWdpc3RyeVBsdWdJbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCUExMkREQzAyMUU4MzdDMjQwMENG
NkNBRSAvKiBSZW5kZXJlZEltYWdlV2l0aE9wdGlvbnNQbHVnSW4ubW0gaW4gU291cmNlcyAqLywK
IAkJCQk1MjQ1MTc4NzIxQjlGNTdCMDA4MkNCMzQgLyogUmVuZGVyaW5nUHJvZ3Jlc3NQbHVnSW4u
bW0gaW4gU291cmNlcyAqLywKKwkJCQk1Q0M4QjIwNjI2QTI1MzVGMDA5MDk2MDMgLyogU2NoZW1l
Q2hhbmdpbmdQbHVnSW4ubW0gaW4gU291cmNlcyAqLywKIAkJCQlERkI4MEUzODI2MTUxMkMxMDAy
RDQ3NzEgLyogVGVzdEF3YWtlbmVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4ODJFMDkxQzgw
QzYzMDAwNkJGNzMxIC8qIFVzZXJDb250ZW50V29ybGRQbHVnSW4ubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3QzgzRTAzRDFEMEE2MEQ2MDBGRUJDRjMgLyogVXRpbGl0aWVzQ29jb2EubW0gaW4gU291
cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJl
Y29ubmVjdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1ByZWNvbm5lY3QubW0JKHJldmlzaW9uIDI4MDAxMSkKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJlY29ubmVjdC5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzEsNiArMzEsNyBAQAogI2ltcG9ydCAiVGVzdFVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIlV0aWxp
dGllcy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29uZmlndXJhdGlvbkV4dHJhcy5oIgorI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJL
aXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEku
aD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTIzMSw0ICsyMzIsMzMgQEAgVEVTVChQ
cmVjb25uZWN0LCBIMlBpbmdGcm9tV2ViQ29yZU5TVVJMUwogCiAjZW5kaWYgLy8gSEFWRShQUkVD
T05ORUNUX1BJTkcpCiAKK1RFU1QoUHJlY29ubmVjdCwgRGlzYWJsZVByZWNvbm5lY3QpCit7Cisg
ICAgc2l6ZV90IGNvbm5lY3Rpb25Db3VudCB7IDAgfTsKKyAgICBIVFRQU2VydmVyIHNlcnZlcihb
Jl0oQ29ubmVjdGlvbikgeworICAgICAgICBjb25uZWN0aW9uQ291bnQrKzsKKyAgICB9KTsKKyAg
ICBOU1N0cmluZyAqaHRtbCA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPGxpbmsgcmVs
PSdwcmVjb25uZWN0JyBocmVmPSdodHRwOi8vMTI3LjAuMC4xOiVkJz4iLCBzZXJ2ZXIucG9ydCgp
XTsKKworICAgIHsKKyAgICAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiBuZXddKTsKKyAgICAgICAgY29uZmlndXJhdGlvbi5nZXQoKS5fYWxs
b3dlZE5ldHdvcmtIb3N0cyA9IFtOU1NldCBzZXRdOworICAgICAgICBhdXRvIHdlYlZpZXcgPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOkNHUmVjdFplcm8gY29uZmln
dXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgICAgIFt3ZWJWaWV3IGxvYWRIVE1M
U3RyaW5nOmh0bWwgYmFzZVVSTDpuaWxdOworICAgICAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9y
RGlkRmluaXNoTmF2aWdhdGlvbl07CisgICAgICAgIFV0aWw6OnNwaW5SdW5Mb29wKDEwKTsKKyAg
ICAgICAgdXNsZWVwKDEwMDAwKTsKKyAgICAgICAgVXRpbDo6c3BpblJ1bkxvb3AoMTApOworICAg
ICAgICBFWFBFQ1RfRVEoY29ubmVjdGlvbkNvdW50LCAwdSk7CisgICAgfQorCisgICAgeworICAg
ICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtXS1dlYlZpZXcgbmV3XSk7CisgICAgICAgIFt3
ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOmh0bWwgYmFzZVVSTDpuaWxdOworICAgICAgICBbd2ViVmll
dyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisgICAgICAgIHdoaWxlIChjb25u
ZWN0aW9uQ291bnQgIT0gMSkKKyAgICAgICAgICAgIFV0aWw6OnNwaW5SdW5Mb29wKCk7CisgICAg
fQorfQorCiB9CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Nj
aGVtZUNoYW5naW5nUGx1Z0luLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvU2NoZW1lQ2hhbmdpbmdQbHVnSW4ubW0JKG5vbmV4aXN0ZW50KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TY2hlbWVDaGFuZ2luZ1Bs
dWdJbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW4uaD4K
KyNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29udGV4dENvbnRyb2xs
ZXIuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlByb2Nlc3NQbHVnSW5Mb2FkRGVsZWdhdGUuaD4K
KworQGludGVyZmFjZSBTY2hlbWVDaGFuZ2luZ1BsdWdJbiA6IE5TT2JqZWN0IDxXS1dlYlByb2Nl
c3NQbHVnSW4sIFdLV2ViUHJvY2Vzc1BsdWdJbkxvYWREZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIFNjaGVtZUNoYW5naW5nUGx1Z0luCisKKy0gKHZvaWQpd2ViUHJvY2Vzc1BsdWdJ
bjooV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqKXBsdWdJbkNvbnRyb2xsZXIgZGlkQ3Jl
YXRlQnJvd3NlckNvbnRleHRDb250cm9sbGVyOihXS1dlYlByb2Nlc3NQbHVnSW5Ccm93c2VyQ29u
dGV4dENvbnRyb2xsZXIgKilicm93c2VyQ29udGV4dENvbnRyb2xsZXIKK3sKKyAgICBbYnJvd3Nl
ckNvbnRleHRDb250cm9sbGVyIHNldExvYWREZWxlZ2F0ZTpzZWxmXTsKK30KKworLSAoTlNVUkxS
ZXF1ZXN0ICopd2ViUHJvY2Vzc1BsdWdJbkJyb3dzZXJDb250ZXh0Q29udHJvbGxlcjooV0tXZWJQ
cm9jZXNzUGx1Z0luQnJvd3NlckNvbnRleHRDb250cm9sbGVyICopY29udHJvbGxlciBmcmFtZToo
V0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUgKilmcmFtZSB3aWxsU2VuZFJlcXVlc3Q6KE5TVVJMUmVx
dWVzdCAqKXJlcXVlc3QgcmVkaXJlY3RSZXNwb25zZTooTlNVUkxSZXNwb25zZSAqKXJlZGlyZWN0
UmVzcG9uc2UKK3sKKyAgICBOU011dGFibGVVUkxSZXF1ZXN0ICpyZXN1bHQgPSBbW3JlcXVlc3Qg
bXV0YWJsZUNvcHldIGF1dG9yZWxlYXNlXTsKKyAgICBOU1VSTENvbXBvbmVudHMgKmNvbXBvbmVu
dHMgPSBbTlNVUkxDb21wb25lbnRzIGNvbXBvbmVudHNXaXRoVVJMOnJlcXVlc3QuVVJMIHJlc29s
dmluZ0FnYWluc3RCYXNlVVJMOk5PXTsKKyAgICBjb21wb25lbnRzLnNjaGVtZSA9IEAidGVzdCty
ZXdyaXR0ZW4rc2NoZW1lIjsKKyAgICByZXN1bHQuVVJMID0gY29tcG9uZW50cy5VUkw7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKworQGVuZApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1t
CShyZXZpc2lvbiAyODAwMTEpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENv
Y29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3
IEBACiAjaW1wb3J0ICJUZXN0VUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiVGVzdFVSTFNjaGVtZUhh
bmRsZXIuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgIldLV2ViVmlld0Nv
bmZpZ3VyYXRpb25FeHRyYXMuaCIKICNpbXBvcnQgPFdlYktpdC9XS0Vycm9yUHJpdmF0ZS5oPgog
I2ltcG9ydCA8V2ViS2l0L1dLRnJhbWVJbmZvUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dL
UHJvY2Vzc1Bvb2xQcml2YXRlLmg+CkBAIC0xNjE5LDMgKzE2MjAsMTkgQEAgVEVTVChVUkxTY2hl
bWVIYW5kbGVyLCBSYW5nZXMpCiAgICAgRVhQRUNUX1dLX1NUUkVRKFt3ZWJWaWV3IF90ZXN0X3dh
aXRGb3JBbGVydF0sICJwbGF5aW5nIik7CiAgICAgRVhQRUNUX1RSVUUoZm91bmRSYW5nZVJlcXVl
c3QpOwogfQorCitURVNUKFVSTFNjaGVtZUhhbmRsZXIsIEhhbmRsZVVSTFJld3JpdHRlbkJ5UGx1
Z0luKQoreworICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24gPSBbV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBfdGVzdF9jb25maWd1cmF0aW9uV2l0aFRlc3RQbHVnSW5DbGFz
c05hbWU6QCJTY2hlbWVDaGFuZ2luZ1BsdWdJbiJdOworICAgIGNvbmZpZ3VyYXRpb24uX2FsbG93
ZWROZXR3b3JrSG9zdHMgPSBbTlNTZXQgc2V0XTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5T
KFtUZXN0VVJMU2NoZW1lSGFuZGxlciBuZXddKTsKKyAgICBfX2Jsb2NrIGJvb2wgZG9uZSA9IGZh
bHNlOworICAgIFtoYW5kbGVyIHNldFN0YXJ0VVJMU2NoZW1lVGFza0hhbmRsZXI6XihXS1dlYlZp
ZXcgKiwgaWQ8V0tVUkxTY2hlbWVUYXNrPiB0YXNrKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJF
USh0YXNrLnJlcXVlc3QuVVJMLmFic29sdXRlU3RyaW5nLCAidGVzdCtyZXdyaXR0ZW4rc2NoZW1l
Oi8vd2Via2l0Lm9yZy90ZXN0cGF0aCIpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsK
KyAgICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9y
VVJMU2NoZW1lOkAidGVzdCtyZXdyaXR0ZW4rc2NoZW1lIl07CisgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RaZXJvIGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbl0pOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VS
TFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRwczovL3dl
YmtpdC5vcmcvdGVzdHBhdGgiXV1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9u
ZSk7Cit9Cg==
</data>
<flag name="review"
          id="456051"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>