<?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>89404</bug_id>
          
          <creation_ts>2012-06-18 17:12:22 -0700</creation_ts>
          <short_desc>REGRESSION(r120593): Caused failures in fast/forms/file/input-file-entries.html (Requested by atwilson on #webkit).</short_desc>
          <delta_ts>2012-06-18 17:50:30 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>88293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>atwilson</cc>
    
    <cc>kinuko</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>651891</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 17:12:22 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/120593 broke the build:
Caused failures in fast/forms/file/input-file-entries.html (Requested by atwilson on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651893</commentid>
    <comment_count>1</comment_count>
      <attachid>148205</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 17:13:15 -0700</bug_when>
    <thetext>Created attachment 148205
ROLLOUT of r120593

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651901</commentid>
    <comment_count>2</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2012-06-18 17:21:39 -0700</bug_when>
    <thetext>Note failed tests:



Tests the webkitEntries attribute of &lt;input type=&quot;file&quot;&gt;

On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.


* Testing testCases[0]
PASS droppedEntries.length is 1
Verifying entry (0/1):/UTF8.txt
PASS verifyingEntry.fullPath is &quot;/UTF8.txt&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is false
PASS returnedMetadata.size is 5
* Testing testCases[1]
PASS droppedEntries.length is 1
Verifying entry (0/1):/dir1
PASS verifyingEntry.fullPath is &quot;/dir1&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is true
FAIL returnedEntries.length should be 2. Was 3.
FAIL returnedEntries.length should be 0. Was 3.
* Testing testCases[2]
PASS droppedEntries.length is 3
Verifying entry (0/3):/apple.gif
PASS verifyingEntry.fullPath is &quot;/apple.gif&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is false
PASS returnedMetadata.size is 3340
Verifying entry (1/3):/UTF8.txt
PASS verifyingEntry.fullPath is &quot;/UTF8.txt&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is false
PASS returnedMetadata.size is 5
Verifying entry (2/3):/green.jpg
PASS verifyingEntry.fullPath is &quot;/green.jpg&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is false
PASS returnedMetadata.size is 764
* Testing testCases[3]
PASS droppedEntries.length is 2
Verifying entry (0/2):/dir1
PASS verifyingEntry.fullPath is &quot;/dir1&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is true
FAIL returnedEntries.length should be 2. Was 3.
FAIL returnedEntries.length should be 0. Was 3.
Verifying entry (1/2):/dir2
PASS verifyingEntry.fullPath is &quot;/dir2&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is true
FAIL returnedEntries.length should be 1. Was 2.
FAIL returnedEntries.length should be 1. Was 2.
* Testing testCases[4]
PASS droppedEntries.length is 4
Verifying entry (0/4):/dir1
PASS verifyingEntry.fullPath is &quot;/dir1&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is true
FAIL returnedEntries.length should be 2. Was 3.
FAIL returnedEntries.length should be 0. Was 3.
Verifying entry (1/4):/UTF8.txt
PASS verifyingEntry.fullPath is &quot;/UTF8.txt&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is false
PASS returnedMetadata.size is 5
Verifying entry (2/4):/test.txt
PASS verifyingEntry.fullPath is &quot;/test.txt&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is false
PASS returnedMetadata.size is 5
Verifying entry (3/4):/dir2
PASS verifyingEntry.fullPath is &quot;/dir2&quot;
PASS typeof verifyingEntry.isDirectory is &apos;boolean&apos;
PASS verifyingEntry.isDirectory is true
FAIL returnedEntries.length should be 1. Was 2.
FAIL returnedEntries.length should be 1. Was 2.
PASS successfullyParsed is true

TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651925</commentid>
    <comment_count>3</comment_count>
      <attachid>148205</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 17:50:22 -0700</bug_when>
    <thetext>Comment on attachment 148205
ROLLOUT of r120593

Clearing flags on attachment: 148205

Committed r120645: &lt;http://trac.webkit.org/changeset/120645&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651926</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 17:50:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148205</attachid>
            <date>2012-06-18 17:13:15 -0700</date>
            <delta_ts>2012-06-18 17:50:22 -0700</delta_ts>
            <desc>ROLLOUT of r120593</desc>
            <filename>bug-89404-20120619001806.patch</filename>
            <type>text/plain</type>
            <size>34801</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNjQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzkyNzNmODMxMmIxNjVm
NDMxYjBmZjc0YjU0MDZhMWU5NGY2NmE2YS4uOWRiOWEzZjY3YTMyMGIzM2ZiYzhhYTQ4NWQ1OGJm
M2UxNjQ4Y2UyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA2LTE4ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTIwNTkzLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjA1OTMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg5NDA0CisKKyAgICAgICAgQ2F1c2VkIGZhaWx1cmVzIGluIGZhc3QvZm9ybXMv
ZmlsZS9pbnB1dC1maWxlLWVudHJpZXMuaHRtbAorICAgICAgICAoUmVxdWVzdGVkIGJ5IGF0d2ls
c29uIG9uICN3ZWJraXQpLgorCisgICAgICAgICogTW9kdWxlcy9maWxlc3lzdGVtL0RPTUZpbGVT
eXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NRmlsZVN5c3RlbTo6Y3JlYXRlSXNvbGF0
ZWRGaWxlU3lzdGVtKToKKyAgICAgICAgKiBNb2R1bGVzL2ZpbGVzeXN0ZW0vSFRNTElucHV0RWxl
bWVudEZpbGVTeXN0ZW0uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvZmlsZXN5c3Rl
bS9IVE1MSW5wdXRFbGVtZW50RmlsZVN5c3RlbS5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVs
ZXMvZmlsZXN5c3RlbS9IVE1MSW5wdXRFbGVtZW50RmlsZVN5c3RlbS5pZGw6IFJlbW92ZWQuCisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGh0bWwvRmlsZUlucHV0VHlwZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlSW5wdXRUeXBlOjpyZWNlaXZlRHJvcHBlZEZpbGVzKToK
KyAgICAgICAgKiBodG1sL0ZpbGVJbnB1dFR5cGUuaDoKKyAgICAgICAgKEZpbGVJbnB1dFR5cGUp
OgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgICogaHRtbC9I
VE1MSW5wdXRFbGVtZW50Lmg6CisgICAgICAgIChIVE1MSW5wdXRFbGVtZW50KToKKyAgICAgICAg
KiBodG1sL0lucHV0VHlwZS5jcHA6CisgICAgICAgICogaHRtbC9JbnB1dFR5cGUuaDoKKyAgICAg
ICAgKElucHV0VHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RHJhZ0RhdGE6Om1vZGlmaWVyS2V5U3RhdGUpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuaDoKKyAgICAgICAgKERyYWdEYXRhKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9EcmFnRGF0YUNocm9taXVtLmNwcDoKKwogMjAx
Mi0wNi0xNCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gVXNlIFdlYkltYWdlTGF5ZXIgaW4gR3JhcGhpY3NMYXllckNocm9taXVtIGZv
ciBpbWFnZSBsYXllcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9ET01GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9ET01GaWxlU3lzdGVtLmNwcAppbmRleCA1MGI1MTg1OWRkMDIzNjkyM2Q0NDc0YWU3N2EzMjA1
MTE4N2Y2Y2U5Li42ZjYzN2IxZThjZjUyY2FhZmIyMWVmZjcxNWNhOGY0OTQzZmQ5ZjM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NRmlsZVN5c3RlbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTUZpbGVTeXN0ZW0u
Y3BwCkBAIC02NCwxMiArNjQsMTEgQEAgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtPiBET01GaWxl
U3lzdGVtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwKIAogUGFzc1Jl
ZlB0cjxET01GaWxlU3lzdGVtPiBET01GaWxlU3lzdGVtOjpjcmVhdGVJc29sYXRlZEZpbGVTeXN0
ZW0oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBmaWxlc3lz
dGVtSWQpCiB7Ci0gICAgaWYgKGZpbGVzeXN0ZW1JZC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVy
biAwOwotCiAgICAgU3RyaW5nQnVpbGRlciBmaWxlc3lzdGVtTmFtZTsKICAgICBmaWxlc3lzdGVt
TmFtZS5hcHBlbmQoY29udGV4dC0+c2VjdXJpdHlPcmlnaW4oKS0+ZGF0YWJhc2VJZGVudGlmaWVy
KCkpOwotICAgIGZpbGVzeXN0ZW1OYW1lLmFwcGVuZCgiOklzb2xhdGVkXyIpOworICAgIGZpbGVz
eXN0ZW1OYW1lLmFwcGVuZCgiOiIpOworICAgIGZpbGVzeXN0ZW1OYW1lLmFwcGVuZChpc29sYXRl
ZFBhdGhQcmVmaXgpOworICAgIGZpbGVzeXN0ZW1OYW1lLmFwcGVuZCgiXyIpOwogICAgIGZpbGVz
eXN0ZW1OYW1lLmFwcGVuZChmaWxlc3lzdGVtSWQpOwogCiAgICAgLy8gVGhlIHJvb3RVUkwgY3Jl
YXRlZCBoZXJlIGlzIGdvaW5nIHRvIGJlIGF0dGFjaGVkIHRvIGVhY2ggZmlsZXN5c3RlbSByZXF1
ZXN0IGFuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0hU
TUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmls
ZXN5c3RlbS9IVE1MSW5wdXRFbGVtZW50RmlsZVN5c3RlbS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGJiZGZiNzFjMjQ2NmJjZjBkYTMyNTg5ZWE0ZjcxZWM5M2I2MTk3NzIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9maWxlc3lzdGVtL0hUTUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICog
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQot
ICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
SFRNTElucHV0RWxlbWVudEZpbGVTeXN0ZW0uaCIKLQotI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkK
LQotI2luY2x1ZGUgIkRPTUZpbGVQYXRoLmgiCi0jaW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgot
I2luY2x1ZGUgIkRpcmVjdG9yeUVudHJ5LmgiCi0jaW5jbHVkZSAiRW50cnlBcnJheS5oIgotI2lu
Y2x1ZGUgIkZpbGVFbnRyeS5oIgotI2luY2x1ZGUgIkZpbGVMaXN0LmgiCi0jaW5jbHVkZSAiRmls
ZU1ldGFkYXRhLmgiCi0jaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgotI2luY2x1ZGUgIkhUTUxJbnB1
dEVsZW1lbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBzdGF0aWMKLVBhc3NSZWZQ
dHI8RW50cnlBcnJheT4gSFRNTElucHV0RWxlbWVudEZpbGVTeXN0ZW06OndlYmtpdEVudHJpZXMo
SFRNTElucHV0RWxlbWVudCogaW5wdXQsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpCi17Ci0gICAgUmVmUHRyPEVudHJ5QXJyYXk+IGFycmF5ID0gRW50cnlB
cnJheTo6Y3JlYXRlKCk7Ci0KLSAgICBSZWZQdHI8RE9NRmlsZVN5c3RlbT4gZmlsZXN5c3RlbSA9
IERPTUZpbGVTeXN0ZW06OmNyZWF0ZUlzb2xhdGVkRmlsZVN5c3RlbShzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBpbnB1dC0+ZHJvcHBlZEZpbGVTeXN0ZW1JZCgpKTsKLSAgICBpZiAoIWZpbGVzeXN0
ZW0pIHsKLSAgICAgICAgLy8gRHJhZy1kcm9wIGlzb2xhdGVkIGZpbGVzeXN0ZW0gaXMgbm90IGF2
YWlsYWJsZS4KLSAgICAgICAgcmV0dXJuIGFycmF5OwotICAgIH0KLQotICAgIEZpbGVMaXN0KiBm
aWxlcyA9IGlucHV0LT5maWxlcygpOwotICAgIEFTU0VSVChmaWxlcyk7Ci0gICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGZpbGVzLT5sZW5ndGgoKTsgKytpKSB7Ci0gICAgICAgIEZpbGUqIGZp
bGUgPSBmaWxlcy0+aXRlbShpKTsKLQotICAgICAgICAvLyBGSVhNRTogVGhpcyBpbnZvbHZlcyBz
eW5jaHJvbm91cyBmaWxlIG9wZXJhdGlvbi4KLSAgICAgICAgRmlsZU1ldGFkYXRhIG1ldGFkYXRh
OwotICAgICAgICBpZiAoIWdldEZpbGVNZXRhZGF0YShmaWxlLT5wYXRoKCksIG1ldGFkYXRhKSkK
LSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIC8vIFRoZSBkcm9wcGVkIGVudHJpZXMg
YXJlIG1hcHBlZCBhcyB0b3AtbGV2ZWwgZW50cmllcyBpbiB0aGUgaXNvbGF0ZWQgZmlsZXN5c3Rl
bS4KLSAgICAgICAgU3RyaW5nIHZpcnR1YWxQYXRoID0gRE9NRmlsZVBhdGg6OmFwcGVuZCgiLyIs
IGZpbGUtPm5hbWUoKSk7Ci0gICAgICAgIGlmIChtZXRhZGF0YS50eXBlID09IEZpbGVNZXRhZGF0
YTo6VHlwZURpcmVjdG9yeSkKLSAgICAgICAgICAgIGFycmF5LT5hcHBlbmQoRGlyZWN0b3J5RW50
cnk6OmNyZWF0ZShmaWxlc3lzdGVtLCB2aXJ0dWFsUGF0aCkpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBhcnJheS0+YXBwZW5kKEZpbGVFbnRyeTo6Y3JlYXRlKGZpbGVzeXN0ZW0sIHZpcnR1
YWxQYXRoKSk7Ci0gICAgfQotICAgIHJldHVybiBhcnJheTsKLX0KLQotSFRNTElucHV0RWxlbWVu
dEZpbGVTeXN0ZW06OkhUTUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtKCkKLXsKLX0KLQotSFRNTElu
cHV0RWxlbWVudEZpbGVTeXN0ZW06On5IVE1MSW5wdXRFbGVtZW50RmlsZVN5c3RlbSgpCi17Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShGSUxFX1NZU1RF
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9IVE1MSW5w
dXRFbGVtZW50RmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0hUTUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAxYThiZGIzYjkxM2MwZmU3MGIyNmVmODVjMDExYmUzYzlhMjg4NmEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9maWxlc3lzdGVtL0hUTUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0g
KiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0g
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAot
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2lmbmRlZiBIVE1MSW5wdXRFbGVtZW50RmlsZVN5c3RlbV9oCi0jZGVm
aW5lIEhUTUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtX2gKLQotI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgRW50cnlBcnJheTsKLWNsYXNz
IEhUTUxJbnB1dEVsZW1lbnQ7Ci1jbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwotCi1jbGFz
cyBIVE1MSW5wdXRFbGVtZW50RmlsZVN5c3RlbSB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8RW50cnlBcnJheT4gd2Via2l0RW50cmllcyhIVE1MSW5wdXRFbGVtZW50KiwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwotCi1wcml2YXRlOgotICAgIEhUTUxJbnB1dEVsZW1lbnRGaWxl
U3lzdGVtKCk7Ci0gICAgfkhUTUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtKCk7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBIVE1MSW5wdXRFbGVtZW50RmlsZVN5c3Rl
bV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vSFRNTElu
cHV0RWxlbWVudEZpbGVTeXN0ZW0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL0hUTUxJbnB1dEVsZW1lbnRGaWxlU3lzdGVtLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZDFjMTBhNGZiZmQxMDE5YWY5ZDVlNDVkMTBjMDUzMWExZmQ0M2JmNi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZpbGVzeXN0ZW0vSFRNTElucHV0RWxlbWVudEZpbGVTeXN0ZW0uaWRsCisrKyAvZGV2
L251bGwKQEAgLTEsNDEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
Ci0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLW1vZHVsZSBjb3JlIHsKLQotICAgIGludGVyZmFjZSBbCi0g
ICAgICAgIENvbmRpdGlvbmFsPUZJTEVfU1lTVEVNLAotICAgICAgICBTdXBwbGVtZW50YWw9SFRN
TElucHV0RWxlbWVudAotICAgIF0gSFRNTElucHV0RWxlbWVudEZpbGVTeXN0ZW0gewotICAgICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgW1Y4RW5hYmxlZEF0UnVudGltZT1GaWxlU3lzdGVtLENhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIEVudHJ5QXJyYXkgd2Via2l0RW50cmllczsKLSAg
ICB9OwotCi19Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlMTgzNDU3MjczN2IwNjU4ZDY2NzQ5ZmEz
MGM0YzY1OTFhOTVhZjI3Li43YzJiYTdmNTQ2YmZlMjc4ZTMyYWQ0ODkzNWZhYzc4MWQ1N2E3ZjFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC03ODUsNyArNzg1LDYgQEAKICAgICAgICAgICAgICdNb2R1
bGVzL2ZpbGVzeXN0ZW0vRmlsZVdyaXRlci5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvZmls
ZXN5c3RlbS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL2Zp
bGVzeXN0ZW0vRmlsZVdyaXRlclN5bmMuaWRsJywKLSAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVz
eXN0ZW0vSFRNTElucHV0RWxlbWVudEZpbGVTeXN0ZW0uaWRsJywKICAgICAgICAgICAgICdNb2R1
bGVzL2ZpbGVzeXN0ZW0vTWV0YWRhdGEuaWRsJywKICAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVz
eXN0ZW0vTWV0YWRhdGFDYWxsYmFjay5pZGwnLAogICAgICAgICAgICAgJ01vZHVsZXMvZmlsZXN5
c3RlbS9Xb3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGwnLApAQCAtMTQxMyw4ICsxNDEyLDYgQEAK
ICAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZVdyaXRlckNhbGxiYWNrLmgnLAog
ICAgICAgICAgICAgJ01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlV3JpdGVyU3luYy5jcHAnLAogICAg
ICAgICAgICAgJ01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlV3JpdGVyU3luYy5oJywKLSAgICAgICAg
ICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vSFRNTElucHV0RWxlbWVudEZpbGVTeXN0ZW0uY3BwJywK
LSAgICAgICAgICAgICdNb2R1bGVzL2ZpbGVzeXN0ZW0vSFRNTElucHV0RWxlbWVudEZpbGVTeXN0
ZW0uaCcsCiAgICAgICAgICAgICAnTW9kdWxlcy9maWxlc3lzdGVtL0xvY2FsRmlsZVN5c3RlbS5j
cHAnLAogICAgICAgICAgICAgJ01vZHVsZXMvZmlsZXN5c3RlbS9Mb2NhbEZpbGVTeXN0ZW0uaCcs
CiAgICAgICAgICAgICAnTW9kdWxlcy9maWxlc3lzdGVtL01ldGFkYXRhLmgnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmlsZUlucHV0VHlwZS5jcHAKaW5kZXggYjVmMDVkNTRmZTY2YTU2YjA1MWM5YTgxODQ4
OWJlMDBhNGZlOGIyZC4uMzliZmU5ZTM1MDliMjgwNDZjYmQ4OWYzODRmNTg4OWJlM2JkMTgzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9GaWxlSW5wdXRUeXBlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuY3BwCkBAIC00MDcsMTAgKzQwNyw2IEBA
IGJvb2wgRmlsZUlucHV0VHlwZTo6cmVjZWl2ZURyb3BwZWRGaWxlcyhjb25zdCBEcmFnRGF0YSog
ZHJhZ0RhdGEpCiAgICAgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoRklMRV9TWVNURU0pCi0gICAg
bV9kcm9wcGVkRmlsZVN5c3RlbUlkID0gZHJhZ0RhdGEtPmRyb3BwZWRGaWxlU3lzdGVtSWQoKTsK
LSNlbmRpZgotCiAgICAgVmVjdG9yPEZpbGVDaG9vc2VyRmlsZUluZm8+IGZpbGVzOwogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBwYXRocy5zaXplKCk7ICsraSkKICAgICAgICAgZmlsZXMu
YXBwZW5kKEZpbGVDaG9vc2VyRmlsZUluZm8ocGF0aHNbaV0pKTsKQEAgLTQyNSwxMyArNDIxLDYg
QEAgYm9vbCBGaWxlSW5wdXRUeXBlOjpyZWNlaXZlRHJvcHBlZEZpbGVzKGNvbnN0IERyYWdEYXRh
KiBkcmFnRGF0YSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKLVN0cmluZyBGaWxlSW5wdXRUeXBlOjpkcm9wcGVkRmlsZVN5c3RlbUlkKCkKLXsKLSAgICBy
ZXR1cm4gbV9kcm9wcGVkRmlsZVN5c3RlbUlkOwotfQotI2VuZGlmCi0KIEljb24qIEZpbGVJbnB1
dFR5cGU6Omljb24oKSBjb25zdAogewogICAgIHJldHVybiBtX2ljb24uZ2V0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ZpbGVJbnB1dFR5cGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRmlsZUlucHV0VHlwZS5oCmluZGV4IDc4ZTcyNDcxMzcxYTExMzQ0ODM0ZDJkYjAzNzU3
MjBhYmUzZDE3NTguLmEzMGU3ZTY4OTZlNTgyMmQ0ZGM0MzAwODMzMDZjM2RlZGNiYTU4YTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRmlsZUlucHV0VHlwZS5oCkBAIC02NCw5ICs2NCw2IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBib29sIGdldFR5cGVTcGVjaWZpY1ZhbHVlKFN0cmluZyYpIE9WRVJSSURF
OyAvLyBDaGVja2VkIGZpcnN0LCBiZWZvcmUgaW50ZXJuYWwgc3RvcmFnZSBvciB0aGUgdmFsdWUg
YXR0cmlidXRlLgogICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmLCBib29s
IHZhbHVlQ2hhbmdlZCwgVGV4dEZpZWxkRXZlbnRCZWhhdmlvcikgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCBib29sIHJlY2VpdmVEcm9wcGVkRmlsZXMoY29uc3QgRHJhZ0RhdGEqKSBPVkVSUklERTsK
LSNpZiBFTkFCTEUoRklMRV9TWVNURU0pCi0gICAgdmlydHVhbCBTdHJpbmcgZHJvcHBlZEZpbGVT
eXN0ZW1JZCgpIE9WRVJSSURFOwotI2VuZGlmCiAgICAgdmlydHVhbCBJY29uKiBpY29uKCkgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzRmlsZVVwbG9hZCgpIGNvbnN0IE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVTaGFkb3dTdWJ0cmVlKCkgT1ZFUlJJREU7CkBA
IC04NywxMCArODQsNiBAQCBwcml2YXRlOgogCiAgICAgUmVmUHRyPEZpbGVMaXN0PiBtX2ZpbGVM
aXN0OwogICAgIFJlZlB0cjxJY29uPiBtX2ljb247Ci0KLSNpZiBFTkFCTEUoRklMRV9TWVNURU0p
Ci0gICAgU3RyaW5nIG1fZHJvcHBlZEZpbGVTeXN0ZW1JZDsKLSNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
aW5kZXggMjkyZWI5YjIxNjlmZjMyOGZhNzgxZGRkZWIwMDcwMjFmYjFhY2Q0NS4uOGQxNWNhMjhk
YWIyODRhMGU3YzAxYjVmZWY4MmFmYzkwMTM0ODlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMjM1LDEzICsxMjM1LDYgQEAgYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjpyZWNlaXZlRHJvcHBlZEZpbGVzKGNvbnN0IERyYWdEYXRhKiBkcmFnRGF0YSkKICAg
ICByZXR1cm4gbV9pbnB1dFR5cGUtPnJlY2VpdmVEcm9wcGVkRmlsZXMoZHJhZ0RhdGEpOwogfQog
Ci0jaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQotU3RyaW5nIEhUTUxJbnB1dEVsZW1lbnQ6OmRyb3Bw
ZWRGaWxlU3lzdGVtSWQoKQotewotICAgIHJldHVybiBtX2lucHV0VHlwZS0+ZHJvcHBlZEZpbGVT
eXN0ZW1JZCgpOwotfQotI2VuZGlmCi0KIEljb24qIEhUTUxJbnB1dEVsZW1lbnQ6Omljb24oKSBj
b25zdAogewogICAgIHJldHVybiBtX2lucHV0VHlwZS0+aWNvbigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuaAppbmRleCA2ZDIzOTA4NDUyMmZiMWNmMmE0MDk0NDZiODI4YjMw
MTBkODNhZDIyLi5jYjUyMzFmMjdkMDllMTRiOGM1MjcyZmRkMWRiMWJjYjYzZWM0YmU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMjE5LDEwICsyMTksNiBAQCBw
dWJsaWM6CiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBnaXZlbiBEcmFnRGF0YSBoYXMgbW9y
ZSB0aGFuIG9uZSBkcm9wcGVkIGZpbGVzLgogICAgIGJvb2wgcmVjZWl2ZURyb3BwZWRGaWxlcyhj
b25zdCBEcmFnRGF0YSopOwogCi0jaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQotICAgIFN0cmluZyBk
cm9wcGVkRmlsZVN5c3RlbUlkKCk7Ci0jZW5kaWYKLQogICAgIEljb24qIGljb24oKSBjb25zdDsK
ICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIHVzZWQgZm9yIHJlbmRlcmluZyB0aGUgaW5wdXQg
YWN0aXZlIGR1cmluZyBhCiAgICAgLy8gZHJhZy1hbmQtZHJvcCBvcGVyYXRpb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5jcHAKaW5kZXggOGQzODNlMjRmMzE2MmNiOGZlMjk5MDU2MjcyYTA1MmQy
MzRhYzE5OC4uZGFlMDNmM2NjMjZkMWFhMjAzZjFiZTZkNWU3NDVjOWExZDRlOGRhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmNwcApAQCAtNjc3LDE0ICs2NzcsNiBAQCBib29sIElucHV0VHlw
ZTo6cmVjZWl2ZURyb3BwZWRGaWxlcyhjb25zdCBEcmFnRGF0YSopCiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi0jaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQotU3RyaW5nIElucHV0VHlwZTo6ZHJvcHBl
ZEZpbGVTeXN0ZW1JZCgpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IFN0cmluZygpOwotfQotI2VuZGlmCi0KIEljb24qIElucHV0VHlwZTo6aWNvbigpIGNvbnN0CiB7
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBh
Y2QwYTdiZWM5MjhkOGIyYWUyODZhNmYxN2E1YWYwY2JhOWZiYjIzLi5iNjhkOTdmNWQ2NDUzNTVi
NzEwNWM5ZjQ4MTY2ODI3M2Y0OGE0M2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0lucHV0VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTIz
NSw5ICsyMzUsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEZpbGVzKFBhc3NSZWZQ
dHI8RmlsZUxpc3Q+KTsKICAgICAvLyBTaG91bGQgcmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIERy
YWdEYXRhIGhhcyBtb3JlIHRoYW4gb25lIGRyb3BwZWQgZmlsZXMuCiAgICAgdmlydHVhbCBib29s
IHJlY2VpdmVEcm9wcGVkRmlsZXMoY29uc3QgRHJhZ0RhdGEqKTsKLSNpZiBFTkFCTEUoRklMRV9T
WVNURU0pCi0gICAgdmlydHVhbCBTdHJpbmcgZHJvcHBlZEZpbGVTeXN0ZW1JZCgpOwotI2VuZGlm
CiAgICAgdmlydHVhbCBJY29uKiBpY29uKCkgY29uc3Q7CiAgICAgLy8gU2hvdWxkIHJldHVybiB0
cnVlIGlmIHRoZSBjb3JyZXNwb25kaW5nIHJlbmRlcmVyIGZvciBhIHR5cGUgY2FuIGRpc3BsYXkg
YSBzdWdnZXN0ZWQgdmFsdWUuCiAgICAgdmlydHVhbCBib29sIGNhblNldFN1Z2dlc3RlZFZhbHVl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAKaW5kZXggNGQzMDJlYjhiYWQ4OTk2
Nzc0OWRkNWVjZWZjMGQ3NjQ1Y2MyNjg3NC4uZWZiNzA1YTQ2YjUyNGMwNGVmZTVlNDFhYjRjZjEw
ZWI3ZTRhMWQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcApAQCAtNzAsMTYg
KzcwLDkgQEAgaW50IERyYWdEYXRhOjptb2RpZmllcktleVN0YXRlKCkgY29uc3QKICAgICAgICAg
a2V5U3RhdGUgPSBrZXlTdGF0ZSB8IFBsYXRmb3JtRXZlbnQ6Ok1ldGFLZXk7CiAgICAgcmV0dXJu
IGtleVN0YXRlOwogfQotCi0jaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQotU3RyaW5nIERyYWdEYXRh
Ojpkcm9wcGVkRmlsZVN5c3RlbUlkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19
Ci0jZW5kaWYKICNlbmRpZgogCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRHJhZ0RhdGEuaAppbmRleCBkNjM5NjkzMThiMGE3YWNhOTUzNWE0NWFiNWRmODU3ZGFl
NDMzM2JjLi5lMTMzMzNlMzNmZGEwZTU5MGNiMDIzYjkyNTg0YjNjNDJjZmMwMDliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKQEAgLTEyMywxMCArMTIzLDYgQEAgcHVibGljOgogICAg
IGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUoKSB7IHJldHVybiBtX3Bhc3RlYm9hcmROYW1l
OyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKLSAgICBTdHJpbmcgZHJvcHBl
ZEZpbGVTeXN0ZW1JZCgpIGNvbnN0OwotI2VuZGlmCi0KICNpZiBQTEFURk9STShRVCkgfHwgUExB
VEZPUk0oR1RLKQogICAgIC8vIFRoaXMgY29uc3RydWN0b3Igc2hvdWxkIHVzZWQgb25seSBieSBX
ZWJLaXQyIElQQyBiZWNhdXNlIERyYWdEYXRhCiAgICAgLy8gaXMgaW5pdGlhbGl6ZWQgYnkgdGhl
IGRlY29kZXIgYW5kIG5vdCBpbiB0aGUgY29uc3RydWN0b3IuCkBAIC0xNjAsMyArMTU2LDQgQEAg
cHJpdmF0ZToKIH0KIAogI2VuZGlmIC8vICFEcmFnRGF0YV9oCisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0RyYWdEYXRhQ2hyb21pdW0uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRHJhZ0RhdGFDaHJvbWl1bS5jcHAKaW5kZXggYTFh
YjkzYWNlZmQyNDI5ZTA1N2MyOWY5ZjA4NDZhNzQwMGJjMGQzNS4uZGU0MTM0MmUzYTdkOTE1ZjEx
ZTMzNTVmYTNkMDk2ZDQ0YmY2YzI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vRHJhZ0RhdGFDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vRHJhZ0RhdGFDaHJvbWl1bS5jcHAKQEAgLTQzLDEwICs0Myw2IEBACiAj
aW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVVdGls
aXRpZXMuaD4KIAotI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKLSNpbmNsdWRlICJEcmFnZ2VkSXNv
bGF0ZWRGaWxlU3lzdGVtLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0
aWMgYm9vbCBjb250YWluc0hUTUwoY29uc3QgQ2hyb21pdW1EYXRhT2JqZWN0KiBkcm9wRGF0YSkK
QEAgLTE2NiwxNSArMTYyLDQgQEAgQ29sb3IgRHJhZ0RhdGE6OmFzQ29sb3IoKSBjb25zdAogICAg
IHJldHVybiBDb2xvcigpOwogfQogCi0jaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQotU3RyaW5nIERy
YWdEYXRhOjpkcm9wcGVkRmlsZVN5c3RlbUlkKCkgY29uc3QKLXsKLSAgICBEcmFnZ2VkSXNvbGF0
ZWRGaWxlU3lzdGVtKiBmaWxlc3lzdGVtID0gRHJhZ2dlZElzb2xhdGVkRmlsZVN5c3RlbTo6ZnJv
bShtX3BsYXRmb3JtRHJhZ0RhdGEpOwotICAgIGlmICghZmlsZXN5c3RlbSkKLSAgICAgICAgcmV0
dXJuIFN0cmluZygpOwotICAgIHJldHVybiBmaWxlc3lzdGVtLT5maWxlc3lzdGVtSWQoKTsKLX0K
LSNlbmRpZgotCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYWI1MDliNWY1NzVj
YWIwOWYxY2JiMzY2N2JlYjI1NGUyY2Y0ZThlLi4wZjEwNDlhYjg2YTFmY2RiYmIyOWVjODliMjY0
MzI2OWJmZmU2NzVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDYtMTggIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMjA1OTMuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzEyMDU5MworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODk0MDQKKworICAgICAgICBDYXVzZWQgZmFpbHVyZXMgaW4gZmFzdC9mb3Jtcy9maWxl
L2lucHV0LWZpbGUtZW50cmllcy5odG1sCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgYXR3aWxzb24g
b24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1lbnRy
aWVzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2ZpbGUvaW5w
dXQtZmlsZS1lbnRyaWVzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNv
dXJjZXMvZGlyMS9VVEY4LTIudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvcmVz
b3VyY2VzL2RpcjEvVVRGOC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9yZXNv
dXJjZXMvZGlyMi9ncmVlbi5qcGc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL3drMi9Ta2lwcGVkOgorCiAyMDEyLTA2LTE4ICBFbnJpY2EgQ2Fz
dWNjaSAgPGVucmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgU2tpcHBpbmcgZGljdGF0aW9uIHRl
c3RzIG9uIFdLMi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS9pbnB1
dC1maWxlLWVudHJpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxl
L2lucHV0LWZpbGUtZW50cmllcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDkzMWMyMWJjYzg4YjZlNTEzNThiN2ZlMTQ4NGRhNjAwOTdmODI1ZDcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9maWxlL2lucHV0LWZpbGUtZW50cmllcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw4MCArMCwwIEBACi0KLVRlc3RzIHRoZSB3ZWJraXRFbnRyaWVzIGF0dHJpYnV0ZSBvZiA8
aW5wdXQgdHlwZT0iZmlsZSI+Ci0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi0qIFRl
c3RpbmcgdGVzdENhc2VzWzBdCi1QQVNTIGRyb3BwZWRFbnRyaWVzLmxlbmd0aCBpcyAxCi1WZXJp
ZnlpbmcgZW50cnkgKDAvMSk6L1VURjgudHh0Ci1QQVNTIHZlcmlmeWluZ0VudHJ5LmZ1bGxQYXRo
IGlzICIvVVRGOC50eHQiCi1QQVNTIHR5cGVvZiB2ZXJpZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBp
cyAnYm9vbGVhbicKLVBBU1MgdmVyaWZ5aW5nRW50cnkuaXNEaXJlY3RvcnkgaXMgZmFsc2UKLVBB
U1MgcmV0dXJuZWRNZXRhZGF0YS5zaXplIGlzIDUKLSogVGVzdGluZyB0ZXN0Q2FzZXNbMV0KLVBB
U1MgZHJvcHBlZEVudHJpZXMubGVuZ3RoIGlzIDEKLVZlcmlmeWluZyBlbnRyeSAoMC8xKTovZGly
MQotUEFTUyB2ZXJpZnlpbmdFbnRyeS5mdWxsUGF0aCBpcyAiL2RpcjEiCi1QQVNTIHR5cGVvZiB2
ZXJpZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBpcyAnYm9vbGVhbicKLVBBU1MgdmVyaWZ5aW5nRW50
cnkuaXNEaXJlY3RvcnkgaXMgdHJ1ZQotUEFTUyByZXR1cm5lZEVudHJpZXMubGVuZ3RoIGlzIDIK
LVBBU1MgcmV0dXJuZWRFbnRyaWVzLmxlbmd0aCBpcyAyCi0qIFRlc3RpbmcgdGVzdENhc2VzWzJd
Ci1QQVNTIGRyb3BwZWRFbnRyaWVzLmxlbmd0aCBpcyAzCi1WZXJpZnlpbmcgZW50cnkgKDAvMyk6
L2FwcGxlLmdpZgotUEFTUyB2ZXJpZnlpbmdFbnRyeS5mdWxsUGF0aCBpcyAiL2FwcGxlLmdpZiIK
LVBBU1MgdHlwZW9mIHZlcmlmeWluZ0VudHJ5LmlzRGlyZWN0b3J5IGlzICdib29sZWFuJwotUEFT
UyB2ZXJpZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBpcyBmYWxzZQotUEFTUyByZXR1cm5lZE1ldGFk
YXRhLnNpemUgaXMgMzM0MAotVmVyaWZ5aW5nIGVudHJ5ICgxLzMpOi9VVEY4LnR4dAotUEFTUyB2
ZXJpZnlpbmdFbnRyeS5mdWxsUGF0aCBpcyAiL1VURjgudHh0IgotUEFTUyB0eXBlb2YgdmVyaWZ5
aW5nRW50cnkuaXNEaXJlY3RvcnkgaXMgJ2Jvb2xlYW4nCi1QQVNTIHZlcmlmeWluZ0VudHJ5Lmlz
RGlyZWN0b3J5IGlzIGZhbHNlCi1QQVNTIHJldHVybmVkTWV0YWRhdGEuc2l6ZSBpcyA1Ci1WZXJp
ZnlpbmcgZW50cnkgKDIvMyk6L2dyZWVuLmpwZwotUEFTUyB2ZXJpZnlpbmdFbnRyeS5mdWxsUGF0
aCBpcyAiL2dyZWVuLmpwZyIKLVBBU1MgdHlwZW9mIHZlcmlmeWluZ0VudHJ5LmlzRGlyZWN0b3J5
IGlzICdib29sZWFuJwotUEFTUyB2ZXJpZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBpcyBmYWxzZQot
UEFTUyByZXR1cm5lZE1ldGFkYXRhLnNpemUgaXMgNzY0Ci0qIFRlc3RpbmcgdGVzdENhc2VzWzNd
Ci1QQVNTIGRyb3BwZWRFbnRyaWVzLmxlbmd0aCBpcyAyCi1WZXJpZnlpbmcgZW50cnkgKDAvMik6
L2RpcjEKLVBBU1MgdmVyaWZ5aW5nRW50cnkuZnVsbFBhdGggaXMgIi9kaXIxIgotUEFTUyB0eXBl
b2YgdmVyaWZ5aW5nRW50cnkuaXNEaXJlY3RvcnkgaXMgJ2Jvb2xlYW4nCi1QQVNTIHZlcmlmeWlu
Z0VudHJ5LmlzRGlyZWN0b3J5IGlzIHRydWUKLVBBU1MgcmV0dXJuZWRFbnRyaWVzLmxlbmd0aCBp
cyAyCi1QQVNTIHJldHVybmVkRW50cmllcy5sZW5ndGggaXMgMgotVmVyaWZ5aW5nIGVudHJ5ICgx
LzIpOi9kaXIyCi1QQVNTIHZlcmlmeWluZ0VudHJ5LmZ1bGxQYXRoIGlzICIvZGlyMiIKLVBBU1Mg
dHlwZW9mIHZlcmlmeWluZ0VudHJ5LmlzRGlyZWN0b3J5IGlzICdib29sZWFuJwotUEFTUyB2ZXJp
ZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBpcyB0cnVlCi1QQVNTIHJldHVybmVkRW50cmllcy5sZW5n
dGggaXMgMQotUEFTUyByZXR1cm5lZEVudHJpZXMubGVuZ3RoIGlzIDEKLSogVGVzdGluZyB0ZXN0
Q2FzZXNbNF0KLVBBU1MgZHJvcHBlZEVudHJpZXMubGVuZ3RoIGlzIDQKLVZlcmlmeWluZyBlbnRy
eSAoMC80KTovZGlyMQotUEFTUyB2ZXJpZnlpbmdFbnRyeS5mdWxsUGF0aCBpcyAiL2RpcjEiCi1Q
QVNTIHR5cGVvZiB2ZXJpZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBpcyAnYm9vbGVhbicKLVBBU1Mg
dmVyaWZ5aW5nRW50cnkuaXNEaXJlY3RvcnkgaXMgdHJ1ZQotUEFTUyByZXR1cm5lZEVudHJpZXMu
bGVuZ3RoIGlzIDIKLVBBU1MgcmV0dXJuZWRFbnRyaWVzLmxlbmd0aCBpcyAyCi1WZXJpZnlpbmcg
ZW50cnkgKDEvNCk6L1VURjgudHh0Ci1QQVNTIHZlcmlmeWluZ0VudHJ5LmZ1bGxQYXRoIGlzICIv
VVRGOC50eHQiCi1QQVNTIHR5cGVvZiB2ZXJpZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBpcyAnYm9v
bGVhbicKLVBBU1MgdmVyaWZ5aW5nRW50cnkuaXNEaXJlY3RvcnkgaXMgZmFsc2UKLVBBU1MgcmV0
dXJuZWRNZXRhZGF0YS5zaXplIGlzIDUKLVZlcmlmeWluZyBlbnRyeSAoMi80KTovdGVzdC50eHQK
LVBBU1MgdmVyaWZ5aW5nRW50cnkuZnVsbFBhdGggaXMgIi90ZXN0LnR4dCIKLVBBU1MgdHlwZW9m
IHZlcmlmeWluZ0VudHJ5LmlzRGlyZWN0b3J5IGlzICdib29sZWFuJwotUEFTUyB2ZXJpZnlpbmdF
bnRyeS5pc0RpcmVjdG9yeSBpcyBmYWxzZQotUEFTUyByZXR1cm5lZE1ldGFkYXRhLnNpemUgaXMg
NQotVmVyaWZ5aW5nIGVudHJ5ICgzLzQpOi9kaXIyCi1QQVNTIHZlcmlmeWluZ0VudHJ5LmZ1bGxQ
YXRoIGlzICIvZGlyMiIKLVBBU1MgdHlwZW9mIHZlcmlmeWluZ0VudHJ5LmlzRGlyZWN0b3J5IGlz
ICdib29sZWFuJwotUEFTUyB2ZXJpZnlpbmdFbnRyeS5pc0RpcmVjdG9yeSBpcyB0cnVlCi1QQVNT
IHJldHVybmVkRW50cmllcy5sZW5ndGggaXMgMQotUEFTUyByZXR1cm5lZEVudHJpZXMubGVuZ3Ro
IGlzIDEKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1lbnRy
aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1lbnRyaWVz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ODk3MjgyMzgyZTYzNmM0NzM0
MjYyMDIxM2M1OTQ1MDI0OGQ3MmMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtZW50cmll
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08Ym9keT4KLTxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlcyIgaWQ9ImZpbGVz
Ij4KLTxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZGVzY3JpcHRpb24oJ1Rl
c3RzIHRoZSB3ZWJraXRFbnRyaWVzIGF0dHJpYnV0ZSBvZiAmbHQ7aW5wdXQgdHlwZT0iZmlsZSIm
Z3Q7Jyk7Ci0KLXZhciB0ZXN0Q2FzZXMgPSBbCi0gIC8vIFNpbmdsZSBmaWxlLgotICBbJ2RpcjEv
VVRGOC50eHQnXSwKLSAgLy8gU2luZ2xlIGRpcmVjdG9yeS4KLSAgWydkaXIxJ10sCi0gIC8vIE11
bHRpcGxlIGZpbGVzLgotICBbJ2FwcGxlLmdpZicsICdkaXIxL1VURjgudHh0JywgJ2RpcjIvZ3Jl
ZW4uanBnJ10sCi0gIC8vIE11bHRpcGxlIGRpcmVjdG9yaWVzLgotICBbJ2RpcjEnLCAnZGlyMidd
LAotICAvLyBNaXhlZCBjYXNlLgotICBbJ2RpcjEnLCAnZGlyMS9VVEY4LnR4dCcsICd0ZXN0LnR4
dCcsICdkaXIyJ10KLV07Ci0KLS8vIFRoZSBleHBlY3RlZCBkaXJlY3Rvcmllcy9maWxlcyBpbmZv
IGluIHRoZSBhY3R1YWwgcmVzb3VyY2VzIGRpcmVjdG9yeS4KLXZhciBleHBlY3RlZEZpbGVBdHRy
aWJ1dGVzID0gewotICAnZGlyMSc6IHsgJ2RpcmVjdG9yeSc6IHRydWUsICdmaWxlcyc6WyAnL2Rp
cjEvVVRGOC50eHQnLCAnL2RpcjEvVVRGOC0yLnR4dCcgXSB9LAotICAnZGlyMic6IHsgJ2RpcmVj
dG9yeSc6IHRydWUsICdmaWxlcyc6WyAnL2RpcjIvZ3JlZW4uanBnJyBdIH0sCi0gICdhcHBsZS5n
aWYnOiAgICAgICB7ICdkaXJlY3RvcnknOiBmYWxzZSwgJ3NpemUnOiAzMzQwIH0sCi0gICd0ZXN0
LnR4dCc6ICAgICAgICB7ICdkaXJlY3RvcnknOiBmYWxzZSwgJ3NpemUnOiA1IH0sCi0gICdkaXIx
L1VURjgudHh0JzogICB7ICdkaXJlY3RvcnknOiBmYWxzZSwgJ3NpemUnOiA1IH0sCi0gICdkaXIx
L1VURjgtMi50eHQnOiB7ICdkaXJlY3RvcnknOiBmYWxzZSwgJ3NpemUnOiA5IH0sCi0gICdkaXIy
L2dyZWVuLmpwZyc6ICB7ICdkaXJlY3RvcnknOiBmYWxzZSwgJ3NpemUnOiA3NjQgfQotfTsKLQot
dmFyIGRyb3BwZWRFbnRyaWVzLCB2ZXJpZnlpbmdFbnRyeSwgcmV0dXJuZWRNZXRhZGF0YSwgcmV0
dXJuZWRFbnRyaWVzOwotCi12YXIganNUZXN0SXNBc3luYyA9IHRydWU7Ci1pZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwotICAgIGRvVGVzdCgwKTsKLX0KLQotZnVuY3Rpb24gZG9UZXN0KGluZGV4KQotewot
ICAgIGlmIChpbmRleCA+PSB0ZXN0Q2FzZXMubGVuZ3RoKSB7Ci0gICAgICBmaW5pc2hKU1Rlc3Qo
KTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBkZWJ1ZygnKiBUZXN0aW5nIHRlc3RDYXNl
c1snICsgaW5kZXggKyAnXScpOwotICAgIHZhciBwYXRocyA9IHRlc3RDYXNlc1tpbmRleF07Ci0g
ICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVzJyk7Ci0gICAgaW5w
dXQub25jaGFuZ2UgPSBmdW5jdGlvbigpIHsgb25JbnB1dEZpbGVDaGFuZ2UoaW5kZXgpOyB9Owot
ICAgIGlmIChwYXRocy5sZW5ndGggPiAxKQotICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ211
bHRpcGxlJywgJ211bHRpcGxlJykKLSAgICBlbHNlCi0gICAgICAgIGlucHV0LnJlbW92ZUF0dHJp
YnV0ZSgnbXVsdGlwbGUnKQotICAgIHZhciB0ZXN0UGF0aHMgPSBwYXRocy5tYXAoZnVuY3Rpb24o
cGF0aCkgeyByZXR1cm4gJy4uL3Jlc291cmNlcy8nICsgcGF0aCB9KTsKLSAgICBldmVudFNlbmRl
ci5iZWdpbkRyYWdXaXRoRmlsZXModGVzdFBhdGhzKTsKLSAgICB2YXIgY2VudGVyWCA9IGlucHV0
Lm9mZnNldExlZnQgKyBpbnB1dC5vZmZzZXRXaWR0aCAvIDI7Ci0gICAgdmFyIGNlbnRlclkgPSBp
bnB1dC5vZmZzZXRUb3AgKyBpbnB1dC5vZmZzZXRIZWlnaHQgLyAyOwotICAgIGV2ZW50U2VuZGVy
Lm1vdXNlTW92ZVRvKGNlbnRlclgsIGNlbnRlclkpOwotICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKLX0KLQotZnVuY3Rpb24gb25JbnB1dEZpbGVDaGFuZ2UoaW5kZXgpCi17Ci0gICAgZHJvcHBl
ZEVudHJpZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmlsZXMnKS53ZWJraXRFbnRyaWVz
OwotICAgIHNob3VsZEV2YWx1YXRlVG8oJ2Ryb3BwZWRFbnRyaWVzLmxlbmd0aCcsIHRlc3RDYXNl
c1tpbmRleF0ubGVuZ3RoKTsKLSAgICB2ZXJpZnlFbnRyeShpbmRleCwgMCk7Ci19Ci0KLWZ1bmN0
aW9uIHZlcmlmeUVudHJ5KHRlc3RJbmRleCwgZW50cnlJbmRleCkKLXsKLSAgICBpZiAoZW50cnlJ
bmRleCA9PSB0ZXN0Q2FzZXNbdGVzdEluZGV4XS5sZW5ndGgpIHsKLSAgICAgICAgZG9UZXN0KHRl
c3RJbmRleCArIDEpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIGVudHJ5ID0g
dmVyaWZ5aW5nRW50cnkgPSBkcm9wcGVkRW50cmllc1tlbnRyeUluZGV4XTsKLSAgICBkZWJ1Zygn
VmVyaWZ5aW5nIGVudHJ5ICgnICsgZW50cnlJbmRleCArICcvJyArIHRlc3RDYXNlc1t0ZXN0SW5k
ZXhdLmxlbmd0aCArICcpOicgKyBlbnRyeS5mdWxsUGF0aCk7Ci0KLSAgICB2YXIgcGF0aCA9IHRl
c3RDYXNlc1t0ZXN0SW5kZXhdW2VudHJ5SW5kZXhdOwotICAgIHZhciBleHBlY3RlZCA9IGV4cGVj
dGVkRmlsZUF0dHJpYnV0ZXNbcGF0aF07Ci0gICAgdmFyIGV4cGVjdGVkUGF0aCA9ICcvJyArIGdl
dEJhc2VOYW1lKHBhdGgpOwotCi0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd2ZXJpZnlpbmdF
bnRyeS5mdWxsUGF0aCcsIGV4cGVjdGVkUGF0aCk7Ci0gICAgc2hvdWxkRXZhbHVhdGVUbygndmVy
aWZ5aW5nRW50cnkuaXNEaXJlY3RvcnknLCBleHBlY3RlZC5kaXJlY3RvcnkpOwotCi0gICAgdmFy
IGNhbGxiYWNrID0gZnVuY3Rpb24oKSB7IHZlcmlmeUVudHJ5KHRlc3RJbmRleCwgZW50cnlJbmRl
eCArIDEpOyB9OwotICAgIGlmIChlbnRyeS5pc0ZpbGUpIHsKLSAgICAgICAgZW50cnkuZ2V0TWV0
YWRhdGEodmVyaWZ5RmlsZS5iaW5kKHRoaXMsIGV4cGVjdGVkLCBjYWxsYmFjayksIG9uRXJyb3Ip
OwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHZhciByZWFkZXIgPSBlbnRyeS5jcmVhdGVSZWFkZXIo
KTsKLSAgICAgICAgcmVhZGVyLnJlYWRFbnRyaWVzKHZlcmlmeURpcmVjdG9yeS5iaW5kKHRoaXMs
IGV4cGVjdGVkLCBjYWxsYmFjayksIG9uRXJyb3IpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gdmVy
aWZ5RmlsZShleHBlY3RlZCwgY2FsbGJhY2ssIG1ldGFkYXRhKQotewotICAgIHJldHVybmVkTWV0
YWRhdGEgPSBtZXRhZGF0YTsKLSAgICBzaG91bGRFdmFsdWF0ZVRvKCdyZXR1cm5lZE1ldGFkYXRh
LnNpemUnLCBleHBlY3RlZC5zaXplKTsKLSAgICBjYWxsYmFjaygpOwotfQotCi1mdW5jdGlvbiB2
ZXJpZnlEaXJlY3RvcnkoZXhwZWN0ZWQsIGNhbGxiYWNrLCBlbnRyaWVzKQotewotICAgIHJldHVy
bmVkRW50cmllcyA9IGVudHJpZXM7Ci0gICAgc2hvdWxkRXZhbHVhdGVUbygncmV0dXJuZWRFbnRy
aWVzLmxlbmd0aCcsIGV4cGVjdGVkLmZpbGVzLmxlbmd0aCk7Ci0gICAgdmFyIGZvdW5kRmlsZXMg
PSAwOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmV0dXJuZWRFbnRyaWVzLmxlbmd0aDsgaSsr
KSB7Ci0gICAgICAgIHZhciBmdWxsUGF0aCA9IHJldHVybmVkRW50cmllc1tpXS5mdWxsUGF0aDsK
LSAgICAgICAgaWYgKGV4cGVjdGVkLmZpbGVzLmluZGV4T2YoZnVsbFBhdGgpID09IC0xKQotICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBmb3VuZEZpbGVzKys7Ci0gICAgfQotICAgIHNob3VsZEV2
YWx1YXRlVG8oJ3JldHVybmVkRW50cmllcy5sZW5ndGgnLCBmb3VuZEZpbGVzKTsKLSAgICBjYWxs
YmFjaygpOwotfQotCi1mdW5jdGlvbiBnZXRCYXNlTmFtZShwYXRoKQotewotICAgIHZhciBjb21w
b25lbnRzID0gcGF0aC5zcGxpdCgnLycpOwotICAgIHJldHVybiBjb21wb25lbnRzW2NvbXBvbmVu
dHMubGVuZ3RoIC0gMV07Ci19Ci0KLWZ1bmN0aW9uIG9uRXJyb3IoZXJyb3IpCi17Ci0gICAgdGVz
dEZhaWxlZCgnVGVzdCBmaW5pc2hlZCB3aXRoIHVuZXhwZWN0ZWQgZXJyb3I6ICcgKyBlcnJvci5j
b2RlKTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9kaXIx
L1VURjgtMi50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9kaXIxL1VURjgt
Mi50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE2MDFlOWY5ZDNlZTRhYzA2NTAw
MGNmZjRkZDI1Y2RhZWU5YTYzM2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvZGlyMS9VVEY4LTIu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotV29uZGVyZnVsClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJj
ZXMvZGlyMS9VVEY4LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvcmVzb3VyY2VzL2RpcjEv
VVRGOC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhYjJmOGE0MzIzYWJhZmIx
MGFiYjY4NjU3ZDlkMzlmMWE3NzUwNTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMvZGlyMS9VVEY4
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLUhlbGxvClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9yZXNvdXJjZXMv
ZGlyMi9ncmVlbi5qcGcgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3Jlc291cmNlcy9kaXIyL2dy
ZWVuLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjVmNzAwYjY4MDdkMTk1MzUy
ZTFhYjAyMTRjZTRmMWVkZjkyMDM0MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCA3
NjQKemNtZXg9PE5wSCYwV1VYQ0h3SCNWTXVyMytXY2RHKHB+MUJ4R21VfTQqT3goeWZxe1g4ZnQ2
OCtmZj5rUjFWUlF6CnpERiMrQm59TlpMUTV3ejtWJF5gRFZQYXJ0JnR6Yk1zKSsqOUFkbXBXSzsy
TjlYI28+bGd9PyU0MVJKUD07czAkMAp6WDlneGxNaTYyR0F8UE85V2Q7RUA3OFloIWJ+YmkpYn5a
TFBiYEVZJWJgQ0JNSGExUlBQQStiNDl2JldjUEZfQTwKejl6R3pHOClPSmJGRWR5I0Q+bnhsMlJG
JiF7e2FSOzRoOGBSMGNKKWUxfH5zOVc8a2RQTTtQUlJLNEFyaDdid1Z9CnpmUlR4cmclIylgcGdW
dkh3aDkyOSYmPHBPYlN4X2lGZCFJZmYkfEoyZn4tUHtoS184KWZyOyEmZyg2MGM2Qmx3UQp6Sjhl
OEQ4ZyVpNGlnOGo9NkRPQ0x4UCt2WHMremlucmswN1JuWW8zZm05dllobzRiZG5TOHp5WlNhP0th
UkJ9cGMKelQ2I3VpUiZoeWJTJFJjZVJkWSpnVFlFPW0qUUNpKXJjUnFhVzlGPHlpPGN+Mnd0VTZQ
Umh1PyUqfTg0fWotOSY+Cno5WEBqTyp6cHI1UGhHbHY8PzZOVEgqVmZ+X35gTUlyX1l8aGM9X3Ql
cl9XISRlKjZDOD1QIWBJNyNXeCQtaCVySwp6JjBtNSplPXp+JGZRMjM4RkdpK3ZBWjhZMVZPMkNf
NkxKaD5QYj9IeEdIVD15YWhrWXI8M1ViazxEZF9zTmt0ZEEKeSM4Z1prcyh1N3s0ZVRAR0prfl4o
JilePElgMEV3fTQ+S2IkQHxYbn4+PjBqJFgpTX5gYl5nUGp8MkZ+Y19zdldJCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvU2tpcHBlZAppbmRleCA3YTEzZGExMjU1ZjQ1MWRhZmY0OWVhZjU1OTc5NGQxMzZlODdj
ODE0Li4yMDkwODFiYWZjNDM2N2Y1YjYwYTIwMTcxZDQ0YzZmNWRjZjcwYjg1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvU2tpcHBlZApAQCAtMTEzMiw5ICsxMTMyLDYgQEAgbWVkaWEvbWVkaWEtY2FuLXBs
YXktZmxhYy1hdWRpby5odG1sCiAjIFJlcXVpcmVzIEVOQUJMRShNRURJQV9DQVBUVVJFKQogZmFz
dC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2FwdHVyZS5odG1sCiAKLSMgUmVxdWlyZXMgRU5BQkxF
KEZJTEVfU1lTVEVNKQotZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtZW50cmllcy5odG1sCi0K
ICMgVHJhbnNwYXJlbnQgaW1hZ2UgYmVpbmcgcHJvZHVjZWQKIGZhc3QvZnJhbWVzL3RyYW5zcGFy
ZW50LXNjcm9sbGJhci5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Vm
bC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggZWQ3NWY0ODI0NTdlZWViZDc5Nzg5MDI4ZTNlYWZmYTMwOTQ2OTViYy4uMWU2
OWQzN2Y5YzhjNWJmNzhkODJiZmJhYmU2YTFlZTZlZTZiYTc0OSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIxOSw3ICsyMTksNiBAQCBCVUdXSzg0MzMz
IDogZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtY2hhbmdlLWV2ZW50Lmh0bWwgPSBURVhUCiBC
VUdXSzg0MzMzIDogZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtcmVzZXQuaHRtbCA9IElNQUdF
CiBCVUdXSzg0MzMzIDogZmFzdC9mb3Jtcy9maWxlL2dldC1maWxlLXVwbG9hZC5odG1sID0gVEVY
VAogQlVHV0s4NDMzMyA6IGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLWRpcmVjdG9yeS11cGxv
YWQuaHRtbCA9IFRFWFQKLUJVR1dLODQzMzMgOiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1l
bnRyaWVzLmh0bWwgPSBURVhUCiBCVUdXSzg0MzMzIDogZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZp
bGUtcmUtcmVuZGVyLmh0bWwgPSBNSVNTSU5HCiBCVUdXSzg0MzMzIDogZmFzdC9mb3Jtcy9maWxl
L2lucHV0LWZpbGUtd3JpdGUtZmlsZXMuaHRtbCA9IFRFWFQKIEJVR1dLODQzMzMgOiBmYXN0L2Zv
cm1zL2ZpbGUvcmVjb3Zlci1maWxlLWlucHV0LWluLXVucG9zdGVkLWZvcm0uaHRtbCA9IFRFWFQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTlmOTY5ODk1
NjVjODgxMDE2ZDYyN2Y4MjI4YzBmN2Y5NmZlNWViZi4uNjBkMjQ1ODQ4YTZmMjMyYjhkOTUwMDhm
ZDkzZmI0NGU1YzcwZGYzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTE1OSw3ICsxNTksNiBAQCBCVUdXS0dUSyBTS0lQIDogaHR0cC90ZXN0cy93ZWJz
b2NrZXQvdGVzdHMvaHliaS9zZW5kLWZpbGUtYmxvYi5odG1sID0gVEVYVAogQlVHV0tHVEsgU0tJ
UCA6IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1maWxlLWJsb2ItZmFpbC5o
dG1sID0gVEVYVAogQlVHV0tHVEsgU0tJUCA6IGh0dHAvdGVzdHMvd29ya2Vycy90ZXJtaW5hdGUt
ZHVyaW5nLXN5bmMtb3BlcmF0aW9uLmh0bWwgPSBURVhUCiBCVUdXS0dUSyBTS0lQIDogZmFzdC9t
dXRhdGlvbi9maWxlc3lzdGVtLWNhbGxiYWNrLWRlbGl2ZXJ5Lmh0bWwgPSBURVhUCi1CVUdXS0dU
SyBTS0lQIDogZmFzdC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtZW50cmllcy5odG1sID0gVEVYVAog
CiAvLyBSZXF1aXJlcyBXZWJQIHN1cHBvcnQuCiBCVUdXS0dUSyBTS0lQIDogZmFzdC9jYW52YXMv
Y2FudmFzLXRvRGF0YVVSTC13ZWJwLmh0bWwgPSBURVhUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVk
CmluZGV4IDEyOTMzZGJjYWM4YjNjNDQ5MzJkMmM1NzE2OThjNzMzYjIyZGI4NWIuLjdjN2ZkMjgx
YzdkMDU2ZDYxOGQxMjU5MjY3NWM3NjdhMzY3ZmE1YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lw
cGVkCkBAIC0yNDMsOSArMjQzLDYgQEAgZmFzdC9pbWFnZXMvbGFyZ2Utc2l6ZS1pbWFnZS1jcmFz
aC5odG1sCiAjIERpcmVjdG9yeSB1cGxvYWQgaXMgbm90IGVuYWJsZWQuCiBmYXN0L2Zvcm1zL2Zp
bGUvaW5wdXQtZmlsZS1kaXJlY3RvcnktdXBsb2FkLmh0bWwKIAotIyBSZXF1aXJlcyBFTkFCTEUo
RklMRV9TWVNURU0pCi1mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1lbnRyaWVzLmh0bWwKLQog
IyBXZWIgVGltaW5nIGlzIG5vdCBlbmFibGVkLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDI0MzQKIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1w
ZXJmb3JtYW5jZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAwNGE1M2JhNGI2OGI3
MjVhMzA4YjVkY2NiY2I4ZDI4MTllMTRjMzRkLi5hYjM4OTg5OGQ5YWE5ODlmNWUxM2JmMTgzOGNk
MTU2NmQxZjc4N2MxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTEwMCw5ICsxMDAsNiBA
QCBmYXN0L21lZGlhc3RyZWFtCiAjIEVOQUJMRShESVJFQ1RPUllfVVBMT0FEKSBpcyBkaXNhYmxl
ZC4KIGZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLWRpcmVjdG9yeS11cGxvYWQuaHRtbAogCi0j
IEVOQUJMRShGSUxFX1NZU1RFTSkgaXMgZGlzYWJsZWQuCi1mYXN0L2Zvcm1zL2ZpbGUvaW5wdXQt
ZmlsZS1lbnRyaWVzLmh0bWwKLQogIyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkgaXMgZGlzYWJs
ZWQuCiBzdG9yYWdlL2luZGV4ZWRkYgogaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGZhNTRmNmNmMjZiNzk3Y2E5ZjQ3ZGI1M2FiYWMw
Mzg5MDMwOWQ2MzAuLjg4MDg3ZDc3NjNkMjA3ZWVkOGE1NGI0MDE1NzQzOWY4MjUyOGM4ZTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0yNTksNyArMjU5LDYgQEAgZmFzdC9ldmVudHMv
aW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwKIGZhc3Qv
Zm9ybXMvZmlsZS9maWxlLWlucHV0LXJlc2V0Lmh0bWwKIGZhc3QvZm9ybXMvZmlsZS9maWxlLXJl
c2V0LWluLWNoYW5nZS5odG1sCiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1kaXJlY3Rvcnkt
dXBsb2FkLmh0bWwKLWZhc3QvZm9ybXMvZmlsZS9pbnB1dC1maWxlLWVudHJpZXMuaHRtbAogZmFz
dC9mb3Jtcy9maWxlL2lucHV0LWZpbGUtcmUtcmVuZGVyLmh0bWwKIGZhc3QvZm9ybXMvZmlsZS9y
ZWNvdmVyLWZpbGUtaW5wdXQtaW4tdW5wb3N0ZWQtZm9ybS5odG1sCiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NsaXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3MuaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbmNhaXJvL1NraXBwZWQKaW5kZXggYTVjODE4N2Q2ZDNjNmJiMzdhYWI2MTUyNDNiNGVjZWZh
NTE0MWQ4Ny4uZTRjMGNiNzc0MmU2YjYzZTI0MmM1YmZjMzlhMWRiN2YzY2JlYjk1MiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9Ta2lwcGVkCkBAIC0xODA4LDcgKzE4MDgsNiBAQCBodHRw
L3Rlc3RzL3NlY3VyaXR5L2ZpbGVzeXN0ZW0taWZyYW1lLWZyb20tcmVtb3RlLmh0bWwKIGh0dHAv
dGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvc2VuZC1maWxlLWJsb2IuaHRtbAogaHR0cC90ZXN0
cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9zZW5kLWZpbGUtYmxvYi1mYWlsLmh0bWwKIGZhc3QvbXV0
YXRpb24vZmlsZXN5c3RlbS1jYWxsYmFjay1kZWxpdmVyeS5odG1sCi1mYXN0L2Zvcm1zL2ZpbGUv
aW5wdXQtZmlsZS1lbnRyaWVzLmh0bWwKIAogIyBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bm9kZXNG
cm9tUmVjdCBpcyBub3Qgc3VwcG9ydGVkLgogZmFzdC9kb20vbm9kZXNGcm9tUmVjdC1iYXNpYy5o
dG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCmluZGV4IGJhZGIwNWM0ZGU3ODcxMGMzZTQ5OWU5
OTc0MmUzMGQ3NDI1MGFkZjAuLjdhZWQxZmM1ZWYxYWZhNjVlODg0NmZjY2E1MDAzNWI0OWY4MzI2
OWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3drMi9Ta2lwcGVkCkBAIC0xMzk3LDcgKzEzOTcsNiBAQCBmYXN0
L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1jaGFuZ2UtZXZlbnQuaHRtbAogZmFzdC9mb3Jtcy9maWxl
L2ZpbGUtaW5wdXQtcmVzZXQuaHRtbAogZmFzdC9mb3Jtcy9maWxlL2dldC1maWxlLXVwbG9hZC5o
dG1sCiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1yZS1yZW5kZXIuaHRtbAotZmFzdC9mb3Jt
cy9maWxlL2lucHV0LWZpbGUtZW50cmllcy5odG1sCiBmYXN0L2Zvcm1zL2ZpbGUvcmVjb3Zlci1m
aWxlLWlucHV0LWluLXVucG9zdGVkLWZvcm0uaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9maWxlYXBp
L2ZpbGUtbGFzdC1tb2RpZmllZC1hZnRlci1kZWxldGUuaHRtbAogaHR0cC90ZXN0cy9sb2NhbC9m
aWxlYXBpL2ZpbGUtbGFzdC1tb2RpZmllZC5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>