<?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>221430</bug_id>
          
          <creation_ts>2021-02-04 15:24:40 -0800</creation_ts>
          <short_desc>Create stub methods to support finer-grained control over loading</short_desc>
          <delta_ts>2021-02-10 11:19:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>221641</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1725830</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-04 15:24:40 -0800</bug_when>
    <thetext>The Cocoa API for loading content through file URLs, NSData objects, and HTML strings lack the same context provided for NSURLRequests.

This is unfortunate because NSURLRequest supports hinting to the networking subsystem about things like &apos;allowsConstrainedNetworkAccess&apos; (indicates whether connections may use the network when the user has specified Low Data Mode), or &apos;allowsExpensiveNetworkAccess&apos; (connections may use a network interface that the system considers expensive), and &apos;networkServiceType&apos; (hints if the content is video, text, voice, etc.)

This first patch adds stubs for a proposed API that calls into the existing load features. Subsequent patches will expand the logic to thread state properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1725831</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-04 15:25:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/73999547&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726184</commentid>
    <comment_count>2</comment_count>
      <attachid>419434</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-05 10:54:08 -0800</bug_when>
    <thetext>Created attachment 419434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727319</commentid>
    <comment_count>3</comment_count>
      <attachid>419781</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-09 16:09:29 -0800</bug_when>
    <thetext>Created attachment 419781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727336</commentid>
    <comment_count>4</comment_count>
      <attachid>419781</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-02-09 16:50:17 -0800</bug_when>
    <thetext>Comment on attachment 419781
Patch

r=me

