<?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>152029</bug_id>
          
          <creation_ts>2015-12-08 17:21:32 -0800</creation_ts>
          <short_desc>inspector/debugger/command-line-api-exception.html flakily times out on mac</short_desc>
          <delta_ts>2016-07-02 20:34:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryan Haddad">ryanhaddad</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1147552</commentid>
    <comment_count>0</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-12-08 17:21:32 -0800</bug_when>
    <thetext>inspector/debugger/command-line-api-exception.html flakily times out on mac

Flakiness dashboard:
&lt;http://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Fdebugger%2Fcommand-line-api-exception.html&gt;

Most recent timeout:
&lt;https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20WK1%20%28Tests%29/builds/9383&gt;

Has happened since being unskipped in r193427</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147553</commentid>
    <comment_count>1</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-12-08 17:22:00 -0800</bug_when>
    <thetext>--- /Volumes/Data/slave/yosemite-debug-tests-wk1/build/layout-test-results/inspector/debugger/command-line-api-exception-expected.txt
+++ /Volumes/Data/slave/yosemite-debug-tests-wk1/build/layout-test-results/inspector/debugger/command-line-api-exception-actual.txt
@@ -1,32 +1,10 @@
 CONSOLE MESSAGE: line 4: TypeError: undefined is not an object (evaluating &apos;[].x.x&apos;)
 CONSOLE MESSAGE: line 10: ReferenceError: Can&apos;t find variable: variableThatDoesNotExist
-CONSOLE MESSAGE: line 16: SyntaxError: Unexpected token &apos;)&apos;
-CONSOLE MESSAGE: line 22: IndexSizeError: DOM Exception 1: Index or size was negative, or greater than the allowed value.
-CONSOLE MESSAGE: line 27: thrown string
-CONSOLE MESSAGE: line 32: 123.456
-CONSOLE MESSAGE: line 37: null
-CONSOLE MESSAGE: line 42: [object Object]
-CONSOLE MESSAGE: line 47: [object HTMLBodyElement]
-CONSOLE MESSAGE: line 55: CATCHER: TypeError: undefined is not an object (evaluating &apos;[].x.x&apos;)
-CONSOLE MESSAGE: line 55: CATCHER: thrown string
-CONSOLE MESSAGE: line 55: CATCHER: [object Object]
+FAIL: Timed out waiting for notifyDone to be called
 Checks that $exception is available and accurate in evaluations when paused on an exception.
 
 BEFORE: $exception =&gt; undefined
 PAUSE #1: $exception =&gt; TypeError: undefined is not an object (evaluating &apos;[].x.x&apos;)
 PAUSE #2: $exception =&gt; ReferenceError: Can&apos;t find variable: variableThatDoesNotExist
-PAUSE #3: $exception =&gt; SyntaxError: Unexpected token &apos;)&apos;
-PAUSE #4: $exception =&gt; Error: IndexSizeError: DOM Exception 1
-PAUSE #5: $exception =&gt; thrown string
-PAUSE #6: $exception =&gt; 123.456
-PAUSE #7: $exception =&gt; null
-PAUSE #8: $exception =&gt; Object
-PAUSE #9: $exception =&gt; body
-PAUSE #10: $exception =&gt; TypeError: undefined is not an object (evaluating &apos;[].x.x&apos;)
-STEPPED OUT TO CATCH BLOCK: $exception === e ? true
-PAUSE #11: $exception =&gt; thrown string
-STEPPED OUT TO CATCH BLOCK: $exception === e ? true
-PAUSE #12: $exception =&gt; Object
-STEPPED OUT TO CATCH BLOCK: $exception === e ? true
-AFTER: $exception =&gt; undefined
+AFTER: $exception =&gt; SyntaxError: Unexpected token &apos;)&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147554</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-12-08 17:22:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/23813812&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147789</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-12-09 08:55:25 -0800</bug_when>
    <thetext>Marked as flaky on Mac in &lt;https://trac.webkit.org/r193834&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206973</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-06-30 19:52:50 -0700</bug_when>
    <thetext>This kind of timeout with output sounds like it is actually just really really slow.

I ran the test locally and found an issue with it, so I&apos;m just completely rewriting the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206977</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-06-30 20:14:04 -0700</bug_when>
    <thetext>*** Bug 152487 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1206978</commentid>
    <comment_count>6</comment_count>
      <attachid>282509</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-06-30 20:17:06 -0700</bug_when>
    <thetext>Created attachment 282509
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207136</commentid>
    <comment_count>7</comment_count>
      <attachid>282509</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-07-01 09:20:01 -0700</bug_when>
    <thetext>Comment on attachment 282509
[PATCH] Proposed Fix

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

&gt; LayoutTests/inspector/debugger/command-line-api-exception-nested-catch.html:47
&gt; +                if (!WebInspector.debuggerManager.activeCallFrame)

You *probably* could rewrite this using DebuggerManager&apos;s promises and avoid the phase thing. See comment below.

&gt; LayoutTests/inspector/debugger/command-line-api-exception.html:36
&gt; +                        WebInspector.debuggerManager.resume();

(applies throughout) Since many DebuggerManager commands return promises, you could do:

WebInspector.debuggerManager.resume().then(resolve, reject);

Internally, it does a single fire listener for the same event. This helps to keep the logic of event ordering inside DebuggerManager for many use cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207219</commentid>
    <comment_count>8</comment_count>
      <attachid>282569</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-07-01 12:33:09 -0700</bug_when>
    <thetext>Created attachment 282569
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207479</commentid>
    <comment_count>9</comment_count>
      <attachid>282569</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-02 20:34:03 -0700</bug_when>
    <thetext>Comment on attachment 282569
[PATCH] Proposed Fix

Clearing flags on attachment: 282569

Committed r202784: &lt;http://trac.webkit.org/changeset/202784&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207480</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-02 20:34:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282509</attachid>
            <date>2016-06-30 20:17:06 -0700</date>
            <delta_ts>2016-07-01 12:33:09 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>rewrite-1.patch</filename>
            <type>text/plain</type>
            <size>23057</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NWNlODEyZi4uNGU4ODA4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE2LTA2
LTMwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgaW5z
cGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWwgZmxha2lseSB0
aW1lcyBvdXQgb24gbWFjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTIwMjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIzODEzODEyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Rl
YnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24tbmVzdGVkLWNh
dGNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1s
aW5lLWFwaS1leGNlcHRpb24tbmVzdGVkLWNhdGNoLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9y
L2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWw6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFJld3JpdGUgdGhlc2UgdGVzdHMg
dG8gdXNlIHRoZSBuZXcgdGVzdCBoYXJuZXNzLgorICAgICAgICBUaGlzIGFsc28gaXMgbW9yZSBj
YXJlZnVsIGFib3V0IFBhdXNlL1Jlc3VtZSB0aW1pbmcgZGlmZmVyZW5jZXMKKyAgICAgICAgYmV0
d2VlbiBSZWxlYXNlIGFuZCBEZWJ1ZyBidWlsZHMuCisKKzIwMTYtMDYtMzAgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBGaXgg
aW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNlLXJlYXNvbi5odG1sCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkzMjUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxpbmUtYXBp
LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYjJlYmI4Ni4uMTdjNDYxMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0
aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29t
bWFuZC1saW5lLWFwaS1leGNlcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0xMiwyMSArMTIsNTMgQEAg
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBDQVRDSEVSOiB0aHJvd24gc3RyaW5nCiBDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNTU6IENBVENIRVI6IFtvYmplY3QgT2JqZWN0XQogQ2hlY2tzIHRoYXQg
JGV4Y2VwdGlvbiBpcyBhdmFpbGFibGUgYW5kIGFjY3VyYXRlIGluIGV2YWx1YXRpb25zIHdoZW4g
cGF1c2VkIG9uIGFuIGV4Y2VwdGlvbi4KIAotQkVGT1JFOiAkZXhjZXB0aW9uID0+IHVuZGVmaW5l
ZAotUEFVU0UgIzE6ICRleGNlcHRpb24gPT4gVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnW10ueC54JykKLVBBVVNFICMyOiAkZXhjZXB0aW9uID0+IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiB2YXJpYWJsZVRoYXREb2VzTm90RXhp
c3QKLVBBVVNFICMzOiAkZXhjZXB0aW9uID0+IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICcpJwotUEFVU0UgIzQ6ICRleGNlcHRpb24gPT4gRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00g
RXhjZXB0aW9uIDEKLVBBVVNFICM1OiAkZXhjZXB0aW9uID0+IHRocm93biBzdHJpbmcKLVBBVVNF
ICM2OiAkZXhjZXB0aW9uID0+IDEyMy40NTYKLVBBVVNFICM3OiAkZXhjZXB0aW9uID0+IG51bGwK
LVBBVVNFICM4OiAkZXhjZXB0aW9uID0+IE9iamVjdAotUEFVU0UgIzk6ICRleGNlcHRpb24gPT4g
PGJvZHk+Ci1QQVVTRSAjMTA6ICRleGNlcHRpb24gPT4gVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnW10ueC54JykKLVNURVBQRUQgT1VUIFRPIENBVENI
IEJMT0NLOiAkZXhjZXB0aW9uID09PSBlID8gdHJ1ZQotUEFVU0UgIzExOiAkZXhjZXB0aW9uID0+
IHRocm93biBzdHJpbmcKLVNURVBQRUQgT1VUIFRPIENBVENIIEJMT0NLOiAkZXhjZXB0aW9uID09
PSBlID8gdHJ1ZQotUEFVU0UgIzEyOiAkZXhjZXB0aW9uID0+IE9iamVjdAotU1RFUFBFRCBPVVQg
VE8gQ0FUQ0ggQkxPQ0s6ICRleGNlcHRpb24gPT09IGUgPyB0cnVlCi1BRlRFUjogJGV4Y2VwdGlv
biA9PiB1bmRlZmluZWQKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBDb21tYW5kTGluZUFQSS4k
ZXhjZXB0aW9uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQmVmb3JlRXhjZXB0aW9ucworUEFTUzog
JGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIGV4Y2VwdGlvbi4K
KworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFVuY2F1Z2h0VHlwZUV4Y2VwdGlvbgorJGV4Y2VwdGlv
biA9PiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdb
XS54LngnKQorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHRSZWZlcmVuY2VFeGNlcHRp
b24KKyRleGNlcHRpb24gPT4gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHZh
cmlhYmxlVGhhdERvZXNOb3RFeGlzdAorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHRT
eW50YXhFeGNlcHRpb24KKyRleGNlcHRpb24gPT4gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJyknCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBVbmNhdWdodERPTUV4Y2VwdGlvbgorJGV4
Y2VwdGlvbiA9PiBFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorCistLSBS
dW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHRTdHJpbmcKKyRleGNlcHRpb24gPT4gdGhyb3duIHN0
cmluZworCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHROdW1iZXIKKyRleGNlcHRpb24g
PT4gMTIzLjQ1NgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHROdWxsCiskZXhjZXB0
aW9uID0+IG51bGwKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFVuY2F1Z2h0T2JqZWN0CiskZXhj
ZXB0aW9uID0+IE9iamVjdAorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHROb2RlCisk
ZXhjZXB0aW9uID0+IDxib2R5PgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ2F0Y2hUeXBlRXhj
ZXB0aW9uCitQQVNTOiBQYXVzZWQsIHN0ZXBwaW5nIG91dCB0byBjYXRjaCBibG9jay4uLgorUEFT
UzogYCRleGNlcHRpb25gIHNob3VsZCBiZSBlcXVhbCB0byBgZWAuCiskZXhjZXB0aW9uID0+IFR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ1tdLngueCcp
CisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYXRjaFRocm93blN0cmluZworUEFTUzogUGF1c2Vk
LCBzdGVwcGluZyBvdXQgdG8gY2F0Y2ggYmxvY2suLi4KK1BBU1M6IGAkZXhjZXB0aW9uYCBzaG91
bGQgYmUgZXF1YWwgdG8gYGVgLgorJGV4Y2VwdGlvbiA9PiB0aHJvd24gc3RyaW5nCisKKy0tIFJ1
bm5pbmcgdGVzdCBjYXNlOiBDYXRjaFRocm93bk9iamVjdAorUEFTUzogUGF1c2VkLCBzdGVwcGlu
ZyBvdXQgdG8gY2F0Y2ggYmxvY2suLi4KK1BBU1M6IGAkZXhjZXB0aW9uYCBzaG91bGQgYmUgZXF1
YWwgdG8gYGVgLgorJGV4Y2VwdGlvbiA9PiBPYmplY3QKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6
IEFmdGVyRXhjZXB0aW9ucworUEFTUzogJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIGlm
IHRoZXJlIGlzIG5vIGV4Y2VwdGlvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLW5lc3RlZC1jYXRjaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFw
aS1leGNlcHRpb24tbmVzdGVkLWNhdGNoLWV4cGVjdGVkLnR4dAppbmRleCBiZjdmN2M3Li4wY2I5
OWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1s
aW5lLWFwaS1leGNlcHRpb24tbmVzdGVkLWNhdGNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24tbmVzdGVk
LWNhdGNoLWV4cGVjdGVkLnR4dApAQCAtMiwxMiArMiwxOSBAQCBDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjc6IGlubmVyIGV4Y2VwdGlvbgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY5OiBvdXRlciBl
eGNlcHRpb24KIENoZWNrcyB0aGF0ICRleGNlcHRpb24gaXMgdGhlIHZhbHVlIG9mIHRoZSBjdXJy
ZW50IGV4Y2VwdGlvbiwgZXZlbiBpbiBuZXN0ZWQgY2F0Y2ggYmxvY2tzLgogCi1CRUZPUkUgOiAk
ZXhjZXB0aW9uID0+IHVuZGVmaW5lZAorCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IENvbW1hbmRM
aW5lQVBJLiRleGNlcHRpb24KKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBFbXB0eUJlZm9yZQorUEFT
UzogJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIGV4Y2VwdGlv
bi4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENoZWNrRXhjZXB0aW9uSW5zaWRlTmVzdGVkQ2F0
Y2hCbG9ja3MKIE9VVEVSIDE6ICRleGNlcHRpb24gPT4gb3V0ZXIgZXhjZXB0aW9uCiBJTk5FUiAx
OiAkZXhjZXB0aW9uID0+IGlubmVyIGV4Y2VwdGlvbgogSU5ORVIgMjogJGV4Y2VwdGlvbiA9PiBp
bm5lciBleGNlcHRpb24KICAgQ0FUQ0g6ICRleGNlcHRpb24gPT09IGUyID8gdHJ1ZQogT1VURVIg
MjogJGV4Y2VwdGlvbiA9PiBvdXRlciBleGNlcHRpb24KICAgQ0FUQ0g6ICRleGNlcHRpb24gPT09
IGUxID8gdHJ1ZQotQUZURVIgIDogJGV4Y2VwdGlvbiA9PiB1bmRlZmluZWQKKworLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IEVtcHR5QWZ0ZXIKK1BBU1M6ICRleGNlcHRpb24gc2hvdWxkIGJlIHVuZGVm
aW5lZCBpZiB0aGVyZSBpcyBubyBleGNlcHRpb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxpbmUtYXBpLWV4Y2VwdGlvbi1uZXN0ZWQtY2F0
Y2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxpbmUtYXBp
LWV4Y2VwdGlvbi1uZXN0ZWQtY2F0Y2guaHRtbAppbmRleCBlYTg4ZDVlLi40NmYxYjZhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1l
eGNlcHRpb24tbmVzdGVkLWNhdGNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLW5lc3RlZC1jYXRjaC5odG1sCkBAIC0x
LDE1ICsxLDEwIEBACi08IWRvY3R5cGUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuL3Jlc291cmNlcy9leGNlcHRpb25zLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9leGNlcHRpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiB0cmlnZ2VyRXhj
ZXB0aW9uKCkKLXsKLSAgICAvLyBXZSBleHBlY3QgdW5jYXVnaHQgZXhjZXB0aW9ucywgc28gYXZv
aWQgbG9ncyBmb3IgdGhlbS4KLSAgICB3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKCl7fTsKLSAg
ICBzZXRUaW1lb3V0KG5lc3RlZENhdGNoQmxvY2tzLCAwKTsKLX0KK3dpbmRvdy5vbmVycm9yID0g
ZnVuY3Rpb24oKXt9OwogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKQEAgLTI3LDU4ICsyMiw4NyBAQCBm
dW5jdGlvbiB0ZXN0KCkKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgdmFyIGRvbmUgPSBmYWxz
ZTsKLSAgICB2YXIgcGhhc2UgPSAwOwogCi0gICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdl
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuQ2Fs
bEZyYW1lc0RpZENoYW5nZSwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgaWYgKGRvbmUpCi0g
ICAgICAgICAgICByZXR1cm47CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVB
c3luY1N1aXRlKCJDb21tYW5kTGluZUFQSS4kZXhjZXB0aW9uIik7CiAKLSAgICAgICAgcGhhc2Ur
KzsKLQotICAgICAgICAvLyBTa2lwIHBhc3QgdGhlIGZpcnN0IHBhdXNlIHRvIHRoZSBzZWNvbmQg
cGF1c2UuCi0gICAgICAgIGlmIChwaGFzZSA9PT0gMSkgewotICAgICAgICAgICAgZHVtcENvbW1h
bmRMaW5lQVBJVmFsdWUoIk9VVEVSIDEiKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1
Z2dlck1hbmFnZXIucmVzdW1lKCk7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgc3VpdGUuYWRk
VGVzdENhc2UoeworICAgICAgICBuYW1lOiAiRW1wdHlCZWZvcmUiLAorICAgICAgICBkZXNjcmlw
dGlvbjogIldpdGhvdXQgZXhjZXB0aW9ucywgJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVk
IiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLnJ1bnRpbWVNYW5hZ2VyLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3coIiRleGNl
cHRpb24iLCB7b2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVl
LCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IHRydWV9LCAocmVzdWx0LCB3
YXNUaHJvd24pID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQo
cmVzdWx0LmRlc2NyaXB0aW9uID09PSAidW5kZWZpbmVkIiwgIiRleGNlcHRpb24gc2hvdWxkIGJl
IHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBubyBleGNlcHRpb24uIik7CisgICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KKyAgICB9KTsKIAotICAgICAg
ICAvLyBQYXVzZWQgb24gdGhlIGV4Y2VwdGlvbiBpbiB0aGUgaW5uZXIgdHJ5LCBzdGVwIG92ZXIg
dG8gZ2V0IGludG8gdGhlIGlubmVyIGNhdGNoLgotICAgICAgICBpZiAocGhhc2UgPT09IDIpIHsK
LSAgICAgICAgICAgIGR1bXBDb21tYW5kTGluZUFQSVZhbHVlKCJJTk5FUiAxIik7Ci0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnN0ZXBPdmVyKCk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5h
bWU6ICJDaGVja0V4Y2VwdGlvbkluc2lkZU5lc3RlZENhdGNoQmxvY2tzIiwKKyAgICAgICAgZGVz
Y3JpcHRpb246ICJDaGVjayAkZXhjZXB0aW9uIGlzIGFsd2F5cyB0aGUgY3VycmVudCBleGNlcHRp
b24gb2JqZWN0IHdoZW4gc3RlcHBpbmcgdGhyb3VnaCBjYXRjaCBibG9ja3MuIiwKKyAgICAgICAg
dGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgic2V0VGltZW91dChuZXN0ZWRDYXRjaEJsb2NrcywgMCkiKTsKIAotICAg
ICAgICAvLyBQYXVzZWQgaW4gdGhlIGlubmVyIGNhdGNoLCB2ZXJpZnkgJGV4Y2VwdGlvbiBpcyAi
aW5uZXIgZXhjZXB0aW9uIi4KLSAgICAgICAgaWYgKHBoYXNlID09PSAzKSB7Ci0gICAgICAgICAg
ICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgiSU5ORVIgMiIpOwotICAgICAgICAgICAgY2hlY2tJ
ZkV4Y2VwdGlvblZhbHVlTWF0Y2hlc1ZhcmlhYmxlKCJlMiIpOwotICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5zdGVwT3ZlcigpOwotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9CisgICAgICAgICAgICBsZXQgcGhhc2UgPSAwOworICAgICAgICAgICAgbGV0IGxp
c3RlbmVyID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuQ2FsbEZyYW1lc0RpZENoYW5nZSwgKGV2
ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5h
Z2VyLmFjdGl2ZUNhbGxGcmFtZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgICAgICAgICAgcGhhc2UrKzsKKworICAgICAgICAgICAgICAgIC8vIFNraXAgcGFzdCB0aGUg
Zmlyc3QgcGF1c2UgdG8gdGhlIHNlY29uZCBwYXVzZS4KKyAgICAgICAgICAgICAgICBpZiAocGhh
c2UgPT09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgZHVtcENvbW1hbmRMaW5lQVBJVmFsdWUo
Ik9VVEVSIDEiKTsKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFu
YWdlci5yZXN1bWUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIC8vIFBhdXNlZCBvbiB0aGUgZXhjZXB0aW9uIGluIHRo
ZSBpbm5lciB0cnksIHN0ZXAgb3ZlciB0byBnZXQgaW50byB0aGUgaW5uZXIgY2F0Y2guCisgICAg
ICAgICAgICAgICAgaWYgKHBoYXNlID09PSAyKSB7CisgICAgICAgICAgICAgICAgICAgIGR1bXBD
b21tYW5kTGluZUFQSVZhbHVlKCJJTk5FUiAxIik7CisgICAgICAgICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuc3RlcE92ZXIoKTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIFBhdXNlZCBp
biB0aGUgaW5uZXIgY2F0Y2gsIHZlcmlmeSAkZXhjZXB0aW9uIGlzICJpbm5lciBleGNlcHRpb24i
LgorICAgICAgICAgICAgICAgIGlmIChwaGFzZSA9PT0gMykgeworICAgICAgICAgICAgICAgICAg
ICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgiSU5ORVIgMiIpOworICAgICAgICAgICAgICAgICAg
ICBjaGVja0lmRXhjZXB0aW9uVmFsdWVNYXRjaGVzVmFyaWFibGUoImUyIik7CisgICAgICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuc3RlcE92ZXIoKTsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgCi0gICAg
ICAgIC8vIFN0ZXBwZWQgaW50byB0aGUgb3V0ZXIgY2F0Y2gsIHZlcmlmeSAkZXhjZXB0aW9uIGlz
ICJvdXRlciBleGNlcHRpb24iLgotICAgICAgICBpZiAocGhhc2UgPT09IDQpIHsKLSAgICAgICAg
ICAgIGR1bXBDb21tYW5kTGluZUFQSVZhbHVlKCJPVVRFUiAyIik7Ci0gICAgICAgICAgICBjaGVj
a0lmRXhjZXB0aW9uVmFsdWVNYXRjaGVzVmFyaWFibGUoImUxIik7Ci0gICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOwotICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgICAgIC8vIFN0ZXBwZWQgaW50byB0aGUgb3V0ZXIgY2F0Y2gsIHZlcmlmeSAk
ZXhjZXB0aW9uIGlzICJvdXRlciBleGNlcHRpb24iLgorICAgICAgICAgICAgICAgIGlmIChwaGFz
ZSA9PT0gNCkgeworICAgICAgICAgICAgICAgICAgICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgi
T1VURVIgMiIpOworICAgICAgICAgICAgICAgICAgICBjaGVja0lmRXhjZXB0aW9uVmFsdWVNYXRj
aGVzVmFyaWFibGUoImUxIik7CisKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRl
YnVnZ2VyTWFuYWdlci5yZXN1bWUoKTsKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ck1hbmFnZXIuRXZlbnQuQ2FsbEZyYW1lc0RpZENoYW5nZSwgbGlzdGVuZXIpOworICAgICAgICAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnNpbmdsZUZpcmVFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuUmVzdW1lZCwgKGV2ZW50
KSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAg
ICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICB9KTsKIAotICAgIFdlYkluc3BlY3Rv
ci5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJN
YW5hZ2VyLkV2ZW50LlJlc3VtZWQsIGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAgIGRvbmUgPSB0
cnVlOwotICAgICAgICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgiQUZURVIgICIpOwotICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
KyAgICAgICAgbmFtZTogIkVtcHR5QWZ0ZXIiLAorICAgICAgICBkZXNjcmlwdGlvbjogIldpdGhv
dXQgZXhjZXB0aW9ucywgJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIiwKKyAgICAgICAg
dGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJ1
bnRpbWVNYW5hZ2VyLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3coIiRleGNlcHRpb24iLCB7b2Jq
ZWN0R3JvdXA6ICJ0ZXN0IiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVlLCBkb05vdFBhdXNl
T25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IHRydWV9LCAocmVzdWx0LCB3YXNUaHJvd24pID0+
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0LmRlc2Ny
aXB0aW9uID09PSAidW5kZWZpbmVkIiwgIiRleGNlcHRpb24gc2hvdWxkIGJlIHVuZGVmaW5lZCBp
ZiB0aGVyZSBpcyBubyBleGNlcHRpb24uIik7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgICAgICAgfSk7CisgICAgICAgIH0KICAgICB9KTsKIAotICAgIGR1bXBDb21tYW5kTGlu
ZUFQSVZhbHVlKCJCRUZPUkUgIik7Ci0gICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
dHJpZ2dlckV4Y2VwdGlvbigpIik7CisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7
CiB9CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLSAgICA8
cD5DaGVja3MgdGhhdCA8Y29kZT4kZXhjZXB0aW9uPC9jb2RlPiBpcyB0aGUgdmFsdWUgb2YgdGhl
IGN1cnJlbnQgZXhjZXB0aW9uLCBldmVuIGluIG5lc3RlZCBjYXRjaCBibG9ja3MuPC9wPgorPHA+
Q2hlY2tzIHRoYXQgPGNvZGU+JGV4Y2VwdGlvbjwvY29kZT4gaXMgdGhlIHZhbHVlIG9mIHRoZSBj
dXJyZW50IGV4Y2VwdGlvbiwgZXZlbiBpbiBuZXN0ZWQgY2F0Y2ggYmxvY2tzLjwvcD4KIDwvYm9k
eT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9j
b21tYW5kLWxpbmUtYXBpLWV4Y2VwdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWwKaW5kZXggMGM3YjkxZS4uODBh
YTkxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQt
bGluZS1hcGktZXhjZXB0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWwKQEAgLTEsOTggKzEsMTEyIEBACi08
IWRvY3R5cGUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuL3Jlc291cmNlcy9leGNlcHRpb25zLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9y
LXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2V4Y2VwdGlvbnMu
anMiPjwvc2NyaXB0PgogPHNjcmlwdD4KLXZhciBleGNlcHRpb25JbmRleCA9IDA7Ci12YXIgZXhj
ZXB0aW9uQ2F1c2VycyA9IFsKLSAgICB0cmlnZ2VyVW5jYXVnaHRUeXBlRXhjZXB0aW9uLAotICAg
IHRyaWdnZXJVbmNhdWdodFJlZmVyZW5jZUV4Y2VwdGlvbiwKLSAgICB0cmlnZ2VyVW5jYXVnaHRT
eW50YXhFeGNlcHRpb24sCi0gICAgdHJpZ2dlclVuY2F1Z2h0RE9NRXhjZXB0aW9uLAotICAgIHRo
cm93U3RyaW5nLAotICAgIHRocm93TnVtYmVyLAotICAgIHRocm93TnVsbCwKLSAgICB0aHJvd09i
amVjdCwKLSAgICB0aHJvd05vZGUsCi0gICAgZnVuY3Rpb24oKSB7IGNhdGNoZXIodHJpZ2dlclVu
Y2F1Z2h0VHlwZUV4Y2VwdGlvbik7IH0sCi0gICAgZnVuY3Rpb24oKSB7IGNhdGNoZXIodGhyb3dT
dHJpbmcpOyB9LAotICAgIGZ1bmN0aW9uKCkgeyBjYXRjaGVyKHRocm93T2JqZWN0KTsgfSwKLV07
Ci0KLQotZnVuY3Rpb24gdHJpZ2dlck5leHRFeGNlcHRpb24oKQotewotICAgIC8vIFdlIGV4cGVj
dCB1bmNhdWdodCBleGNlcHRpb25zLCBzbyBhdm9pZCBsb2dzIGZvciB0aGVtLgotICAgIHdpbmRv
dy5vbmVycm9yID0gZnVuY3Rpb24oKXt9OwotCi0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsK
LSAgICAgICAgZXhjZXB0aW9uQ2F1c2Vyc1tleGNlcHRpb25JbmRleCsrXSgpOwotICAgIH0sIDAp
OwotfQorLy8gV2UgZXhwZWN0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMsIHNvIGF2b2lkIGxvZ3MgZm9y
IHRoZW0uCit3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKCl7fTsKIAogZnVuY3Rpb24gdGVzdCgp
CiB7CiAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5hbGxFeGNlcHRpb25zQnJlYWtw
b2ludC5kaXNhYmxlZCA9IGZhbHNlOwogCi0gICAgZnVuY3Rpb24gdHJpZ2dlck5leHRFeGNlcHRp
b24oKSB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInRyaWdnZXJOZXh0
RXhjZXB0aW9uKCkiKTsKLSAgICB9CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVh
dGVBc3luY1N1aXRlKCJDb21tYW5kTGluZUFQSS4kZXhjZXB0aW9uIik7CiAKLSAgICBmdW5jdGlv
biBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZShwcmVmaXgpIHsKLSAgICAgICAgV2ViSW5zcGVjdG9y
LnJ1bnRpbWVNYW5hZ2VyLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3coIiRleGNlcHRpb24iLCB7
b2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVlLCBkb05vdFBh
dXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IHRydWV9LCBmdW5jdGlvbihyZXN1bHQsIHdh
c1Rocm93bikgewotICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2cocHJlZml4ICsgIjogJGV4
Y2VwdGlvbiA9PiAiICsgcmVzdWx0LmRlc2NyaXB0aW9uKTsKKyAgICBmdW5jdGlvbiBhZGROb0V4
Y2VwdGlvblRlc3QobmFtZSkgeworICAgICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
ICAgICBuYW1lLCBkZXNjcmlwdGlvbjogIldpdGhvdXQgZXhjZXB0aW9ucywgJGV4Y2VwdGlvbiBz
aG91bGQgYmUgdW5kZWZpbmVkIiwKKyAgICAgICAgICAgIHRlc3Q6IChyZXNvbHZlLCByZWplY3Qp
ID0+IHsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1hbmFnZXIuZXZhbHVh
dGVJbkluc3BlY3RlZFdpbmRvdygiJGV4Y2VwdGlvbiIsIHtvYmplY3RHcm91cDogInRlc3QiLCBp
bmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRl
Q29uc29sZTogdHJ1ZX0sIChyZXN1bHQsIHdhc1Rocm93bikgPT4geworICAgICAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQocmVzdWx0LmRlc2NyaXB0aW9uID09PSAidW5k
ZWZpbmVkIiwgIiRleGNlcHRpb24gc2hvdWxkIGJlIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBubyBl
eGNlcHRpb24uIik7CisgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgZnVuY3Rp
b24gY2hlY2tJZkV4Y2VwdGlvblZhbHVlTWF0Y2hlc0NhdGNoVmFyaWFibGUoKSB7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5ydW50aW1lTWFuYWdlci5ldmFsdWF0ZUluSW5zcGVjdGVkV2luZG93KCIk
ZXhjZXB0aW9uID09PSBlIiwge29iamVjdEdyb3VwOiAidGVzdCIsIGluY2x1ZGVDb21tYW5kTGlu
ZUFQSTogdHJ1ZSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlOiB0cnVlfSwg
ZnVuY3Rpb24ocmVzdWx0LCB3YXNUaHJvd24pIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
bG9nKCJTVEVQUEVEIE9VVCBUTyBDQVRDSCBCTE9DSzogJGV4Y2VwdGlvbiA9PT0gZSA/ICIgKyBy
ZXN1bHQuZGVzY3JpcHRpb24pOworICAgIGZ1bmN0aW9uIGFkZFVuY2F1Z2h0RXhjZXB0aW9uVGVz
dChuYW1lLCB0ZXN0RnVuY3Rpb24pIHsKKyAgICAgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAg
ICAgICAgICAgbmFtZSwgZGVzY3JpcHRpb246ICJUcmlnZ2VyIGFuIHVuY2F1Z2h0IGV4Y2VwdGlv
biBhbmQgY2hlY2sgJGV4Y2VwdGlvbi4iLAorICAgICAgICAgICAgdGVzdDogKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
YHNldFRpbWVvdXQoJHt0ZXN0RnVuY3Rpb259KWApOworICAgICAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5kZWJ1Z2dlck1hbmFnZXIuc2luZ2xlRmlyZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyTWFuYWdlci5FdmVudC5QYXVzZWQsIChldmVudCkgPT4geworICAgICAgICAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbkluc3BlY3RlZFdp
bmRvdygiJGV4Y2VwdGlvbiIsIHtvYmplY3RHcm91cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExp
bmVBUEk6IHRydWUsIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogdHJ1ZX0s
IChyZXN1bHQsIHdhc1Rocm93bikgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5sb2coIiRleGNlcHRpb24gPT4gIiArIHJlc3VsdC5kZXNjcmlwdGlvbik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgp
OworICAgICAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5z
aW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50
LlJlc3VtZWQsIChldmVudCkgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSk7CiAgICAg
fQogCi0gICAgdmFyIHBhdXNlcyA9IDA7Ci0gICAgdmFyIHN0ZXBwaW5nID0gZmFsc2U7Ci0gICAg
dmFyIGRvbmUgPSBmYWxzZTsKLSAgICBjb25zdCBwb2ludFdoZXJlRXhwZWN0aW9uc0FyZUJlaW5n
Q2F1Z2h0ID0gOTsKLSAgICBjb25zdCBleHBlY3RlZFBhdXNlcyA9IDEyOwotCi0gICAgV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1hbmFnZXIuRXZlbnQuQ2FsbEZyYW1lc0RpZENoYW5nZSwgZnVuY3Rpb24oZXZlbnQpIHsK
LSAgICAgICAgaWYgKGRvbmUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKCFz
dGVwcGluZykgewotICAgICAgICAgICAgZHVtcENvbW1hbmRMaW5lQVBJVmFsdWUoIlBBVVNFICMi
ICsgKCsrcGF1c2VzKSk7Ci0gICAgICAgICAgICBpZiAocGF1c2VzID4gcG9pbnRXaGVyZUV4cGVj
dGlvbnNBcmVCZWluZ0NhdWdodCkgewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1
Z2dlck1hbmFnZXIuc3RlcE91dCgpOwotICAgICAgICAgICAgICAgIHN0ZXBwaW5nID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICByZXR1cm47CisgICAgZnVuY3Rpb24gYWRkQ2F1Z2h0RXhjZXB0aW9u
VGVzdChuYW1lLCBleHByZXNzaW9uKSB7CisgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAg
ICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uOiAiVHJpZ2dlciBhIGNhdWdodCBleGNlcHRpb24g
YW5kIGNoZWNrICRleGNlcHRpb24uIiwKKyAgICAgICAgICAgIHRlc3Q6IChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4
cHJlc3Npb24pOworCisgICAgICAgICAgICAgICAgbGV0IGRpZFN0ZXAgPSBmYWxzZTsKKyAgICAg
ICAgICAgICAgICBsZXQgZGlkRXZhbHVhdGUgPSBmYWxzZTsKKworICAgICAgICAgICAgICAgIGxl
dCBsaXN0ZW5lciA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkNhbGxGcmFtZXNEaWRDaGFuZ2Us
IChldmVudCkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci5kZWJ1
Z2dlck1hbmFnZXIuYWN0aXZlQ2FsbEZyYW1lKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoZGlkU3RlcCAmJiBkaWRFdmFsdWF0ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkNhbGxGcmFtZXNEaWRDaGFuZ2UsIGxpc3RlbmVy
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBpZiAoIWRpZFN0ZXApIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGRpZFN0ZXAgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5wYXNzKCJQYXVzZWQsIHN0ZXBwaW5nIG91dCB0byBjYXRjaCBibG9j
ay4uLiIpOworICAgICAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFu
YWdlci5zdGVwT3V0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBpZiAoIWRpZEV2YWx1YXRlKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBkaWRFdmFsdWF0ZSA9IHRydWU7CisgICAgICAgICAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbkluc3Bl
Y3RlZFdpbmRvdygiJGV4Y2VwdGlvbiA9PT0gZSIsIHtvYmplY3RHcm91cDogInRlc3QiLCBpbmNs
dWRlQ29tbWFuZExpbmVBUEk6IHRydWUsIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29u
c29sZTogdHJ1ZX0sIChyZXN1bHQsIHdhc1Rocm93bikgPT4geworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXN1bHQuZGVzY3JpcHRpb24gPT09
ICJ0cnVlIiwgImAkZXhjZXB0aW9uYCBzaG91bGQgYmUgZXF1YWwgdG8gYGVgLiIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbkluc3BlY3RlZFdpbmRvdygiJGV4Y2VwdGlvbiIs
IHtvYmplY3RHcm91cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsIGRvTm90
UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogdHJ1ZX0sIChyZXN1bHQsIHdhc1Rocm93
bikgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIk
ZXhjZXB0aW9uID0+ICIgKyByZXN1bHQuZGVzY3JpcHRpb24pOworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgfQot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgY2hlY2tJZkV4Y2VwdGlvblZhbHVlTWF0Y2hl
c0NhdGNoVmFyaWFibGUoKTsKLSAgICAgICAgICAgIHN0ZXBwaW5nID0gZmFsc2U7Ci0gICAgICAg
IH0KLQotICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOwotCi0g
ICAgICAgIGlmIChwYXVzZXMgIT09IGV4cGVjdGVkUGF1c2VzKSB7Ci0gICAgICAgICAgICB0cmln
Z2VyTmV4dEV4Y2VwdGlvbigpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAg
fSk7Ci0KLSAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5SZXN1bWVkLCBmdW5jdGlvbihldmVu
dCkgewotICAgICAgICBkb25lID0gdHJ1ZTsKLSAgICAgICAgZHVtcENvbW1hbmRMaW5lQVBJVmFs
dWUoIkFGVEVSIik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAg
fSk7Ci0KLSAgICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgiQkVGT1JFIik7Ci0gICAgdHJpZ2dl
ck5leHRFeGNlcHRpb24oKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgYWRkTm9FeGNlcHRp
b25UZXN0KCJCZWZvcmVFeGNlcHRpb25zIik7CisKKyAgICBhZGRVbmNhdWdodEV4Y2VwdGlvblRl
c3QoIlVuY2F1Z2h0VHlwZUV4Y2VwdGlvbiIsICJ0cmlnZ2VyVW5jYXVnaHRUeXBlRXhjZXB0aW9u
Iik7CisgICAgYWRkVW5jYXVnaHRFeGNlcHRpb25UZXN0KCJVbmNhdWdodFJlZmVyZW5jZUV4Y2Vw
dGlvbiIsICJ0cmlnZ2VyVW5jYXVnaHRSZWZlcmVuY2VFeGNlcHRpb24iKTsKKyAgICBhZGRVbmNh
dWdodEV4Y2VwdGlvblRlc3QoIlVuY2F1Z2h0U3ludGF4RXhjZXB0aW9uIiwgInRyaWdnZXJVbmNh
dWdodFN5bnRheEV4Y2VwdGlvbiIpOworICAgIGFkZFVuY2F1Z2h0RXhjZXB0aW9uVGVzdCgiVW5j
YXVnaHRET01FeGNlcHRpb24iLCAidHJpZ2dlclVuY2F1Z2h0RE9NRXhjZXB0aW9uIik7CisgICAg
YWRkVW5jYXVnaHRFeGNlcHRpb25UZXN0KCJVbmNhdWdodFN0cmluZyIsICJ0aHJvd1N0cmluZyIp
OworICAgIGFkZFVuY2F1Z2h0RXhjZXB0aW9uVGVzdCgiVW5jYXVnaHROdW1iZXIiLCAidGhyb3dO
dW1iZXIiKTsKKyAgICBhZGRVbmNhdWdodEV4Y2VwdGlvblRlc3QoIlVuY2F1Z2h0TnVsbCIsICJ0
aHJvd051bGwiKTsKKyAgICBhZGRVbmNhdWdodEV4Y2VwdGlvblRlc3QoIlVuY2F1Z2h0T2JqZWN0
IiwgInRocm93T2JqZWN0Iik7CisgICAgYWRkVW5jYXVnaHRFeGNlcHRpb25UZXN0KCJVbmNhdWdo
dE5vZGUiLCAidGhyb3dOb2RlIik7CisKKyAgICBhZGRDYXVnaHRFeGNlcHRpb25UZXN0KCJDYXRj
aFR5cGVFeGNlcHRpb24iLCAic2V0VGltZW91dChmdW5jdGlvbigpIHsgY2F0Y2hlcih0cmlnZ2Vy
VW5jYXVnaHRUeXBlRXhjZXB0aW9uKTsgfSkiKTsKKyAgICBhZGRDYXVnaHRFeGNlcHRpb25UZXN0
KCJDYXRjaFRocm93blN0cmluZyIsICJzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBjYXRjaGVyKHRo
cm93U3RyaW5nKTsgfSkiKTsKKyAgICBhZGRDYXVnaHRFeGNlcHRpb25UZXN0KCJDYXRjaFRocm93
bk9iamVjdCIsICJzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBjYXRjaGVyKHRocm93T2JqZWN0KTsg
fSkiKTsKKworICAgIGFkZE5vRXhjZXB0aW9uVGVzdCgiQWZ0ZXJFeGNlcHRpb25zIik7CisKKyAg
ICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPkNoZWNrcyB0aGF0IDxjb2RlPiRleGNl
cHRpb248L2NvZGU+IGlzIGF2YWlsYWJsZSBhbmQgYWNjdXJhdGUgaW4gZXZhbHVhdGlvbnMgd2hl
biBwYXVzZWQgb24gYW4gZXhjZXB0aW9uLjwvcD4KKzxwPkNoZWNrcyB0aGF0IDxjb2RlPiRleGNl
cHRpb248L2NvZGU+IGlzIGF2YWlsYWJsZSBhbmQgYWNjdXJhdGUgaW4gZXZhbHVhdGlvbnMgd2hl
biBwYXVzZWQgb24gYW4gZXhjZXB0aW9uLjwvcD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTBmNDNmNi4uYTRjN2MyZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMTEsOCAr
MTIxMSw2IEBAIHdlYmtpdC5vcmcvYi8xNDg2MzYgaW5zcGVjdG9yL2Nzcy9zZWxlY3Rvci1keW5h
bWljLXNwZWNpZmljaXR5Lmh0bWwgWyBQYXNzIFRpbWVvCiB3ZWJraXQub3JnL2IvMTQ4NjM2IGlu
c3BlY3Rvci9jc3Mvc2VsZWN0b3Itc3BlY2lmaWNpdHkuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3
ZWJraXQub3JnL2IvMTUzNDYwIFsgRGVidWcgXSBpbnNwZWN0b3IvY29kZW1pcnJvci9wcmV0dHlw
cmludGluZy1jc3MtcnVsZXMuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTU4
NzQyIFsgRGVidWcgXSBpbnNwZWN0b3IvZGVidWdnZXIvYnJlYWstaW4tY29uc3RydWN0b3ItYmVm
b3JlLXN1cGVyLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE1MjAyOSBpbnNw
ZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24uaHRtbCBbIFBhc3MgVGlt
ZW91dCBdCi13ZWJraXQub3JnL2IvMTUyNDg3IGluc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxp
bmUtYXBpLWV4Y2VwdGlvbi1uZXN0ZWQtY2F0Y2guaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJr
aXQub3JnL2IvMTQ4NjM2IGluc3BlY3Rvci9kb20vY29udGVudC1mbG93LWNvbnRlbnQtbm9kZXMu
aHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTQ4NjM2IGluc3BlY3Rvci9kb20v
Y29udGVudC1mbG93LWNvbnRlbnQtcmVtb3ZhbC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtp
dC5vcmcvYi8xNDg2MzYgaW5zcGVjdG9yL2RvbS9jb250ZW50LWZsb3ctbGlzdC5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDZmNzJkNjUuLjQ3MzQ2YWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDE2LTA2LTMwICBK
b3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgaW5zcGVjdG9y
L2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWwgZmxha2lseSB0aW1lcyBv
dXQgb24gbWFjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTIwMjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIzODEzODEyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNl
L09iamVjdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3QuYWRkRXZlbnRMaXN0ZW5l
cik6CisgICAgICAgIFJldHVybiB0aGUgbGlzdGVuZXIsIHRoaXMgbWFrZXMgaXQgY2xlYW5lciB0
byB3cml0ZSB0ZXN0cy4KKworMjAxNi0wNi0zMCAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE1ha2UgZW5hYmxpbmcgcHJvdG9j
b2wgbG9nZ2luZyBpbiBpbnNwZWN0b3IgdGVzdHMgZWFzeSB0byByZW1lbWJlcgogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5MzIzCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvT2JqZWN0LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9PYmplY3QuanMKaW5kZXgg
MDQ5Zjc4Mi4uNTZlNWNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9PYmplY3QuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9PYmplY3QuanMKQEAgLTU0LDYgKzU0LDcgQEAgV2ViSW5zcGVjdG9yLk9i
amVjdCA9IGNsYXNzIFdlYkluc3BlY3Rvck9iamVjdAogICAgICAgICB9CiAKICAgICAgICAgbGlz
dGVuZXJzVGFibGUuYWRkKHRoaXNPYmplY3QsIGxpc3RlbmVyKTsKKyAgICAgICAgcmV0dXJuIGxp
c3RlbmVyOwogICAgIH0KIAogICAgIHN0YXRpYyBzaW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihldmVu
dFR5cGUsIGxpc3RlbmVyLCB0aGlzT2JqZWN0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282569</attachid>
            <date>2016-07-01 12:33:09 -0700</date>
            <delta_ts>2016-07-02 20:34:03 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>fix-3.patch</filename>
            <type>text/plain</type>
            <size>22720</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NWNlODEyZi4uNGU4ODA4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIyIEBACiAyMDE2LTA2
LTMwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgaW5z
cGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWwgZmxha2lseSB0
aW1lcyBvdXQgb24gbWFjCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNTIwMjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIzODEzODEyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Rl
YnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24tbmVzdGVkLWNh
dGNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1s
aW5lLWFwaS1leGNlcHRpb24tbmVzdGVkLWNhdGNoLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9y
L2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWw6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFJld3JpdGUgdGhlc2UgdGVzdHMg
dG8gdXNlIHRoZSBuZXcgdGVzdCBoYXJuZXNzLgorICAgICAgICBUaGlzIGFsc28gaXMgbW9yZSBj
YXJlZnVsIGFib3V0IFBhdXNlL1Jlc3VtZSB0aW1pbmcgZGlmZmVyZW5jZXMKKyAgICAgICAgYmV0
d2VlbiBSZWxlYXNlIGFuZCBEZWJ1ZyBidWlsZHMuCisKKzIwMTYtMDYtMzAgIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBGaXgg
aW5zcGVjdG9yL2RlYnVnZ2VyL3BhdXNlLXJlYXNvbi5odG1sCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkzMjUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxpbmUtYXBp
LWV4Y2VwdGlvbi1leHBlY3RlZC50eHQKaW5kZXggYjJlYmI4Ni4uMTdjNDYxMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0
aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29t
bWFuZC1saW5lLWFwaS1leGNlcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0xMiwyMSArMTIsNTMgQEAg
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDU1OiBDQVRDSEVSOiB0aHJvd24gc3RyaW5nCiBDT05TT0xF
IE1FU1NBR0U6IGxpbmUgNTU6IENBVENIRVI6IFtvYmplY3QgT2JqZWN0XQogQ2hlY2tzIHRoYXQg
JGV4Y2VwdGlvbiBpcyBhdmFpbGFibGUgYW5kIGFjY3VyYXRlIGluIGV2YWx1YXRpb25zIHdoZW4g
cGF1c2VkIG9uIGFuIGV4Y2VwdGlvbi4KIAotQkVGT1JFOiAkZXhjZXB0aW9uID0+IHVuZGVmaW5l
ZAotUEFVU0UgIzE6ICRleGNlcHRpb24gPT4gVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnW10ueC54JykKLVBBVVNFICMyOiAkZXhjZXB0aW9uID0+IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiB2YXJpYWJsZVRoYXREb2VzTm90RXhp
c3QKLVBBVVNFICMzOiAkZXhjZXB0aW9uID0+IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2Vu
ICcpJwotUEFVU0UgIzQ6ICRleGNlcHRpb24gPT4gRXJyb3I6IEluZGV4U2l6ZUVycm9yOiBET00g
RXhjZXB0aW9uIDEKLVBBVVNFICM1OiAkZXhjZXB0aW9uID0+IHRocm93biBzdHJpbmcKLVBBVVNF
ICM2OiAkZXhjZXB0aW9uID0+IDEyMy40NTYKLVBBVVNFICM3OiAkZXhjZXB0aW9uID0+IG51bGwK
LVBBVVNFICM4OiAkZXhjZXB0aW9uID0+IE9iamVjdAotUEFVU0UgIzk6ICRleGNlcHRpb24gPT4g
PGJvZHk+Ci1QQVVTRSAjMTA6ICRleGNlcHRpb24gPT4gVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnW10ueC54JykKLVNURVBQRUQgT1VUIFRPIENBVENI
IEJMT0NLOiAkZXhjZXB0aW9uID09PSBlID8gdHJ1ZQotUEFVU0UgIzExOiAkZXhjZXB0aW9uID0+
IHRocm93biBzdHJpbmcKLVNURVBQRUQgT1VUIFRPIENBVENIIEJMT0NLOiAkZXhjZXB0aW9uID09
PSBlID8gdHJ1ZQotUEFVU0UgIzEyOiAkZXhjZXB0aW9uID0+IE9iamVjdAotU1RFUFBFRCBPVVQg
VE8gQ0FUQ0ggQkxPQ0s6ICRleGNlcHRpb24gPT09IGUgPyB0cnVlCi1BRlRFUjogJGV4Y2VwdGlv
biA9PiB1bmRlZmluZWQKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBDb21tYW5kTGluZUFQSS4k
ZXhjZXB0aW9uCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQmVmb3JlRXhjZXB0aW9ucworUEFTUzog
JGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIGV4Y2VwdGlvbi4K
KworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFVuY2F1Z2h0VHlwZUV4Y2VwdGlvbgorJGV4Y2VwdGlv
biA9PiBUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdb
XS54LngnKQorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHRSZWZlcmVuY2VFeGNlcHRp
b24KKyRleGNlcHRpb24gPT4gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHZh
cmlhYmxlVGhhdERvZXNOb3RFeGlzdAorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHRT
eW50YXhFeGNlcHRpb24KKyRleGNlcHRpb24gPT4gU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgdG9r
ZW4gJyknCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBVbmNhdWdodERPTUV4Y2VwdGlvbgorJGV4
Y2VwdGlvbiA9PiBFcnJvcjogSW5kZXhTaXplRXJyb3I6IERPTSBFeGNlcHRpb24gMQorCistLSBS
dW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHRTdHJpbmcKKyRleGNlcHRpb24gPT4gdGhyb3duIHN0
cmluZworCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHROdW1iZXIKKyRleGNlcHRpb24g
PT4gMTIzLjQ1NgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHROdWxsCiskZXhjZXB0
aW9uID0+IG51bGwKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFVuY2F1Z2h0T2JqZWN0CiskZXhj
ZXB0aW9uID0+IE9iamVjdAorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogVW5jYXVnaHROb2RlCisk
ZXhjZXB0aW9uID0+IDxib2R5PgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ2F0Y2hUeXBlRXhj
ZXB0aW9uCitQQVNTOiBQYXVzZWQsIHN0ZXBwaW5nIG91dCB0byBjYXRjaCBibG9jay4uLgorUEFT
UzogYCRleGNlcHRpb25gIHNob3VsZCBiZSBlcXVhbCB0byBgZWAuCiskZXhjZXB0aW9uID0+IFR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ1tdLngueCcp
CisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYXRjaFRocm93blN0cmluZworUEFTUzogUGF1c2Vk
LCBzdGVwcGluZyBvdXQgdG8gY2F0Y2ggYmxvY2suLi4KK1BBU1M6IGAkZXhjZXB0aW9uYCBzaG91
bGQgYmUgZXF1YWwgdG8gYGVgLgorJGV4Y2VwdGlvbiA9PiB0aHJvd24gc3RyaW5nCisKKy0tIFJ1
bm5pbmcgdGVzdCBjYXNlOiBDYXRjaFRocm93bk9iamVjdAorUEFTUzogUGF1c2VkLCBzdGVwcGlu
ZyBvdXQgdG8gY2F0Y2ggYmxvY2suLi4KK1BBU1M6IGAkZXhjZXB0aW9uYCBzaG91bGQgYmUgZXF1
YWwgdG8gYGVgLgorJGV4Y2VwdGlvbiA9PiBPYmplY3QKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6
IEFmdGVyRXhjZXB0aW9ucworUEFTUzogJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIGlm
IHRoZXJlIGlzIG5vIGV4Y2VwdGlvbi4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLW5lc3RlZC1jYXRjaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFw
aS1leGNlcHRpb24tbmVzdGVkLWNhdGNoLWV4cGVjdGVkLnR4dAppbmRleCBiZjdmN2M3Li4wY2I5
OWJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1s
aW5lLWFwaS1leGNlcHRpb24tbmVzdGVkLWNhdGNoLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24tbmVzdGVk
LWNhdGNoLWV4cGVjdGVkLnR4dApAQCAtMiwxMiArMiwxOSBAQCBDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjc6IGlubmVyIGV4Y2VwdGlvbgogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY5OiBvdXRlciBl
eGNlcHRpb24KIENoZWNrcyB0aGF0ICRleGNlcHRpb24gaXMgdGhlIHZhbHVlIG9mIHRoZSBjdXJy
ZW50IGV4Y2VwdGlvbiwgZXZlbiBpbiBuZXN0ZWQgY2F0Y2ggYmxvY2tzLgogCi1CRUZPUkUgOiAk
ZXhjZXB0aW9uID0+IHVuZGVmaW5lZAorCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IENvbW1hbmRM
aW5lQVBJLiRleGNlcHRpb24KKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBFbXB0eUJlZm9yZQorUEFT
UzogJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIGV4Y2VwdGlv
bi4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENoZWNrRXhjZXB0aW9uSW5zaWRlTmVzdGVkQ2F0
Y2hCbG9ja3MKIE9VVEVSIDE6ICRleGNlcHRpb24gPT4gb3V0ZXIgZXhjZXB0aW9uCiBJTk5FUiAx
OiAkZXhjZXB0aW9uID0+IGlubmVyIGV4Y2VwdGlvbgogSU5ORVIgMjogJGV4Y2VwdGlvbiA9PiBp
bm5lciBleGNlcHRpb24KICAgQ0FUQ0g6ICRleGNlcHRpb24gPT09IGUyID8gdHJ1ZQogT1VURVIg
MjogJGV4Y2VwdGlvbiA9PiBvdXRlciBleGNlcHRpb24KICAgQ0FUQ0g6ICRleGNlcHRpb24gPT09
IGUxID8gdHJ1ZQotQUZURVIgIDogJGV4Y2VwdGlvbiA9PiB1bmRlZmluZWQKKworLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IEVtcHR5QWZ0ZXIKK1BBU1M6ICRleGNlcHRpb24gc2hvdWxkIGJlIHVuZGVm
aW5lZCBpZiB0aGVyZSBpcyBubyBleGNlcHRpb24uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxpbmUtYXBpLWV4Y2VwdGlvbi1uZXN0ZWQtY2F0
Y2guaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxpbmUtYXBp
LWV4Y2VwdGlvbi1uZXN0ZWQtY2F0Y2guaHRtbAppbmRleCBlYTg4ZDVlLi5iNjZmNzY4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1l
eGNlcHRpb24tbmVzdGVkLWNhdGNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rl
YnVnZ2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLW5lc3RlZC1jYXRjaC5odG1sCkBAIC0x
LDE1ICsxLDEwIEBACi08IWRvY3R5cGUgaHRtbD4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuL3Jlc291cmNlcy9leGNlcHRpb25zLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9leGNlcHRpb25zLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiB0cmlnZ2VyRXhj
ZXB0aW9uKCkKLXsKLSAgICAvLyBXZSBleHBlY3QgdW5jYXVnaHQgZXhjZXB0aW9ucywgc28gYXZv
aWQgbG9ncyBmb3IgdGhlbS4KLSAgICB3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKCl7fTsKLSAg
ICBzZXRUaW1lb3V0KG5lc3RlZENhdGNoQmxvY2tzLCAwKTsKLX0KK3dpbmRvdy5vbmVycm9yID0g
ZnVuY3Rpb24oKXt9OwogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKQEAgLTI3LDU4ICsyMiw4NSBAQCBm
dW5jdGlvbiB0ZXN0KCkKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgdmFyIGRvbmUgPSBmYWxz
ZTsKLSAgICB2YXIgcGhhc2UgPSAwOwogCi0gICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdl
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuQ2Fs
bEZyYW1lc0RpZENoYW5nZSwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgaWYgKGRvbmUpCi0g
ICAgICAgICAgICByZXR1cm47CisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVB
c3luY1N1aXRlKCJDb21tYW5kTGluZUFQSS4kZXhjZXB0aW9uIik7CiAKLSAgICAgICAgcGhhc2Ur
KzsKLQotICAgICAgICAvLyBTa2lwIHBhc3QgdGhlIGZpcnN0IHBhdXNlIHRvIHRoZSBzZWNvbmQg
cGF1c2UuCi0gICAgICAgIGlmIChwaGFzZSA9PT0gMSkgewotICAgICAgICAgICAgZHVtcENvbW1h
bmRMaW5lQVBJVmFsdWUoIk9VVEVSIDEiKTsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1
Z2dlck1hbmFnZXIucmVzdW1lKCk7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgc3VpdGUuYWRk
VGVzdENhc2UoeworICAgICAgICBuYW1lOiAiRW1wdHlCZWZvcmUiLAorICAgICAgICBkZXNjcmlw
dGlvbjogIldpdGhvdXQgZXhjZXB0aW9ucywgJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVk
IiwKKyAgICAgICAgdGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLnJ1bnRpbWVNYW5hZ2VyLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5kb3coIiRleGNl
cHRpb24iLCB7b2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVl
LCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IHRydWV9LCAocmVzdWx0LCB3
YXNUaHJvd24pID0+IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQo
cmVzdWx0LmRlc2NyaXB0aW9uID09PSAidW5kZWZpbmVkIiwgIiRleGNlcHRpb24gc2hvdWxkIGJl
IHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBubyBleGNlcHRpb24uIik7CisgICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KKyAgICB9KTsKIAotICAgICAg
ICAvLyBQYXVzZWQgb24gdGhlIGV4Y2VwdGlvbiBpbiB0aGUgaW5uZXIgdHJ5LCBzdGVwIG92ZXIg
dG8gZ2V0IGludG8gdGhlIGlubmVyIGNhdGNoLgotICAgICAgICBpZiAocGhhc2UgPT09IDIpIHsK
LSAgICAgICAgICAgIGR1bXBDb21tYW5kTGluZUFQSVZhbHVlKCJJTk5FUiAxIik7Ci0gICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnN0ZXBPdmVyKCk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5h
bWU6ICJDaGVja0V4Y2VwdGlvbkluc2lkZU5lc3RlZENhdGNoQmxvY2tzIiwKKyAgICAgICAgZGVz
Y3JpcHRpb246ICJDaGVjayAkZXhjZXB0aW9uIGlzIGFsd2F5cyB0aGUgY3VycmVudCBleGNlcHRp
b24gb2JqZWN0IHdoZW4gc3RlcHBpbmcgdGhyb3VnaCBjYXRjaCBibG9ja3MuIiwKKyAgICAgICAg
dGVzdDogKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgic2V0VGltZW91dChuZXN0ZWRDYXRjaEJsb2NrcywgMCkiKTsKIAotICAg
ICAgICAvLyBQYXVzZWQgaW4gdGhlIGlubmVyIGNhdGNoLCB2ZXJpZnkgJGV4Y2VwdGlvbiBpcyAi
aW5uZXIgZXhjZXB0aW9uIi4KLSAgICAgICAgaWYgKHBoYXNlID09PSAzKSB7Ci0gICAgICAgICAg
ICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgiSU5ORVIgMiIpOwotICAgICAgICAgICAgY2hlY2tJ
ZkV4Y2VwdGlvblZhbHVlTWF0Y2hlc1ZhcmlhYmxlKCJlMiIpOwotICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5zdGVwT3ZlcigpOwotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9CisgICAgICAgICAgICBsZXQgcGhhc2UgPSAwOworICAgICAgICAgICAgbGV0IGxp
c3RlbmVyID0gV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuQ2FsbEZyYW1lc0RpZENoYW5nZSwgKGV2
ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5h
Z2VyLmFjdGl2ZUNhbGxGcmFtZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgICAgICAgICAgcGhhc2UrKzsKKworICAgICAgICAgICAgICAgIC8vIFNraXAgcGFzdCB0aGUg
Zmlyc3QgcGF1c2UgdG8gdGhlIHNlY29uZCBwYXVzZS4KKyAgICAgICAgICAgICAgICBpZiAocGhh
c2UgPT09IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgZHVtcENvbW1hbmRMaW5lQVBJVmFsdWUo
Ik9VVEVSIDEiKTsKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFu
YWdlci5yZXN1bWUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgICAgIC8vIFBhdXNlZCBvbiB0aGUgZXhjZXB0aW9uIGluIHRo
ZSBpbm5lciB0cnksIHN0ZXAgb3ZlciB0byBnZXQgaW50byB0aGUgaW5uZXIgY2F0Y2guCisgICAg
ICAgICAgICAgICAgaWYgKHBoYXNlID09PSAyKSB7CisgICAgICAgICAgICAgICAgICAgIGR1bXBD
b21tYW5kTGluZUFQSVZhbHVlKCJJTk5FUiAxIik7CisgICAgICAgICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuc3RlcE92ZXIoKTsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8vIFBhdXNlZCBp
biB0aGUgaW5uZXIgY2F0Y2gsIHZlcmlmeSAkZXhjZXB0aW9uIGlzICJpbm5lciBleGNlcHRpb24i
LgorICAgICAgICAgICAgICAgIGlmIChwaGFzZSA9PT0gMykgeworICAgICAgICAgICAgICAgICAg
ICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgiSU5ORVIgMiIpOworICAgICAgICAgICAgICAgICAg
ICBjaGVja0lmRXhjZXB0aW9uVmFsdWVNYXRjaGVzVmFyaWFibGUoImUyIik7CisgICAgICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuc3RlcE92ZXIoKTsKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgCi0gICAg
ICAgIC8vIFN0ZXBwZWQgaW50byB0aGUgb3V0ZXIgY2F0Y2gsIHZlcmlmeSAkZXhjZXB0aW9uIGlz
ICJvdXRlciBleGNlcHRpb24iLgotICAgICAgICBpZiAocGhhc2UgPT09IDQpIHsKLSAgICAgICAg
ICAgIGR1bXBDb21tYW5kTGluZUFQSVZhbHVlKCJPVVRFUiAyIik7Ci0gICAgICAgICAgICBjaGVj
a0lmRXhjZXB0aW9uVmFsdWVNYXRjaGVzVmFyaWFibGUoImUxIik7Ci0gICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnJlc3VtZSgpOwotICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgICAgIC8vIFN0ZXBwZWQgaW50byB0aGUgb3V0ZXIgY2F0Y2gsIHZlcmlmeSAk
ZXhjZXB0aW9uIGlzICJvdXRlciBleGNlcHRpb24iLgorICAgICAgICAgICAgICAgIGlmIChwaGFz
ZSA9PT0gNCkgeworICAgICAgICAgICAgICAgICAgICBkdW1wQ29tbWFuZExpbmVBUElWYWx1ZSgi
T1VURVIgMiIpOworICAgICAgICAgICAgICAgICAgICBjaGVja0lmRXhjZXB0aW9uVmFsdWVNYXRj
aGVzVmFyaWFibGUoImUxIik7CisgICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1
Z2dlck1hbmFnZXIucmVzdW1lKCkudGhlbigoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5DYWxsRnJhbWVzRGlkQ2hhbmdlLCBsaXN0ZW5l
cik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAg
ICAgIH0sIHJlamVjdCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwogCi0gICAgV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1hbmFnZXIuRXZlbnQuUmVzdW1lZCwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgZG9u
ZSA9IHRydWU7Ci0gICAgICAgIGR1bXBDb21tYW5kTGluZUFQSVZhbHVlKCJBRlRFUiAgIik7Ci0g
ICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgc3VpdGUuYWRkVGVzdENh
c2UoeworICAgICAgICBuYW1lOiAiRW1wdHlBZnRlciIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAi
V2l0aG91dCBleGNlcHRpb25zLCAkZXhjZXB0aW9uIHNob3VsZCBiZSB1bmRlZmluZWQiLAorICAg
ICAgICB0ZXN0OiAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICBXZWJJbnNwZWN0
b3IucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbkluc3BlY3RlZFdpbmRvdygiJGV4Y2VwdGlvbiIs
IHtvYmplY3RHcm91cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsIGRvTm90
UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogdHJ1ZX0sIChyZXN1bHQsIHdhc1Rocm93
bikgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXN1bHQu
ZGVzY3JpcHRpb24gPT09ICJ1bmRlZmluZWQiLCAiJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZp
bmVkIGlmIHRoZXJlIGlzIG5vIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQogICAgIH0pOwogCi0gICAgZHVtcENvbW1h
bmRMaW5lQVBJVmFsdWUoIkJFRk9SRSAiKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJ0cmlnZ2VyRXhjZXB0aW9uKCkiKTsKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5p
c2goKTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
ICAgIDxwPkNoZWNrcyB0aGF0IDxjb2RlPiRleGNlcHRpb248L2NvZGU+IGlzIHRoZSB2YWx1ZSBv
ZiB0aGUgY3VycmVudCBleGNlcHRpb24sIGV2ZW4gaW4gbmVzdGVkIGNhdGNoIGJsb2Nrcy48L3A+
Cis8cD5DaGVja3MgdGhhdCA8Y29kZT4kZXhjZXB0aW9uPC9jb2RlPiBpcyB0aGUgdmFsdWUgb2Yg
dGhlIGN1cnJlbnQgZXhjZXB0aW9uLCBldmVuIGluIG5lc3RlZCBjYXRjaCBibG9ja3MuPC9wPgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL2NvbW1hbmQtbGluZS1hcGktZXhjZXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24uaHRtbAppbmRleCAwYzdiOTFl
Li4wZGUwNDc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvY29t
bWFuZC1saW5lLWFwaS1leGNlcHRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24uaHRtbApAQCAtMSw5OCArMSwxMDcg
QEAKLTwhZG9jdHlwZSBodG1sPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4vcmVzb3VyY2VzL2V4Y2VwdGlvbnMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvZXhjZXB0
aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotdmFyIGV4Y2VwdGlvbkluZGV4ID0gMDsKLXZh
ciBleGNlcHRpb25DYXVzZXJzID0gWwotICAgIHRyaWdnZXJVbmNhdWdodFR5cGVFeGNlcHRpb24s
Ci0gICAgdHJpZ2dlclVuY2F1Z2h0UmVmZXJlbmNlRXhjZXB0aW9uLAotICAgIHRyaWdnZXJVbmNh
dWdodFN5bnRheEV4Y2VwdGlvbiwKLSAgICB0cmlnZ2VyVW5jYXVnaHRET01FeGNlcHRpb24sCi0g
ICAgdGhyb3dTdHJpbmcsCi0gICAgdGhyb3dOdW1iZXIsCi0gICAgdGhyb3dOdWxsLAotICAgIHRo
cm93T2JqZWN0LAotICAgIHRocm93Tm9kZSwKLSAgICBmdW5jdGlvbigpIHsgY2F0Y2hlcih0cmln
Z2VyVW5jYXVnaHRUeXBlRXhjZXB0aW9uKTsgfSwKLSAgICBmdW5jdGlvbigpIHsgY2F0Y2hlcih0
aHJvd1N0cmluZyk7IH0sCi0gICAgZnVuY3Rpb24oKSB7IGNhdGNoZXIodGhyb3dPYmplY3QpOyB9
LAotXTsKLQotCi1mdW5jdGlvbiB0cmlnZ2VyTmV4dEV4Y2VwdGlvbigpCi17Ci0gICAgLy8gV2Ug
ZXhwZWN0IHVuY2F1Z2h0IGV4Y2VwdGlvbnMsIHNvIGF2b2lkIGxvZ3MgZm9yIHRoZW0uCi0gICAg
d2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbigpe307Ci0KLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewotICAgICAgICBleGNlcHRpb25DYXVzZXJzW2V4Y2VwdGlvbkluZGV4KytdKCk7Ci0gICAg
fSwgMCk7Ci19CisvLyBXZSBleHBlY3QgdW5jYXVnaHQgZXhjZXB0aW9ucywgc28gYXZvaWQgbG9n
cyBmb3IgdGhlbS4KK3dpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24oKXt9OwogCiBmdW5jdGlvbiB0
ZXN0KCkKIHsKICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFsbEV4Y2VwdGlvbnNC
cmVha3BvaW50LmRpc2FibGVkID0gZmFsc2U7CiAKLSAgICBmdW5jdGlvbiB0cmlnZ2VyTmV4dEV4
Y2VwdGlvbigpIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgidHJpZ2dl
ck5leHRFeGNlcHRpb24oKSIpOwotICAgIH0KKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0
LmNyZWF0ZUFzeW5jU3VpdGUoIkNvbW1hbmRMaW5lQVBJLiRleGNlcHRpb24iKTsKIAotICAgIGZ1
bmN0aW9uIGR1bXBDb21tYW5kTGluZUFQSVZhbHVlKHByZWZpeCkgewotICAgICAgICBXZWJJbnNw
ZWN0b3IucnVudGltZU1hbmFnZXIuZXZhbHVhdGVJbkluc3BlY3RlZFdpbmRvdygiJGV4Y2VwdGlv
biIsIHtvYmplY3RHcm91cDogInRlc3QiLCBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsIGRv
Tm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogdHJ1ZX0sIGZ1bmN0aW9uKHJlc3Vs
dCwgd2FzVGhyb3duKSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhwcmVmaXggKyAi
OiAkZXhjZXB0aW9uID0+ICIgKyByZXN1bHQuZGVzY3JpcHRpb24pOworICAgIGZ1bmN0aW9uIGFk
ZE5vRXhjZXB0aW9uVGVzdChuYW1lKSB7CisgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAg
ICAgICAgICAgIG5hbWUsIGRlc2NyaXB0aW9uOiAiV2l0aG91dCBleGNlcHRpb25zLCAkZXhjZXB0
aW9uIHNob3VsZCBiZSB1bmRlZmluZWQiLAorICAgICAgICAgICAgdGVzdDogKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTWFuYWdlci5l
dmFsdWF0ZUluSW5zcGVjdGVkV2luZG93KCIkZXhjZXB0aW9uIiwge29iamVjdEdyb3VwOiAidGVz
dCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0Fu
ZE11dGVDb25zb2xlOiB0cnVlfSwgKHJlc3VsdCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChyZXN1bHQuZGVzY3JpcHRpb24gPT09
ICJ1bmRlZmluZWQiLCAiJGV4Y2VwdGlvbiBzaG91bGQgYmUgdW5kZWZpbmVkIGlmIHRoZXJlIGlz
IG5vIGV4Y2VwdGlvbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfQogICAgICAgICB9KTsKICAgICB9CiAKLSAgICBm
dW5jdGlvbiBjaGVja0lmRXhjZXB0aW9uVmFsdWVNYXRjaGVzQ2F0Y2hWYXJpYWJsZSgpIHsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLnJ1bnRpbWVNYW5hZ2VyLmV2YWx1YXRlSW5JbnNwZWN0ZWRXaW5k
b3coIiRleGNlcHRpb24gPT09IGUiLCB7b2JqZWN0R3JvdXA6ICJ0ZXN0IiwgaW5jbHVkZUNvbW1h
bmRMaW5lQVBJOiB0cnVlLCBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IHRy
dWV9LCBmdW5jdGlvbihyZXN1bHQsIHdhc1Rocm93bikgewotICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIlNURVBQRUQgT1VUIFRPIENBVENIIEJMT0NLOiAkZXhjZXB0aW9uID09PSBlID8g
IiArIHJlc3VsdC5kZXNjcmlwdGlvbik7CisgICAgZnVuY3Rpb24gYWRkVW5jYXVnaHRFeGNlcHRp
b25UZXN0KG5hbWUsIHRlc3RGdW5jdGlvbikgeworICAgICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7
CisgICAgICAgICAgICBuYW1lLCBkZXNjcmlwdGlvbjogIlRyaWdnZXIgYW4gdW5jYXVnaHQgZXhj
ZXB0aW9uIGFuZCBjaGVjayAkZXhjZXB0aW9uLiIsCisgICAgICAgICAgICB0ZXN0OiAocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZShgc2V0VGltZW91dCgke3Rlc3RGdW5jdGlvbn0pYCk7CisgICAgICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5zaW5nbGVGaXJlRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlBhdXNlZCwgKGV2ZW50KSA9PiB7CisgICAgICAg
ICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTWFuYWdlci5ldmFsdWF0ZUluSW5zcGVj
dGVkV2luZG93KCIkZXhjZXB0aW9uIiwge29iamVjdEdyb3VwOiAidGVzdCIsIGluY2x1ZGVDb21t
YW5kTGluZUFQSTogdHJ1ZSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlOiB0
cnVlfSwgKHJlc3VsdCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiJGV4Y2VwdGlvbiA9PiAiICsgcmVzdWx0LmRlc2NyaXB0aW9uKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIucmVz
dW1lKCkudGhlbihyZXNvbHZlLCByZWplY3QpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSk7CiAgICAgfQogCi0g
ICAgdmFyIHBhdXNlcyA9IDA7Ci0gICAgdmFyIHN0ZXBwaW5nID0gZmFsc2U7Ci0gICAgdmFyIGRv
bmUgPSBmYWxzZTsKLSAgICBjb25zdCBwb2ludFdoZXJlRXhwZWN0aW9uc0FyZUJlaW5nQ2F1Z2h0
ID0gOTsKLSAgICBjb25zdCBleHBlY3RlZFBhdXNlcyA9IDEyOwotCi0gICAgV2ViSW5zcGVjdG9y
LmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1h
bmFnZXIuRXZlbnQuQ2FsbEZyYW1lc0RpZENoYW5nZSwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAg
ICAgaWYgKGRvbmUpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKCFzdGVwcGlu
ZykgewotICAgICAgICAgICAgZHVtcENvbW1hbmRMaW5lQVBJVmFsdWUoIlBBVVNFICMiICsgKCsr
cGF1c2VzKSk7Ci0gICAgICAgICAgICBpZiAocGF1c2VzID4gcG9pbnRXaGVyZUV4cGVjdGlvbnNB
cmVCZWluZ0NhdWdodCkgewotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1h
bmFnZXIuc3RlcE91dCgpOwotICAgICAgICAgICAgICAgIHN0ZXBwaW5nID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgZnVuY3Rpb24gYWRkQ2F1Z2h0RXhjZXB0aW9uVGVzdChu
YW1lLCBleHByZXNzaW9uKSB7CisgICAgICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAg
ICAgIG5hbWUsIGRlc2NyaXB0aW9uOiAiVHJpZ2dlciBhIGNhdWdodCBleGNlcHRpb24gYW5kIGNo
ZWNrICRleGNlcHRpb24uIiwKKyAgICAgICAgICAgIHRlc3Q6IChyZXNvbHZlLCByZWplY3QpID0+
IHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGV4cHJlc3Np
b24pOworCisgICAgICAgICAgICAgICAgbGV0IGRpZFN0ZXAgPSBmYWxzZTsKKyAgICAgICAgICAg
ICAgICBsZXQgZGlkRXZhbHVhdGUgPSBmYWxzZTsKKworICAgICAgICAgICAgICAgIGxldCBsaXN0
ZW5lciA9IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkNhbGxGcmFtZXNEaWRDaGFuZ2UsIChldmVu
dCkgPT4geworICAgICAgICAgICAgICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci5kZWJ1Z2dlck1h
bmFnZXIuYWN0aXZlQ2FsbEZyYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICAgICAgICAgIGlmICghZGlkU3RlcCkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgZGlkU3RlcCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LnBhc3MoIlBhdXNlZCwgc3RlcHBpbmcgb3V0IHRvIGNhdGNoIGJsb2NrLi4uIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLnN0ZXBPdXQo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAg
fQorCisgICAgICAgICAgICAgICAgICAgIGlmICghZGlkRXZhbHVhdGUpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGRpZEV2YWx1YXRlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5ydW50aW1lTWFuYWdlci5ldmFsdWF0ZUluSW5zcGVjdGVkV2luZG93KCIk
ZXhjZXB0aW9uID09PSBlIiwge29iamVjdEdyb3VwOiAidGVzdCIsIGluY2x1ZGVDb21tYW5kTGlu
ZUFQSTogdHJ1ZSwgZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlOiB0cnVlfSwg
KHJlc3VsdCwgd2FzVGhyb3duKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBlY3RUaGF0KHJlc3VsdC5kZXNjcmlwdGlvbiA9PT0gInRydWUiLCAiYCRl
eGNlcHRpb25gIHNob3VsZCBiZSBlcXVhbCB0byBgZWAuIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5ydW50aW1lTWFu
YWdlci5ldmFsdWF0ZUluSW5zcGVjdGVkV2luZG93KCIkZXhjZXB0aW9uIiwge29iamVjdEdyb3Vw
OiAidGVzdCIsIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZSwgZG9Ob3RQYXVzZU9uRXhjZXB0
aW9uc0FuZE11dGVDb25zb2xlOiB0cnVlfSwgKHJlc3VsdCwgd2FzVGhyb3duKSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIiRleGNlcHRpb24gPT4g
IiArIHJlc3VsdC5kZXNjcmlwdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5yZXN1bWUoKS50aGVuKCgpID0+IHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5yZW1v
dmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1hbmFnZXIuRXZlbnQuQ2FsbEZy
YW1lc0RpZENoYW5nZSwgbGlzdGVuZXIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgcmVqZWN0KTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBjaGVja0lmRXhjZXB0aW9uVmFsdWVN
YXRjaGVzQ2F0Y2hWYXJpYWJsZSgpOwotICAgICAgICAgICAgc3RlcHBpbmcgPSBmYWxzZTsKLSAg
ICAgICAgfQotCi0gICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIucmVzdW1lKCk7
Ci0KLSAgICAgICAgaWYgKHBhdXNlcyAhPT0gZXhwZWN0ZWRQYXVzZXMpIHsKLSAgICAgICAgICAg
IHRyaWdnZXJOZXh0RXhjZXB0aW9uKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LSAgICB9KTsKLQotICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LlJlc3VtZWQsIGZ1bmN0aW9u
KGV2ZW50KSB7Ci0gICAgICAgIGRvbmUgPSB0cnVlOwotICAgICAgICBkdW1wQ29tbWFuZExpbmVB
UElWYWx1ZSgiQUZURVIiKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsK
LSAgICB9KTsKLQotICAgIGR1bXBDb21tYW5kTGluZUFQSVZhbHVlKCJCRUZPUkUiKTsKLSAgICB0
cmlnZ2VyTmV4dEV4Y2VwdGlvbigpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBhZGROb0V4
Y2VwdGlvblRlc3QoIkJlZm9yZUV4Y2VwdGlvbnMiKTsKKworICAgIGFkZFVuY2F1Z2h0RXhjZXB0
aW9uVGVzdCgiVW5jYXVnaHRUeXBlRXhjZXB0aW9uIiwgInRyaWdnZXJVbmNhdWdodFR5cGVFeGNl
cHRpb24iKTsKKyAgICBhZGRVbmNhdWdodEV4Y2VwdGlvblRlc3QoIlVuY2F1Z2h0UmVmZXJlbmNl
RXhjZXB0aW9uIiwgInRyaWdnZXJVbmNhdWdodFJlZmVyZW5jZUV4Y2VwdGlvbiIpOworICAgIGFk
ZFVuY2F1Z2h0RXhjZXB0aW9uVGVzdCgiVW5jYXVnaHRTeW50YXhFeGNlcHRpb24iLCAidHJpZ2dl
clVuY2F1Z2h0U3ludGF4RXhjZXB0aW9uIik7CisgICAgYWRkVW5jYXVnaHRFeGNlcHRpb25UZXN0
KCJVbmNhdWdodERPTUV4Y2VwdGlvbiIsICJ0cmlnZ2VyVW5jYXVnaHRET01FeGNlcHRpb24iKTsK
KyAgICBhZGRVbmNhdWdodEV4Y2VwdGlvblRlc3QoIlVuY2F1Z2h0U3RyaW5nIiwgInRocm93U3Ry
aW5nIik7CisgICAgYWRkVW5jYXVnaHRFeGNlcHRpb25UZXN0KCJVbmNhdWdodE51bWJlciIsICJ0
aHJvd051bWJlciIpOworICAgIGFkZFVuY2F1Z2h0RXhjZXB0aW9uVGVzdCgiVW5jYXVnaHROdWxs
IiwgInRocm93TnVsbCIpOworICAgIGFkZFVuY2F1Z2h0RXhjZXB0aW9uVGVzdCgiVW5jYXVnaHRP
YmplY3QiLCAidGhyb3dPYmplY3QiKTsKKyAgICBhZGRVbmNhdWdodEV4Y2VwdGlvblRlc3QoIlVu
Y2F1Z2h0Tm9kZSIsICJ0aHJvd05vZGUiKTsKKworICAgIGFkZENhdWdodEV4Y2VwdGlvblRlc3Qo
IkNhdGNoVHlwZUV4Y2VwdGlvbiIsICJzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBjYXRjaGVyKHRy
aWdnZXJVbmNhdWdodFR5cGVFeGNlcHRpb24pOyB9KSIpOworICAgIGFkZENhdWdodEV4Y2VwdGlv
blRlc3QoIkNhdGNoVGhyb3duU3RyaW5nIiwgInNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGNhdGNo
ZXIodGhyb3dTdHJpbmcpOyB9KSIpOworICAgIGFkZENhdWdodEV4Y2VwdGlvblRlc3QoIkNhdGNo
VGhyb3duT2JqZWN0IiwgInNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGNhdGNoZXIodGhyb3dPYmpl
Y3QpOyB9KSIpOworCisgICAgYWRkTm9FeGNlcHRpb25UZXN0KCJBZnRlckV4Y2VwdGlvbnMiKTsK
KworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwogfQogPC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+Q2hlY2tzIHRoYXQgPGNvZGU+
JGV4Y2VwdGlvbjwvY29kZT4gaXMgYXZhaWxhYmxlIGFuZCBhY2N1cmF0ZSBpbiBldmFsdWF0aW9u
cyB3aGVuIHBhdXNlZCBvbiBhbiBleGNlcHRpb24uPC9wPgorPHA+Q2hlY2tzIHRoYXQgPGNvZGU+
JGV4Y2VwdGlvbjwvY29kZT4gaXMgYXZhaWxhYmxlIGFuZCBhY2N1cmF0ZSBpbiBldmFsdWF0aW9u
cyB3aGVuIHBhdXNlZCBvbiBhbiBleGNlcHRpb24uPC9wPgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxMGY0M2Y2Li5hNGM3
YzJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIx
MSw4ICsxMjExLDYgQEAgd2Via2l0Lm9yZy9iLzE0ODYzNiBpbnNwZWN0b3IvY3NzL3NlbGVjdG9y
LWR5bmFtaWMtc3BlY2lmaWNpdHkuaHRtbCBbIFBhc3MgVGltZW8KIHdlYmtpdC5vcmcvYi8xNDg2
MzYgaW5zcGVjdG9yL2Nzcy9zZWxlY3Rvci1zcGVjaWZpY2l0eS5odG1sIFsgUGFzcyBUaW1lb3V0
IF0KIHdlYmtpdC5vcmcvYi8xNTM0NjAgWyBEZWJ1ZyBdIGluc3BlY3Rvci9jb2RlbWlycm9yL3By
ZXR0eXByaW50aW5nLWNzcy1ydWxlcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcv
Yi8xNTg3NDIgWyBEZWJ1ZyBdIGluc3BlY3Rvci9kZWJ1Z2dlci9icmVhay1pbi1jb25zdHJ1Y3Rv
ci1iZWZvcmUtc3VwZXIuaHRtbCBbIFBhc3MgVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTUyMDI5
IGluc3BlY3Rvci9kZWJ1Z2dlci9jb21tYW5kLWxpbmUtYXBpLWV4Y2VwdGlvbi5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNTI0ODcgaW5zcGVjdG9yL2RlYnVnZ2VyL2NvbW1h
bmQtbGluZS1hcGktZXhjZXB0aW9uLW5lc3RlZC1jYXRjaC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
IHdlYmtpdC5vcmcvYi8xNDg2MzYgaW5zcGVjdG9yL2RvbS9jb250ZW50LWZsb3ctY29udGVudC1u
b2Rlcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNDg2MzYgaW5zcGVjdG9y
L2RvbS9jb250ZW50LWZsb3ctY29udGVudC1yZW1vdmFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQog
d2Via2l0Lm9yZy9iLzE0ODYzNiBpbnNwZWN0b3IvZG9tL2NvbnRlbnQtZmxvdy1saXN0Lmh0bWwg
WyBQYXNzIFRpbWVvdXQgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggNmY3MmQ2NS4uNDcz
NDZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMTYtMDYt
MzAgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBpbnNw
ZWN0b3IvZGVidWdnZXIvY29tbWFuZC1saW5lLWFwaS1leGNlcHRpb24uaHRtbCBmbGFraWx5IHRp
bWVzIG91dCBvbiBtYWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MjAyOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjM4MTM4MTI+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L0Jhc2UvT2JqZWN0LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdC5hZGRFdmVudExp
c3RlbmVyKToKKyAgICAgICAgUmV0dXJuIHRoZSBsaXN0ZW5lciwgdGhpcyBtYWtlcyBpdCBjbGVh
bmVyIHRvIHdyaXRlIHRlc3RzLgorCisyMDE2LTA2LTMwICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogTWFrZSBlbmFibGluZyBw
cm90b2NvbCBsb2dnaW5nIGluIGluc3BlY3RvciB0ZXN0cyBlYXN5IHRvIHJlbWVtYmVyCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkzMjMKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9PYmplY3Qu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL09iamVjdC5qcwpp
bmRleCAwNDlmNzgyLi41NmU1Y2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL09iamVjdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL09iamVjdC5qcwpAQCAtNTQsNiArNTQsNyBAQCBXZWJJbnNwZWN0
b3IuT2JqZWN0ID0gY2xhc3MgV2ViSW5zcGVjdG9yT2JqZWN0CiAgICAgICAgIH0KIAogICAgICAg
ICBsaXN0ZW5lcnNUYWJsZS5hZGQodGhpc09iamVjdCwgbGlzdGVuZXIpOworICAgICAgICByZXR1
cm4gbGlzdGVuZXI7CiAgICAgfQogCiAgICAgc3RhdGljIHNpbmdsZUZpcmVFdmVudExpc3RlbmVy
KGV2ZW50VHlwZSwgbGlzdGVuZXIsIHRoaXNPYmplY3QpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>