Tag! You&apos;re it for TBA macro duty now :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727337</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-02-09 16:51:05 -0800</bug_when>
    <thetext>I think we want a follow-up with a test to confirm that these new methods do in fact produce back-forward list items. (Might need to write a little code to make that the case.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727539</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-10 07:59:05 -0800</bug_when>
    <thetext>Committed r272654: &lt;https://commits.webkit.org/r272654&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419781.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727568</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-10 09:23:17 -0800</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #5)
&gt; I think we want a follow-up with a test to confirm that these new methods do
&gt; in fact produce back-forward list items. (Might need to write a little code
&gt; to make that the case.)

Filed Bug 221641 to take this action.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727649</commentid>
    <comment_count>8</comment_count>
      <attachid>419781</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-10 11:14:39 -0800</bug_when>
    <thetext>Comment on attachment 419781
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2112
&gt; +    NSURLResponse *response = [[NSURLResponse alloc] initWithURL:request.URL MIMEType:@&quot;text/html&quot; expectedContentLength:string.length textEncodingName:@&quot;UTF-8&quot;];

Looks like this will leak. Need to release or autorelease.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1727655</commentid>
    <comment_count>9</comment_count>
      <attachid>419781</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-10 11:19:59 -0800</bug_when>
    <thetext>Comment on attachment 419781
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:49
&gt; +    [delegate waitForDidFinishNavigation];

This test doesn&apos;t verify that the string was loaded instead of the content of example.com.  I&apos;d load &lt;body onload=&apos;alert(window.location)&apos;/&gt; and use _test_waitForAlert to make sure things are as you expect.

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:65
&gt; +    [delegate waitForDidFinishNavigation];

ditto

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewLoadAPIs.mm:79
&gt; +    EXPECT_WK_STREQ(webView.get()._resourceDirectoryURL.path, file.URLByDeletingLastPathComponent.path);

You may as well check [webView URL] also.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419434</attachid>
            <date>2021-02-05 10:54:08 -0800</date>
            <delta_ts>2021-02-09 16:09:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221430-20210205105407.patch</filename>
            <type>text/plain</type>
            <size>15268</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyMzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZjM2U5NWNhMmQyNDU4YmM4
Y2JmMmM4ZTY3OTg3YmJjYmQ4NDI5MTAuLjU4NTQ5MTVjMjU0OTllNzYyZTNlMzkzNzRmZWYyN2Iz
MWJmNjQzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMDItMDUgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3JlYXRlIHN0dWIgbWV0aG9k
cyB0byBzdXBwb3J0IGZpbmVyLWdyYWluZWQgY29udHJvbCBvdmVyIGxvYWRpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTQzMAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzM5OTk1NDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ3JlYXRlIHRocmVlIG5ldyBXZWJLaXQgQ29jb2EgbWV0aG9kcyB0
aGF0IGFjY2VwdCBOU1VSTFJlcXVlc3QsIHJhdGhlciB0aGFuIFVSTC4gVGhpcyBhbGxvd3MKKyAg
ICAgICAgdXMgdG8gcGFzcyBhZGRpdGlvbmFsIGhpbnRzIHRvIHRoZSBuZXR3b3JraW5nIHN1YnN5
c3RlbS4KKworICAgICAgICBUZXN0ZWQgd2l0aCBuZXcgQVBJIFRlc3RzLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBf
bG9hZFNpbXVsYXRlZFJlcXVlc3Q6d2l0aFJlc3BvbnNlOnVzaW5nUmVzcG9uc2VEYXRhOl0pOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgX2xvYWRTaW11bGF0ZWRSZXF1ZXN0OnVzaW5nUmVzcG9uc2VI
VE1MU3RyaW5nOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2xvYWRGaWxlUmVxdWVzdDphbGxv
d2luZ1JlYWRBY2Nlc3NUb1VSTDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaDoKKwogMjAyMS0wMi0wMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxh
bkBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBSZW1vdmUgYWNjZXNzIHRvIGNvbS5hcHBs
ZS5jdm1zU2VydgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KaW5kZXggNzdmOTlhNzQzZTFlNDdkMjJjYzE0ZmFiZTBiZTEwOGIwNDJjOGY5NC4uZmJh
OGVkNmU4NGJiMTVkMDMxY2Q4ZWRiNzhkNDY5MTNkMWExYzAzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0yMDk1LDYgKzIwOTUsMzIg
QEAgc3RhdGljIFJldGFpblB0cjxOU0FycmF5PiB3a1RleHRNYW5pcHVsYXRpb25FcnJvcnMoTlNB
cnJheTxfV0tUZXh0TWFuaXB1bGF0aW9uSXQKICAgICByZXR1cm4gd3JhcHBlcihfcGFnZS0+bG9h
ZFJlcXVlc3QocmVxdWVzdCwgcG9saWN5KSk7CiB9CiAKKy0gKFdLTmF2aWdhdGlvbiAqKV9sb2Fk
U2ltdWxhdGVkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCB3aXRoUmVzcG9uc2U6KE5T
VVJMUmVzcG9uc2UgKilyZXNwb25zZSB1c2luZ1Jlc3BvbnNlRGF0YTooTlNEYXRhICopZGF0YQor
eworICAgIHJldHVybiB3cmFwcGVyKF9wYWdlLT5sb2FkRGF0YSh7IHN0YXRpY19jYXN0PGNvbnN0
IHVpbnQ4X3QqPihkYXRhLmJ5dGVzKSwgZGF0YS5sZW5ndGggfSwgcmVzcG9uc2UuTUlNRVR5cGUs
IHJlc3BvbnNlLnRleHRFbmNvZGluZ05hbWUsIHJlcXVlc3QuVVJMLmFic29sdXRlU3RyaW5nKSk7
Cit9CisKKy0gKFdLTmF2aWdhdGlvbiAqKV9sb2FkU2ltdWxhdGVkUmVxdWVzdDooTlNVUkxSZXF1
ZXN0ICopcmVxdWVzdCB1c2luZ1Jlc3BvbnNlSFRNTFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcK
K3sKKyAgICBOU0RhdGEgKmRhdGEgPSBbc3RyaW5nIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0
cmluZ0VuY29kaW5nXTsKKyAgICBOU1VSTFJlc3BvbnNlICpyZXNwb25zZSA9IFtbTlNVUkxSZXNw
b25zZSBhbGxvY10gaW5pdFdpdGhVUkw6cmVxdWVzdC5VUkwgTUlNRVR5cGU6QCJ0ZXh0L2h0bWwi
IGV4cGVjdGVkQ29udGVudExlbmd0aDpzdHJpbmcubGVuZ3RoIHRleHRFbmNvZGluZ05hbWU6QCJV
VEYtOCJdOworCisgICAgcmV0dXJuIFtzZWxmIF9sb2FkU2ltdWxhdGVkUmVxdWVzdDpyZXF1ZXN0
IHdpdGhSZXNwb25zZTpyZXNwb25zZSB1c2luZ1Jlc3BvbnNlRGF0YTpkYXRhXTsKK30KKworLSAo
V0tOYXZpZ2F0aW9uICopX2xvYWRGaWxlUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBh
bGxvd2luZ1JlYWRBY2Nlc3NUb1VSTDooTlNVUkwgKilyZWFkQWNjZXNzVVJMCit7CisgICAgYXV0
byBVUkwgPSByZXF1ZXN0LlVSTDsKKworICAgIGlmICghW1VSTCBpc0ZpbGVVUkxdKQorICAgICAg
ICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAi
JUAgaXMgbm90IGEgZmlsZSBVUkwiLCBVUkxdOworCisgICAgaWYgKCFbcmVhZEFjY2Vzc1VSTCBp
c0ZpbGVVUkxdKQorICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1lbnRF
eGNlcHRpb24gZm9ybWF0OkAiJUAgaXMgbm90IGEgZmlsZSBVUkwiLCByZWFkQWNjZXNzVVJMXTsK
KworICAgIHJldHVybiB3cmFwcGVyKF9wYWdlLT5sb2FkRmlsZShVUkwuYWJzb2x1dGVTdHJpbmcs
IHJlYWRBY2Nlc3NVUkwuYWJzb2x1dGVTdHJpbmcpKTsKK30KKwogLSAoTlNBcnJheSAqKV9jZXJ0
aWZpY2F0ZUNoYWluCiB7CiAgICAgaWYgKFdlYktpdDo6V2ViRnJhbWVQcm94eSogbWFpbkZyYW1l
ID0gX3BhZ2UtPm1haW5GcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggZjU5ZmU4MDc5ZTFiZTU0NDdiNDcw
ZDc0MGQ1MDY5ODg0ZTg4NmJkYy4uMzI1NzE5Y2ZhZDRkNDY0MjgyY2QwNmEyNmI5NzM3MGQ0OWU5
NjdiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3UHJpdmF0ZS5oCkBAIC0zODcsNiArMzg3LDM5IEBAIGZvciB0aGlzIHByb3BlcnR5Lgog
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0NvbG9yICpfcGFnZUV4dGVuZGVkQmFj
a2dyb3VuZENvbG9yOwogI2VuZGlmCiAKKy8qISBAYWJzdHJhY3QgU2V0cyB0aGUgd2VicGFnZSBj
b250ZW50cyBmcm9tIHRoZSBwYXNzZWQgZGF0YSBhcyBpZiBpdCB3YXMgdGhlCisgcmVzcG9uc2Ug
dG8gdGhlIHN1cHBsaWVkIHJlcXVlc3QuIFRoZSByZXF1ZXN0IGlzIG5ldmVyIGFjdHVhbGx5IHNl
bnQgdG8gdGhlCisgc3VwcGxpZWQgVVJMLCB0aG91Z2ggbG9hZHMgb2YgcmVzb3VyY2VzIGRlZmlu
ZWQgaW4gdGhlIE5TRGF0YSBvYmplY3Qgd291bGQKKyBiZSBwZXJmb3JtZWQuCisgQHBhcmFtIHJl
cXVlc3QgVGhlIHJlcXVlc3Qgc3BlY2lmeWluZyB0aGUgYmFzZSBVUkwgYW5kIG90aGVyIGxvYWRp
bmcgZGV0YWlscworIHRvIGJlIHVzZWQgd2hpbGUgaW50ZXJwcmV0aW5nIHRoZSBzdXBwbGllZCBk
YXRhIG9iamVjdC4KKyBAcGFyYW0gcmVzcG9uc2UgQSByZXNwb25zZSB0aGF0IGlzIHVzZWQgdG8g
aW50ZXJwcmV0IHRoZSBzdXBwbGllZCBkYXRhIG9iamVjdC4KKyBAcGFyYW0gZGF0YSBUaGUgZGF0
YSB0byB1c2UgYXMgdGhlIGNvbnRlbnRzIG9mIHRoZSB3ZWJwYWdlLgorIEByZXN1bHQgQSBuZXcg
bmF2aWdhdGlvbi4KKyovCistIChXS05hdmlnYXRpb24gKilfbG9hZFNpbXVsYXRlZFJlcXVlc3Q6
KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qgd2l0aFJlc3BvbnNlOihOU1VSTFJlc3BvbnNlICopcmVz
cG9uc2UgdXNpbmdSZXNwb25zZURhdGE6KE5TRGF0YSAqKWRhdGEgIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qISBAYWJzdHJhY3QgTmF2
aWdhdGVzIHRvIHRoZSByZXF1ZXN0ZWQgZmlsZSBVUkwgb24gdGhlIGZpbGVzeXN0ZW0uCisgQHBh
cmFtIHJlcXVlc3QgVGhlIHJlcXVlc3Qgc3BlY2lmeWluZyB0aGUgZmlsZSBVUkwgdG8gd2hpY2gg
dG8gbmF2aWdhdGUuCisgQHBhcmFtIHJlYWRBY2Nlc3NVUkwgVGhlIFVSTCB0byBhbGxvdyByZWFk
IGFjY2VzcyB0by4KKyBAZGlzY3Vzc2lvbiBJZiByZWFkQWNjZXNzVVJMIHJlZmVyZW5jZXMgYSBz
aW5nbGUgZmlsZSwgb25seSB0aGF0IGZpbGUgbWF5IGJlCisgbG9hZGVkIGJ5IFdlYktpdC4KKyBJ
ZiByZWFkQWNjZXNzVVJMIHJlZmVyZW5jZXMgYSBkaXJlY3RvcnksIGZpbGVzIGluc2lkZSB0aGF0
IGZpbGUgbWF5IGJlIGxvYWRlZCBieSBXZWJLaXQuCisgQHJlc3VsdCBBIG5ldyBuYXZpZ2F0aW9u
IGZvciB0aGUgZ2l2ZW4gZmlsZSBVUkwuCisqLworLSAoV0tOYXZpZ2F0aW9uICopX2xvYWRGaWxl
UmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCBhbGxvd2luZ1JlYWRBY2Nlc3NUb1VSTDoo
TlNVUkwgKilyZWFkQWNjZXNzVVJMIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CisKKy8qISBAYWJzdHJhY3QgU2V0cyB0aGUgd2VicGFnZSBjb250
ZW50cyBmcm9tIHRoZSBwYXNzZWQgSFRNTCBzdHJpbmcgYXMgaWYgaXQgd2FzCisgdGhlIHJlc3Bv
bnNlIHRvIHRoZSBzdXBwbGllZCByZXF1ZXN0LiBUaGUgcmVxdWVzdCBpcyBuZXZlciBhY3R1YWxs
eSBzZW50IHRvIHRoZQorIHN1cHBsaWVkIFVSTCwgdGhvdWdoIGxvYWRzIG9mIHJlc291cmNlcyBk
ZWZpbmVkIGluIHRoZSBIVE1MIHN0cmluZyB3b3VsZCBiZQorIHBlcmZvcm1lZC4KKyBAcGFyYW0g
cmVxdWVzdCBUaGUgcmVxdWVzdCBzcGVjaWZ5aW5nIHRoZSBiYXNlIFVSTCBhbmQgb3RoZXIgbG9h
ZGluZyBkZXRhaWxzCisgdG8gYmUgdXNlZCB3aGlsZSBpbnRlcnByZXRpbmcgdGhlIHN1cHBsaWVk
IGRhdGEgb2JqZWN0LgorIEBwYXJhbSBzdHJpbmcgVGhlIGRhdGEgdG8gdXNlIGFzIHRoZSBjb250
ZW50cyBvZiB0aGUgd2VicGFnZS4KKyBAcmVzdWx0IEEgbmV3IG5hdmlnYXRpb24uCisqLworLSAo
V0tOYXZpZ2F0aW9uICopX2xvYWRTaW11bGF0ZWRSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1
ZXN0IHVzaW5nUmVzcG9uc2VIVE1MU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBXS19BUElfQVZB
SUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBAZW5kCiAKICNp
ZiBUQVJHRVRfT1NfSVBIT05FCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNzE5NzBjNDk0NWVmZDYwY2RlYTk5NWJjMWM4N2E1ZjY1MTFiMDQwYS4u
NTRjNjU4ZGVmZGZiOTMxM2E2NGJlZWEwOTJjMGExMWFmMTk3OGM4OSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTAyLTA1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENy
ZWF0ZSBzdHViIG1ldGhvZHMgdG8gc3VwcG9ydCBmaW5lci1ncmFpbmVkIGNvbnRyb2wgb3ZlciBs
b2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjE0MzAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczOTk5NTQ3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdMb2FkQVBJcy5tbTogQWRkZWQuCisgICAgICAg
IChURVNUKToKKwogMjAyMS0wMi0wMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPU10gZGVsYXkgYCtbQktTTW91c2VQb2ludGVyU2VydmljZSBzaGFyZWRJ
bnN0YW5jZV1gIHNvIHRoYXQgaXQgZG9lc24ndCBpbXBhY3QgbGF1bmNoIHBlcmYKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNWM1OTdhNzFkMmViMzg3ODYwN2RlMmFmZjNiZDJjODE3MzY4MzM2
Yi4uMzRhYThhZjdiNjI0YTc3ZmI0MTMwZmM2ZDBhZTQ5OWUwZjlkYmU1ZCAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTUzNiw2ICs1MzYsNyBAQAogCQk3QTA1MDk0MTFGQjlGMDY0MDBCMzNG
QjggLyogSlNPTlZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdBMDUwOTQwMUZCOUYwNDQwMEIzM0ZCOCAvKiBKU09OVmFsdWUuY3BwICovOyB9
OwogCQk3QTE0NThGQzFBRDVDMDcwMDBFMDY3NzIgLyogbW91c2UtYnV0dG9uLWxpc3RlbmVyLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0ExNDU4RkIxQUQ1QzAzNTAwRTA2NzcyIC8qIG1vdXNlLWJ1dHRvbi1saXN0ZW5lci5odG1sICov
OyB9OwogCQk3QTMyRDc0QTFGMDIxNTE1MDAxNjJDNDQgLyogRmlsZU1vbml0b3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzMkQ3NDkxRjAyMTUx
NTAwMTYyQzQ0IC8qIEZpbGVNb25pdG9yLmNwcCAqLzsgfTsKKwkJN0E0MkFCRDcyNUNDRDBGNTAw
OTgwQkNBIC8qIFdLV2ViVmlld0xvYWRBUElzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0E0MkFCRDYyNUNDRDBGNTAwOTgwQkNBIC8qIFdLV2ViVmll
d0xvYWRBUElzLm1tICovOyB9OwogCQk3QTY2QkRCODFFQUYxOEQ1MDBDQ0M5MjQgLyogc2V0LWxv
bmctdGl0bGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QTY2QkRCNzFFQUYxNTAxMDBDQ0M5MjQgLyogc2V0LWxvbmctdGl0bGUuaHRt
bCAqLzsgfTsKIAkJN0E2QTJDNzAxRENDRkE4QzAwQzBEMDg1IC8qIExvY2FsU3RvcmFnZVF1aXJr
VGVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdB
NkEyQzZGMURDQ0Y4N0IwMEMwRDA4NSAvKiBMb2NhbFN0b3JhZ2VRdWlya1Rlc3QubW0gKi87IH07
CiAJCTdBNkEyQzcyMURDQ0ZCNTIwMEMwRDA4NSAvKiBMb2NhbFN0b3JhZ2VRdWlya0VuYWJsZWQu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QTZBMkM3MTFEQ0NGQjAyMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtFbmFibGVkLmh0
bWwgKi87IH07CkBAIC0yMzI5LDYgKzIzMzAsNyBAQAogCQk3QTE0NThGQjFBRDVDMDM1MDBFMDY3
NzIgLyogbW91c2UtYnV0dG9uLWxpc3RlbmVyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBh
dGggPSAibW91c2UtYnV0dG9uLWxpc3RlbmVyLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3QTMyRDc0OTFGMDIxNTE1MDAxNjJDNDQgLyogRmlsZU1vbml0b3IuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRmlsZU1vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QTM4RDdFNTFDNzUyRDVGMDA0RjE1N0QgLyogSGFzaENvdW50ZWRTZXQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGFzaENvdW50ZWRTZXQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QTQyQUJENjI1Q0NEMEY1MDA5ODBCQ0EgLyogV0tX
ZWJWaWV3TG9hZEFQSXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXS1dlYlZpZXdMb2FkQVBJcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0E1
NjIzMTAxQUQ1QUYzRTAwOTZCOTIwIC8qIE1lbnVUeXBlc0Zvck1vdXNlRXZlbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbnVUeXBlc0Zvck1vdXNlRXZlbnRz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0E2NkJEQjcxRUFGMTUwMTAwQ0ND
OTI0IC8qIHNldC1sb25nLXRpdGxlLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAi
c2V0LWxvbmctdGl0bGUuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBNkEy
QzZGMURDQ0Y4N0IwMEMwRDA4NSAvKiBMb2NhbFN0b3JhZ2VRdWlya1Rlc3QubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2NhbFN0b3JhZ2VRdWlya1Rlc3QubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNTAyLDYgKzM1MDQsNyBAQAogCQkJCUNF
NDQ5RTEwMjFBRTBGNzIwMEU3QURBMSAvKiBXS1dlYlZpZXdGaW5kU3RyaW5nLm1tICovLAogCQkJ
CUY0MTA2QzY4MjFBQ0JGODQwMDRCODlBMSAvKiBXS1dlYlZpZXdGaXJzdFJlc3BvbmRlclRlc3Rz
Lm1tICovLAogCQkJCUQzQkU1RTM0MUU0Q0U4NUUwMEZENTYzQSAvKiBXS1dlYlZpZXdHZXRDb250
ZW50cy5tbSAqLywKKwkJCQk3QTQyQUJENjI1Q0NEMEY1MDA5ODBCQ0EgLyogV0tXZWJWaWV3TG9h
ZEFQSXMubW0gKi8sCiAJCQkJMkQwMUQwNkQyMzIxOEZFRTAwMzlBQTNBIC8qIFdLV2ViVmlld1By
aW50Rm9ybWF0dGVyLm1tICovLAogCQkJCTM3QTlEQkU3MjEzQjRDOTMwMEQyNjFBMiAvKiBXS1dl
YlZpZXdTZXJ2ZXJUcnVzdEtWQy5tbSAqLywKIAkJCQk5M0Y1NkRBODFFNUY5MTgxMDAzRURFODQg
LyogV0tXZWJWaWV3U25hcHNob3QubW0gKi8sCkBAIC01NDIxLDYgKzU0MjQsNyBAQAogCQkJCUMx
MDRCQzFGMjU0NzIzNzEwMEMwNzhDOSAvKiBPdmVycmlkZUFwcGxlTGFuZ3VhZ2VzUHJlZmVyZW5j
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNFQkNBMTJGMUUzQTY2MDEwMEM3MzI5MyAvKiBPdmVy
cmlkZUNvbnRlbnRTZWN1cml0eVBvbGljeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEQTI1ODZG
MjI1QzY3REMwMEI0NUMxQyAvKiBPdmVycmlkZVZpZXdwb3J0QXJndW1lbnRzLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJOTUzQUJCMzUyNUMwRDY4MjAwNEM4QjczIC8qIFBhZ2VFeHRlbmRlZEJhY2tn
cm91bmRDb2xvci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0I0REE5MUM4M0FFNzMwMENDNjkx
OCAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMDcxQTQxMUFFNjAw
NDQ3QzRDIC8qIFBhZ2VMb2FkQmFzaWMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMDgx
QTQxMUFFNjAwNDQ3QzRDIC8qIFBhZ2VMb2FkRGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlRm9y
RnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC01NDY0LDcgKzU0NjgsNiBAQAogCQkJCTUxOEMx
MTUzMjA1QjA1MDQwMDFGRjRBRSAvKiBQcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUZFQzJBODU2MjRDRUI2NUYwMEFEQkMzNSAvKiBQcm9wZXJ0eVNsb3QuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0UwQzExRDBBNjUyRjAwRkVCQ0YzIC8qIFByb3Zpc2lv
bmFsVVJMTm90Q2hhbmdlLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJOTUzQUJCMzUyNUMwRDY4MjAw
NEM4QjczIC8qIFBhZ2VFeHRlbmRlZEJhY2tncm91bmRDb2xvci5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTVDRkFDRjY1MjI2RkQyREMwMDU2QzdEMCAvKiBQcm94eS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTA0MUExRTM0MjE2RkZEQkMwMDc4OUUwQSAvKiBQdWJsaWNTdWZmaXguY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0M4M0UwQzIxRDBBNjUzNTAwRkVCQ0YzIC8qIFF1aWNrTG9vay5tbSBpbiBT
b3VyY2VzICovLApAQCAtNTY4NCw2ICs1Njg3LDcgQEAKIAkJCQlDRTQ0OUUxMTIxQUUwRjcyMDBF
N0FEQTEgLyogV0tXZWJWaWV3RmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0MTA2
QzY5MjFBQ0JGODQwMDRCODlBMSAvKiBXS1dlYlZpZXdGaXJzdFJlc3BvbmRlclRlc3RzLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRDM0RTA4NzYxRTRFNDJFMTAwNUZGMTRBIC8qIFdLV2ViVmlld0dl
dENvbnRlbnRzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJN0E0MkFCRDcyNUNDRDBGNTAwOTgwQkNB
IC8qIFdLV2ViVmlld0xvYWRBUElzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjRGQTkxODExRTYx
ODQ5QjAwN0I4QzFEIC8qIFdLV2ViVmlld01hY0VkaXRpbmdUZXN0cy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTFDQUNBREExMjMwNjIwQUUwMDA3RDU0QyAvKiBXS1dlYlZpZXdPcGFxdWUubW0gaW4g
U291cmNlcyAqLywKIAkJCQlDRDI3QTFDMTIzQzY2MUVEMDA2RTExREQgLyogV0tXZWJWaWV3UGF1
c2VQbGF5aW5nQXVkaW9UZXN0cy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdMb2FkQVBJcy5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3TG9hZEFQSXMubW0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTE4YzI5MjA0N2I2ZjYxY2VjYjVlMmM4ZmNlODA0NzlkMjAwM2U5NgotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tX
ZWJWaWV3TG9hZEFQSXMubW0KQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQg
ImNvbmZpZy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaW1wb3J0ICJQ
bGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCAiVGVzdE5hdmln
YXRpb25EZWxlZ2F0ZS5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5o
PgorCitzdGF0aWMgTlNVUkwgKmV4YW1wbGVVUkwgPSBbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0
dHBzOi8vZXhhbXBsZS5jb20iXTsKK3N0YXRpYyBOU1N0cmluZyAqaHRtbFN0cmluZyA9IEAiPGh0
bWw+PGJvZHk+PGgxPkhlbGxvLCB3b3JsZCE8L2gxPjwvYm9keT48L2h0bWw+IjsKKworVEVTVChX
S1dlYlZpZXcsIExvYWRTaW11bGF0ZWRSZXF1ZXN0VXNpbmdSZXNwb25zZUhUTUxTdHJpbmcpCit7
CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgYXV0byBkZWxlZ2F0ZSA9
IGFkb3B0TlMoW1tUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dl
YlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIE5TVVJM
UmVxdWVzdCAqbG9hZFJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOmV4YW1w
bGVVUkxdOworCisgICAgW3dlYlZpZXcgX2xvYWRTaW11bGF0ZWRSZXF1ZXN0OmxvYWRSZXF1ZXN0
IHVzaW5nUmVzcG9uc2VIVE1MU3RyaW5nOmh0bWxTdHJpbmddOworICAgIFtkZWxlZ2F0ZSB3YWl0
Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07Cit9CisKK1RFU1QoV0tXZWJWaWV3LCBMb2FkU2ltdWxh
dGVkUmVxdWVzdFVzaW5nUmVzcG9uc2VEYXRhKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAs
IDYwMCldKTsKKworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0
ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBOU1VSTFJlcXVlc3QgKmxvYWRSZXF1ZXN0ID0gW05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpleGFtcGxlVVJMXTsKKworICAgIE5TRGF0YSAqZGF0
YSA9IFtodG1sU3RyaW5nIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXTsK
KyAgICBhdXRvIHJlc3BvbnNlID0gYWRvcHROUyhbW05TVVJMUmVzcG9uc2UgYWxsb2NdIGluaXRX
aXRoVVJMOmV4YW1wbGVVUkwgTUlNRVR5cGU6QCJ0ZXh0L0hUTUwiIGV4cGVjdGVkQ29udGVudExl
bmd0aDpbZGF0YSBsZW5ndGhdIHRleHRFbmNvZGluZ05hbWU6QCJVVEYtOCJdKTsKKworICAgIFt3
ZWJWaWV3IF9sb2FkU2ltdWxhdGVkUmVxdWVzdDpsb2FkUmVxdWVzdCB3aXRoUmVzcG9uc2U6cmVz
cG9uc2UuZ2V0KCkgdXNpbmdSZXNwb25zZURhdGE6ZGF0YV07CisgICAgW2RlbGVnYXRlIHdhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKK30KKworVEVTVChXS1dlYlZpZXcsIExvYWRGaWxlUmVx
dWVzdCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBp
bml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7CisKKyAgICBhdXRvIGRl
bGVnYXRlID0gYWRvcHROUyhbW1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsK
KyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOworCisg
ICAgTlNVUkwgKmZpbGUgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAi
c2ltcGxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQ
SS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0
IHJlcXVlc3RXaXRoVVJMOmZpbGVdOworICAgIFt3ZWJWaWV3IF9sb2FkRmlsZVJlcXVlc3Q6cmVx
dWVzdCBhbGxvd2luZ1JlYWRBY2Nlc3NUb1VSTDpmaWxlLlVSTEJ5RGVsZXRpbmdMYXN0UGF0aENv
bXBvbmVudF07CisgICAgW2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKyAg
ICBFWFBFQ1RfV0tfU1RSRVEod2ViVmlldy5nZXQoKS5fcmVzb3VyY2VEaXJlY3RvcnlVUkwucGF0
aCwgZmlsZS5VUkxCeURlbGV0aW5nTGFzdFBhdGhDb21wb25lbnQucGF0aCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419781</attachid>
            <date>2021-02-09 16:09:29 -0800</date>
            <delta_ts>2021-02-10 07:59:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221430-20210209160928.patch</filename>
            <type>text/plain</type>
            <size>14170</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5ZmI2YTRjN2ZlZjkxNzAz
MjY3YmE3YjYxOWY3Njg2NjU2NDVkYTIuLmE1NzkyZmUxNmU3NGU5NGVjNmMwNDJmOWMzMjhmNWE5
ZjJkMjBkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMDItMDkgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQ3JlYXRlIHN0dWIgbWV0aG9k
cyB0byBzdXBwb3J0IGZpbmVyLWdyYWluZWQgY29udHJvbCBvdmVyIGxvYWRpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTQzMAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzM5OTk1NDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ3JlYXRlIHRocmVlIG5ldyBXZWJLaXQgQ29jb2EgbWV0aG9kcyB0
aGF0IGFjY2VwdCBOU1VSTFJlcXVlc3QsIHJhdGhlciB0aGFuIFVSTC4gVGhpcyBhbGxvd3MKKyAg
ICAgICAgdXMgdG8gcGFzcyBhZGRpdGlvbmFsIGhpbnRzIHRvIHRoZSBuZXR3b3JraW5nIHN1YnN5
c3RlbS4KKworICAgICAgICBUZXN0ZWQgd2l0aCBuZXcgQVBJIFRlc3RzLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBs
b2FkU2ltdWxhdGVkUmVxdWVzdDp3aXRoUmVzcG9uc2U6cmVzcG9uc2VEYXRhOl0pOgorICAgICAg
ICAoLVtXS1dlYlZpZXcgbG9hZFNpbXVsYXRlZFJlcXVlc3Q6d2l0aFJlc3BvbnNlSFRNTFN0cmlu
ZzpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGxvYWRGaWxlUmVxdWVzdDphbGxvd2luZ1JlYWRB
Y2Nlc3NUb1VSTDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGUuaDoKKwogMjAyMS0wMi0wOSAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxl
LmNvbT4KIAogICAgICAgICBbbWFjT1NdIEFkZCBpbnRlcm5hbCBwcmVmZXJlbmNlIHRvIGNvbnRy
b2wgaG93IEFWT3V0cHV0Q29udGV4dCBpcyBhbGxvY2F0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGQ5NTMzNThlN2MxODczMDczY2Qy
YmRlMDBlMDI1YTgyZDRmODBjZGEuLmI0ODUxYTc4MzRhM2QwNzBhNTBjNmJkNTMzYzdkZDJhODBm
M2EzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtMjEwMSw2ICsyMTAxLDMyIEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gd2tU
ZXh0TWFuaXB1bGF0aW9uRXJyb3JzKE5TQXJyYXk8X1dLVGV4dE1hbmlwdWxhdGlvbkl0CiAgICAg
cmV0dXJuIHdyYXBwZXIoX3BhZ2UtPmxvYWRSZXF1ZXN0KHJlcXVlc3QsIHBvbGljeSkpOwogfQog
CistIChXS05hdmlnYXRpb24gKilsb2FkU2ltdWxhdGVkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICop
cmVxdWVzdCB3aXRoUmVzcG9uc2U6KE5TVVJMUmVzcG9uc2UgKilyZXNwb25zZSByZXNwb25zZURh
dGE6KE5TRGF0YSAqKWRhdGEKK3sKKyAgICByZXR1cm4gd3JhcHBlcihfcGFnZS0+bG9hZERhdGEo
eyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oZGF0YS5ieXRlcyksIGRhdGEubGVuZ3RoIH0s
IHJlc3BvbnNlLk1JTUVUeXBlLCByZXNwb25zZS50ZXh0RW5jb2RpbmdOYW1lLCByZXF1ZXN0LlVS
TC5hYnNvbHV0ZVN0cmluZykpOworfQorCistIChXS05hdmlnYXRpb24gKilsb2FkU2ltdWxhdGVk
UmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVxdWVzdCB3aXRoUmVzcG9uc2VIVE1MU3RyaW5nOihO
U1N0cmluZyAqKXN0cmluZworeworICAgIE5TRGF0YSAqZGF0YSA9IFtzdHJpbmcgZGF0YVVzaW5n
RW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddOworICAgIE5TVVJMUmVzcG9uc2UgKnJlc3Bv
bnNlID0gW1tOU1VSTFJlc3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDpyZXF1ZXN0LlVSTCBNSU1F
VHlwZTpAInRleHQvaHRtbCIgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOnN0cmluZy5sZW5ndGggdGV4
dEVuY29kaW5nTmFtZTpAIlVURi04Il07CisKKyAgICByZXR1cm4gW3NlbGYgbG9hZFNpbXVsYXRl
ZFJlcXVlc3Q6cmVxdWVzdCB3aXRoUmVzcG9uc2U6cmVzcG9uc2UgcmVzcG9uc2VEYXRhOmRhdGFd
OworfQorCistIChXS05hdmlnYXRpb24gKilsb2FkRmlsZVJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAq
KXJlcXVlc3QgYWxsb3dpbmdSZWFkQWNjZXNzVG9VUkw6KE5TVVJMICopcmVhZEFjY2Vzc1VSTAor
eworICAgIGF1dG8gVVJMID0gcmVxdWVzdC5VUkw7CisKKyAgICBpZiAoIVtVUkwgaXNGaWxlVVJM
XSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9u
IGZvcm1hdDpAIiVAIGlzIG5vdCBhIGZpbGUgVVJMIiwgVVJMXTsKKworICAgIGlmICghW3JlYWRB
Y2Nlc3NVUkwgaXNGaWxlVVJMXSkKKyAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxp
ZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIiVAIGlzIG5vdCBhIGZpbGUgVVJMIiwgcmVhZEFj
Y2Vzc1VSTF07CisKKyAgICByZXR1cm4gd3JhcHBlcihfcGFnZS0+bG9hZEZpbGUoVVJMLmFic29s
dXRlU3RyaW5nLCByZWFkQWNjZXNzVVJMLmFic29sdXRlU3RyaW5nKSk7Cit9CisKIC0gKE5TQXJy
YXkgKilfY2VydGlmaWNhdGVDaGFpbgogewogICAgIGlmIChXZWJLaXQ6OldlYkZyYW1lUHJveHkq
IG1haW5GcmFtZSA9IF9wYWdlLT5tYWluRnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGEwMzQ1YmI3MThj
NTg5MGQ4ZTYwY2FiMGQ0ZTkyM2YwN2QzYmE1MzkuLmNjNjRlNDE1N2EyMDA1Njc3MjkyNDE5NzBi
N2ZlYmExMzVmMWI4MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMzg5LDYgKzM4OSwzOSBAQCBmb3IgdGhpcyBw
cm9wZXJ0eS4KIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNDb2xvciAqX3BhZ2VF
eHRlbmRlZEJhY2tncm91bmRDb2xvcjsKICNlbmRpZgogCisvKiEgQGFic3RyYWN0IFNldHMgdGhl
IHdlYnBhZ2UgY29udGVudHMgZnJvbSB0aGUgcGFzc2VkIGRhdGEgYXMgaWYgaXQgd2FzIHRoZQor
IHJlc3BvbnNlIHRvIHRoZSBzdXBwbGllZCByZXF1ZXN0LiBUaGUgcmVxdWVzdCBpcyBuZXZlciBh
Y3R1YWxseSBzZW50IHRvIHRoZQorIHN1cHBsaWVkIFVSTCwgdGhvdWdoIGxvYWRzIG9mIHJlc291
cmNlcyBkZWZpbmVkIGluIHRoZSBOU0RhdGEgb2JqZWN0IHdvdWxkCisgYmUgcGVyZm9ybWVkLgor
IEBwYXJhbSByZXF1ZXN0IFRoZSByZXF1ZXN0IHNwZWNpZnlpbmcgdGhlIGJhc2UgVVJMIGFuZCBv
dGhlciBsb2FkaW5nIGRldGFpbHMKKyB0byBiZSB1c2VkIHdoaWxlIGludGVycHJldGluZyB0aGUg
c3VwcGxpZWQgZGF0YSBvYmplY3QuCisgQHBhcmFtIHJlc3BvbnNlIEEgcmVzcG9uc2UgdGhhdCBp
cyB1c2VkIHRvIGludGVycHJldCB0aGUgc3VwcGxpZWQgZGF0YSBvYmplY3QuCisgQHBhcmFtIGRh
dGEgVGhlIGRhdGEgdG8gdXNlIGFzIHRoZSBjb250ZW50cyBvZiB0aGUgd2VicGFnZS4KKyBAcmVz
dWx0IEEgbmV3IG5hdmlnYXRpb24uCisqLworLSAoV0tOYXZpZ2F0aW9uICopbG9hZFNpbXVsYXRl
ZFJlcXVlc3Q6KE5TVVJMUmVxdWVzdCAqKXJlcXVlc3Qgd2l0aFJlc3BvbnNlOihOU1VSTFJlc3Bv
bnNlICopcmVzcG9uc2UgcmVzcG9uc2VEYXRhOihOU0RhdGEgKilkYXRhIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qISBAYWJzdHJhY3Qg
TmF2aWdhdGVzIHRvIHRoZSByZXF1ZXN0ZWQgZmlsZSBVUkwgb24gdGhlIGZpbGVzeXN0ZW0uCisg
QHBhcmFtIHJlcXVlc3QgVGhlIHJlcXVlc3Qgc3BlY2lmeWluZyB0aGUgZmlsZSBVUkwgdG8gd2hp
Y2ggdG8gbmF2aWdhdGUuCisgQHBhcmFtIHJlYWRBY2Nlc3NVUkwgVGhlIFVSTCB0byBhbGxvdyBy
ZWFkIGFjY2VzcyB0by4KKyBAZGlzY3Vzc2lvbiBJZiByZWFkQWNjZXNzVVJMIHJlZmVyZW5jZXMg
YSBzaW5nbGUgZmlsZSwgb25seSB0aGF0IGZpbGUgbWF5IGJlCisgbG9hZGVkIGJ5IFdlYktpdC4K
KyBJZiByZWFkQWNjZXNzVVJMIHJlZmVyZW5jZXMgYSBkaXJlY3RvcnksIGZpbGVzIGluc2lkZSB0
aGF0IGZpbGUgbWF5IGJlIGxvYWRlZCBieSBXZWJLaXQuCisgQHJlc3VsdCBBIG5ldyBuYXZpZ2F0
aW9uIGZvciB0aGUgZ2l2ZW4gZmlsZSBVUkwuCisqLworLSAoV0tOYXZpZ2F0aW9uICopbG9hZEZp
bGVSZXF1ZXN0OihOU1VSTFJlcXVlc3QgKilyZXF1ZXN0IGFsbG93aW5nUmVhZEFjY2Vzc1RvVVJM
OihOU1VSTCAqKXJlYWRBY2Nlc3NVUkwgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyohIEBhYnN0cmFjdCBTZXRzIHRoZSB3ZWJwYWdlIGNv
bnRlbnRzIGZyb20gdGhlIHBhc3NlZCBIVE1MIHN0cmluZyBhcyBpZiBpdCB3YXMKKyB0aGUgcmVz
cG9uc2UgdG8gdGhlIHN1cHBsaWVkIHJlcXVlc3QuIFRoZSByZXF1ZXN0IGlzIG5ldmVyIGFjdHVh
bGx5IHNlbnQgdG8gdGhlCisgc3VwcGxpZWQgVVJMLCB0aG91Z2ggbG9hZHMgb2YgcmVzb3VyY2Vz
IGRlZmluZWQgaW4gdGhlIEhUTUwgc3RyaW5nIHdvdWxkIGJlCisgcGVyZm9ybWVkLgorIEBwYXJh
bSByZXF1ZXN0IFRoZSByZXF1ZXN0IHNwZWNpZnlpbmcgdGhlIGJhc2UgVVJMIGFuZCBvdGhlciBs
b2FkaW5nIGRldGFpbHMKKyB0byBiZSB1c2VkIHdoaWxlIGludGVycHJldGluZyB0aGUgc3VwcGxp
ZWQgZGF0YSBvYmplY3QuCisgQHBhcmFtIHN0cmluZyBUaGUgZGF0YSB0byB1c2UgYXMgdGhlIGNv
bnRlbnRzIG9mIHRoZSB3ZWJwYWdlLgorIEByZXN1bHQgQSBuZXcgbmF2aWdhdGlvbi4KKyovCist
IChXS05hdmlnYXRpb24gKilsb2FkU2ltdWxhdGVkUmVxdWVzdDooTlNVUkxSZXF1ZXN0ICopcmVx
dWVzdCB3aXRoUmVzcG9uc2VIVE1MU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBXS19BUElfQVZB
SUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBAZW5kCiAKICNp
ZiBUQVJHRVRfT1NfSVBIT05FCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggMzVmYzc4OTNlYTZiYWE5OGY0YzEzNjM2MWI3MmM2NzZhNmEyMTkzYi4u
MmUxOTE4NTBhNDdlODllY2M2N2ZmNWQ4ZmJhNmMwM2U1YWZiNTViYSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIx
LTAyLTA5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENy
ZWF0ZSBzdHViIG1ldGhvZHMgdG8gc3VwcG9ydCBmaW5lci1ncmFpbmVkIGNvbnRyb2wgb3ZlciBs
b2FkaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjE0MzAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczOTk5NTQ3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdMb2FkQVBJcy5tbTogQWRkZWQuCisgICAgICAg
IChURVNUKToKKwogMjAyMS0wMi0wOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIFN5bnRoZXNpemUgcmFuZ2UgcmVzcG9uc2VzIGlmIG5lZWRl
ZCBpbiBXZWJDb3JlTlNVUkxTZXNzaW9uCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFkYWQx
YzY1MzRjZjY3ZDk4MzUxNmE3MWU3M2QwMzFmZGQwYzFjNzIuLjJkMmY5ZTYyNzY5MDZlNWY1NDBh
ZjQ5MTI4ODU2MzYzMjY1YjVjOWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MzksNiAr
NTM5LDcgQEAKIAkJN0EwNTA5NDExRkI5RjA2NDAwQjMzRkI4IC8qIEpTT05WYWx1ZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTA1MDk0MDFGQjlG
MDQ0MDBCMzNGQjggLyogSlNPTlZhbHVlLmNwcCAqLzsgfTsKIAkJN0ExNDU4RkMxQUQ1QzA3MDAw
RTA2NzcyIC8qIG1vdXNlLWJ1dHRvbi1saXN0ZW5lci5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMTQ1OEZCMUFENUMwMzUwMEUwNjc3
MiAvKiBtb3VzZS1idXR0b24tbGlzdGVuZXIuaHRtbCAqLzsgfTsKIAkJN0EzMkQ3NEExRjAyMTUx
NTAwMTYyQzQ0IC8qIEZpbGVNb25pdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdBMzJENzQ5MUYwMjE1MTUwMDE2MkM0NCAvKiBGaWxlTW9uaXRv
ci5jcHAgKi87IH07CisJCTdBNDJBQkQ3MjVDQ0QwRjUwMDk4MEJDQSAvKiBXS1dlYlZpZXdMb2Fk
QVBJcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdB
NDJBQkQ2MjVDQ0QwRjUwMDk4MEJDQSAvKiBXS1dlYlZpZXdMb2FkQVBJcy5tbSAqLzsgfTsKIAkJ
N0E2NkJEQjgxRUFGMThENTAwQ0NDOTI0IC8qIHNldC1sb25nLXRpdGxlLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E2NkJEQjcxRUFG
MTUwMTAwQ0NDOTI0IC8qIHNldC1sb25nLXRpdGxlLmh0bWwgKi87IH07CiAJCTdBNkEyQzcwMURD
Q0ZBOEMwMEMwRDA4NSAvKiBMb2NhbFN0b3JhZ2VRdWlya1Rlc3QubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTZBMkM2RjFEQ0NGODdCMDBDMEQwODUg
LyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tICovOyB9OwogCQk3QTZBMkM3MjFEQ0NGQjUyMDBD
MEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtFbmFibGVkLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E2QTJDNzExRENDRkIwMjAwQzBE
MDg1IC8qIExvY2FsU3RvcmFnZVF1aXJrRW5hYmxlZC5odG1sICovOyB9OwpAQCAtMjMzNiw2ICsy
MzM3LDcgQEAKIAkJN0ExNDU4RkIxQUQ1QzAzNTAwRTA2NzcyIC8qIG1vdXNlLWJ1dHRvbi1saXN0
ZW5lci5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm1vdXNlLWJ1dHRvbi1saXN0
ZW5lci5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0EzMkQ3NDkxRjAyMTUx
NTAwMTYyQzQ0IC8qIEZpbGVNb25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZpbGVNb25p
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0EzOEQ3RTUxQzc1MkQ1RjAw
NEYxNTdEIC8qIEhhc2hDb3VudGVkU2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEhhc2hDb3VudGVkU2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJN0E0MkFCRDYyNUNDRDBGNTAwOTgwQkNBIC8qIFdLV2ViVmlld0xvYWRBUElzLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJWaWV3TG9hZEFQSXMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBNTYyMzEwMUFENUFGM0UwMDk2QjkyMCAv
KiBNZW51VHlwZXNGb3JNb3VzZUV2ZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZW51VHlwZXNGb3JNb3VzZUV2ZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdBNjZCREI3MUVBRjE1MDEwMENDQzkyNCAvKiBzZXQtbG9uZy10aXRsZS5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gInNldC1sb25nLXRpdGxlLmh0bWwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTZBMkM2RjFEQ0NGODdCMDBDMEQwODUgLyog
TG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzUxMCw2ICszNTEyLDcgQEAKIAkJCQlDRTQ0OUUxMDIxQUUwRjcyMDBFN0FEQTEg
LyogV0tXZWJWaWV3RmluZFN0cmluZy5tbSAqLywKIAkJCQlGNDEwNkM2ODIxQUNCRjg0MDA0Qjg5
QTEgLyogV0tXZWJWaWV3Rmlyc3RSZXNwb25kZXJUZXN0cy5tbSAqLywKIAkJCQlEM0JFNUUzNDFF
NENFODVFMDBGRDU2M0EgLyogV0tXZWJWaWV3R2V0Q29udGVudHMubW0gKi8sCisJCQkJN0E0MkFC
RDYyNUNDRDBGNTAwOTgwQkNBIC8qIFdLV2ViVmlld0xvYWRBUElzLm1tICovLAogCQkJCTJEMDFE
MDZEMjMyMThGRUUwMDM5QUEzQSAvKiBXS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSAqLywKIAkJ
CQkzN0E5REJFNzIxM0I0QzkzMDBEMjYxQTIgLyogV0tXZWJWaWV3U2VydmVyVHJ1c3RLVkMubW0g
Ki8sCiAJCQkJOTNGNTZEQTgxRTVGOTE4MTAwM0VERTg0IC8qIFdLV2ViVmlld1NuYXBzaG90Lm1t
ICovLApAQCAtNTY5Niw2ICs1Njk5LDcgQEAKIAkJCQlDRTQ0OUUxMTIxQUUwRjcyMDBFN0FEQTEg
LyogV0tXZWJWaWV3RmluZFN0cmluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0MTA2QzY5MjFB
Q0JGODQwMDRCODlBMSAvKiBXS1dlYlZpZXdGaXJzdFJlc3BvbmRlclRlc3RzLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRDM0RTA4NzYxRTRFNDJFMTAwNUZGMTRBIC8qIFdLV2ViVmlld0dldENvbnRl
bnRzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJN0E0MkFCRDcyNUNDRDBGNTAwOTgwQkNBIC8qIFdL
V2ViVmlld0xvYWRBUElzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjRGQTkxODExRTYxODQ5QjAw
N0I4QzFEIC8qIFdLV2ViVmlld01hY0VkaXRpbmdUZXN0cy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTFDQUNBREExMjMwNjIwQUUwMDA3RDU0QyAvKiBXS1dlYlZpZXdPcGFxdWUubW0gaW4gU291cmNl
cyAqLywKIAkJCQlDRDI3QTFDMTIzQzY2MUVEMDA2RTExREQgLyogV0tXZWJWaWV3UGF1c2VQbGF5
aW5nQXVkaW9UZXN0cy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1dlYlZpZXdMb2FkQVBJcy5tbSBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3TG9hZEFQSXMubW0KbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjMzNTMzMGRhNjhlOTQ2OTJmYzcyMTRlNWUyNzQ3ZjRmZjRhZjNkNQotLS0gL2Rldi9u
dWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tXZWJWaWV3
TG9hZEFQSXMubW0KQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZp
Zy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCisjaW1wb3J0ICJQbGF0Zm9y
bVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdC5oIgorI2ltcG9ydCAiVGVzdE5hdmlnYXRpb25E
ZWxlZ2F0ZS5oIgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KKyNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgorCitz
dGF0aWMgTlNVUkwgKmV4YW1wbGVVUkwgPSBbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHBzOi8v
ZXhhbXBsZS5jb20iXTsKK3N0YXRpYyBOU1N0cmluZyAqaHRtbFN0cmluZyA9IEAiPGh0bWw+PGJv
ZHk+PGgxPkhlbGxvLCB3b3JsZCE8L2gxPjwvYm9keT48L2h0bWw+IjsKKworVEVTVChXS1dlYlZp
ZXcsIExvYWRTaW11bGF0ZWRSZXF1ZXN0VXNpbmdSZXNwb25zZUhUTUxTdHJpbmcpCit7CisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcg
c2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVz
dCAqbG9hZFJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOmV4YW1wbGVVUkxd
OworCisgICAgW3dlYlZpZXcgbG9hZFNpbXVsYXRlZFJlcXVlc3Q6bG9hZFJlcXVlc3Qgd2l0aFJl
c3BvbnNlSFRNTFN0cmluZzpodG1sU3RyaW5nXTsKKyAgICBbZGVsZWdhdGUgd2FpdEZvckRpZEZp
bmlzaE5hdmlnYXRpb25dOworfQorCitURVNUKFdLV2ViVmlldywgTG9hZFNpbXVsYXRlZFJlcXVl
c3RVc2luZ1Jlc3BvbnNlRGF0YSkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tX
ZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApXSk7
CisKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUg
YWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlldyBzZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdh
dGUuZ2V0KCldOworCisgICAgTlNVUkxSZXF1ZXN0ICpsb2FkUmVxdWVzdCA9IFtOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6ZXhhbXBsZVVSTF07CisKKyAgICBOU0RhdGEgKmRhdGEgPSBbaHRt
bFN0cmluZyBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ107CisgICAgYXV0
byByZXNwb25zZSA9IGFkb3B0TlMoW1tOU1VSTFJlc3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDpl
eGFtcGxlVVJMIE1JTUVUeXBlOkAidGV4dC9IVE1MIiBleHBlY3RlZENvbnRlbnRMZW5ndGg6W2Rh
dGEgbGVuZ3RoXSB0ZXh0RW5jb2RpbmdOYW1lOkAiVVRGLTgiXSk7CisKKyAgICBbd2ViVmlldyBs
b2FkU2ltdWxhdGVkUmVxdWVzdDpsb2FkUmVxdWVzdCB3aXRoUmVzcG9uc2U6cmVzcG9uc2UuZ2V0
KCkgcmVzcG9uc2VEYXRhOmRhdGFdOworICAgIFtkZWxlZ2F0ZSB3YWl0Rm9yRGlkRmluaXNoTmF2
aWdhdGlvbl07Cit9CisKK1RFU1QoV0tXZWJWaWV3LCBMb2FkRmlsZVJlcXVlc3QpCit7CisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKV0pOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0
TlMoW1tUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcg
c2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKKworICAgIE5TVVJMICpmaWxl
ID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZSIgd2l0aEV4
dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07
CisgICAgTlNVUkxSZXF1ZXN0ICpyZXF1ZXN0ID0gW05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVS
TDpmaWxlXTsKKyAgICBbd2ViVmlldyBsb2FkRmlsZVJlcXVlc3Q6cmVxdWVzdCBhbGxvd2luZ1Jl
YWRBY2Nlc3NUb1VSTDpmaWxlLlVSTEJ5RGVsZXRpbmdMYXN0UGF0aENvbXBvbmVudF07CisgICAg
W2RlbGVnYXRlIHdhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKyAgICBFWFBFQ1RfV0tfU1RS
RVEod2ViVmlldy5nZXQoKS5fcmVzb3VyY2VEaXJlY3RvcnlVUkwucGF0aCwgZmlsZS5VUkxCeURl
bGV0aW5nTGFzdFBhdGhDb21wb25lbnQucGF0aCk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>