<?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>151304</bug_id>
          
          <creation_ts>2015-11-16 02:06:12 -0800</creation_ts>
          <short_desc>WebRTC: Initial testing of updated RTCPeerConnection API</short_desc>
          <delta_ts>2015-11-19 20:51:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>151302</dependson>
          <blocked>143211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1142198</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2015-11-16 02:06:12 -0800</bug_when>
    <thetext>The updated RTCPeerConnection API has promise enabled functions as well as overloaded legacy versions accepting callbacks. We need to verify that the correct version of the overloaded function is called for a specific set of arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142315</commentid>
    <comment_count>1</comment_count>
      <attachid>265609</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2015-11-16 13:48:52 -0800</bug_when>
    <thetext>Created attachment 265609
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142323</commentid>
    <comment_count>2</comment_count>
      <attachid>265614</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2015-11-16 14:03:57 -0800</bug_when>
    <thetext>Created attachment 265614
Updated patch

Fixed conflict in xcode project file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142823</commentid>
    <comment_count>3</comment_count>
      <attachid>265614</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-18 06:52:34 -0800</bug_when>
    <thetext>Comment on attachment 265614
Updated patch

Clearing flags on attachment: 265614

Committed r192575: &lt;http://trac.webkit.org/changeset/192575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142824</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-18 06:52:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142834</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-11-18 08:48:37 -0800</bug_when>
    <thetext>The two tests added with this change are crashing on Mac WK2 Debug testers
fast/mediastream/RTCPeerConnection-overloaded-operations-params.html
fast/mediastream/RTCPeerConnection-overloaded-operations.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x0000000116c09afa WTFCrash + 42 (Assertions.cpp:321)
1   com.apple.WebCore             	0x000000011a6bbf4e WebCore::RTCPeerConnection::privateGetStats(WebCore::MediaStreamTrack*, WebCore::DOMPromise&lt;WTF::RefPtr&lt;WebCore::RTCStatsResponse&gt;, WTF::RefPtr&lt;WebCore::DOMError&gt; &gt;&amp;&amp;) + 78 (RTCPeerConnection.cpp:360)
2   com.apple.WebCore             	0x0000000119c76687 WebCore::jsRTCPeerConnectionPrototypeFunctionPrivateGetStatsPromise(JSC::ExecState*, JSC::JSPromiseDeferred*) + 775 (JSRTCPeerConnection.cpp:750)
3   com.apple.WebCore             	0x00000001198aa457 WebCore::callPromiseFunction(JSC::ExecState&amp;, long long (*)(JSC::ExecState*, JSC::JSPromiseDeferred*)) + 71 (JSDOMPromise.h:65)
4   com.apple.WebCore             	0x0000000119c7520c WebCore::jsRTCPeerConnectionPrototypeFunctionPrivateGetStats(JSC::ExecState*) + 28 (JSRTCPeerConnection.cpp:729)
5   ???                           	0x00005f09d5e01028 0 + 104495847575592
6   com.apple.JavaScriptCore      	0x0000000116929d7f llint_entry + 26443
7   com.apple.JavaScriptCore      	0x000000011692341e vmEntryToJavaScript + 334
8   com.apple.JavaScriptCore      	0x0000000116757d4d JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 221 (JITCode.cpp:80)
9   com.apple.JavaScriptCore      	0x00000001167262f9 JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::ExecState*, JSC::JSValue, JSC::JSScope*) + 3273 (Interpreter.cpp:1269)
10  com.apple.JavaScriptCore      	0x00000001167255fc JSC::eval(JSC::ExecState*) + 1116 (Interpreter.cpp:182)
11  com.apple.JavaScriptCore      	0x000000011691ed9c llint_slow_path_call_eval + 348 (LLIntSlowPaths.cpp:1312)
12  com.apple.JavaScriptCore      	0x000000011692a48b llint_entry + 28247
13  com.apple.JavaScriptCore      	0x0000000116929d7f llint_entry + 26443
14  ???                           	0x00005f09d5e72342 0 + 104495848039234
15  com.apple.JavaScriptCore      	0x000000011692341e vmEntryToJavaScript + 334
16  com.apple.JavaScriptCore      	0x0000000116757d4d JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 221 (JITCode.cpp:80)
17  com.apple.JavaScriptCore      	0x000000011672952a JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 1210 (Interpreter.cpp:1024)
18  com.apple.JavaScriptCore      	0x00000001160aecae JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 190 (CallData.cpp:39)
19  com.apple.JavaScriptCore      	0x000000011680a441 JSC::JSJobMicrotask::run(JSC::ExecState*) + 401 (JSJob.cpp:73)
20  com.apple.WebCore             	0x00000001199a1467 WebCore::JSMainThreadExecState::runTask(JSC::ExecState*, JSC::Microtask&amp;) + 71 (JSMainThreadExecState.h:75)
21  com.apple.WebCore             	0x00000001199a1346 WebCore::JSGlobalObjectCallback::call() + 246 (JSDOMGlobalObjectTask.cpp:64)
22  com.apple.WebCore             	0x00000001199a0671 WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::PassRefPtr&lt;JSC::Microtask&gt;)::$_0::operator()(WebCore::ScriptExecutionContext&amp;) const + 33 (JSDOMGlobalObjectTask.cpp:88)
23  com.apple.WebCore             	0x00000001199a063c std::__1::__function::__func&lt;WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::PassRefPtr&lt;JSC::Microtask&gt;)::$_0, std::__1::allocator&lt;WebCore::JSGlobalObjectTask::JSGlobalObjectTask(WebCore::JSDOMGlobalObject*, WTF::PassRefPtr&lt;JSC::Microtask&gt;)::$_0&gt;, void (WebCore::ScriptExecutionContext&amp;)&gt;::operator()(WebCore::ScriptExecutionContext&amp;) + 92 (functional:1370)
24  com.apple.WebCore             	0x0000000118f874eb std::__1::function&lt;void (WebCore::ScriptExecutionContext&amp;)&gt;::operator()(WebCore::ScriptExecutionContext&amp;) const + 59 (functional:1755)
25  com.apple.WebCore             	0x0000000118f502dd WebCore::ScriptExecutionContext::Task::performTask(WebCore::ScriptExecutionContext&amp;) + 29 (ScriptExecutionContext.h:151)
26  com.apple.WebCore             	0x0000000118f47c79 WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task)::$_0::operator()() const + 633 (Document.cpp:5243)
27  com.apple.WebCore             	0x0000000118f479ec std::__1::__function::__func&lt;WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task)::$_0, std::__1::allocator&lt;WebCore::Document::postTask(WebCore::ScriptExecutionContext::Task)::$_0&gt;, void ()&gt;::operator()() + 60 (functional:1370)
28  com.apple.JavaScriptCore      	0x0000000116660baa std::__1::function&lt;void ()&gt;::operator()() const + 26 (functional:1755)
29  com.apple.JavaScriptCore      	0x0000000116c3db55 WTF::dispatchFunctionsFromMainThread() + 453 (MainThread.cpp:140)
30  com.apple.JavaScriptCore      	0x0000000116c3f171 WTF::timerFired(__CFRunLoopTimer*, void*) + 49 (MainThreadMac.mm:113)
31  com.apple.CoreFoundation      	0x00007fff91a183e4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
32  com.apple.CoreFoundation      	0x00007fff91a17f1f __CFRunLoopDoTimer + 1151
33  com.apple.CoreFoundation      	0x00007fff91a895aa __CFRunLoopDoTimers + 298
34  com.apple.CoreFoundation      	0x00007fff919d36a5 __CFRunLoopRun + 1525
35  com.apple.CoreFoundation      	0x00007fff919d2e75 CFRunLoopRunSpecific + 309
36  com.apple.HIToolbox           	0x00007fff927b5a0d RunCurrentEventLoopInMode + 226
37  com.apple.HIToolbox           	0x00007fff927b57b7 ReceiveNextEventCommon + 479
38  com.apple.HIToolbox           	0x00007fff927b55bc _BlockUntilNextEventMatchingListInModeWithFilter + 65
39  com.apple.AppKit              	0x00007fff8d98224e _DPSNextEvent + 1434
40  com.apple.AppKit              	0x00007fff8d98189b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
41  com.apple.AppKit              	0x00007fff8d97599c -[NSApplication run] + 553
42  com.apple.AppKit              	0x00007fff8d960783 NSApplicationMain + 940
43  com.apple.XPCService          	0x00007fff970a6c0f _xpc_main + 385
44  libxpc.dylib                  	0x00007fff91cd5bde xpc_main + 399
45  com.apple.WebKit.WebContent.Development	0x000000010ed9e195 main + 37
46  libdyld.dylib                 	0x00007fff964445fd start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142846</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-11-18 09:40:33 -0800</bug_when>
    <thetext>Marked both tests as crashing on mac-wk2 debug in r192577.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143411</commentid>
    <comment_count>7</comment_count>
      <attachid>265894</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2015-11-19 13:23:11 -0800</bug_when>
    <thetext>Created attachment 265894
Patch failing tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143565</commentid>
    <comment_count>8</comment_count>
      <attachid>265894</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-19 20:51:23 -0800</bug_when>
    <thetext>Comment on attachment 265894
Patch failing tests

Clearing flags on attachment: 265894

Committed r192675: &lt;http://trac.webkit.org/changeset/192675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1143566</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-19 20:51:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265609</attachid>
            <date>2015-11-16 13:48:52 -0800</date>
            <delta_ts>2015-11-16 14:03:57 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>pc-testing_0.patch</filename>
            <type>text/plain</type>
            <size>44629</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNTEzZTI4Li45MGI1N2UxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTUtMTEt
MTYgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW5pdGlhbCB0ZXN0aW5nIG9mIHVwZGF0ZWQgUlRDUGVlckNvbm5lY3Rpb24g
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEz
MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
dHdvIG5ldyB0ZXN0cyBhbmQgdW5za2lwIHRocmVlIG9sZCBvbmVzIChkZXRhaWxzIGJlbG93KS4K
KworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRl
ZC1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vdmVybG9hZGVkLW9wZXJhdGlvbnMtcGFyYW1zLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1vdmVybG9hZGVkLW9wZXJhdGlvbnMtcGFyYW1zLmh0bWw6IEFkZGVkLgorICAgICAgICBG
ZWVkcyBzb21lIGdvb2QgYnV0IG1vc3RseSBiYWQgaW5wdXQgdG8gdGhlIG92ZXJsb2FkZWQgb3Bl
cmF0aW9ucyB0byB2ZXJpZnkgSlMgYnVpbHQtaW5zCisgICAgICAgIGFyZ3VtZW50IGNoZWNraW5n
LgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRl
ZC1vcGVyYXRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICBWZXJpZmllcyB0aGF0IHRoZSBjb3Jy
ZWN0IG92ZXJsb2FkZWQgb3BlcmF0aW9uIGlzIGludm9rZWQuIEZvciBleGFtYXBsZSwgY3JlYXRl
T2ZmZXIoKQorICAgICAgICB3aXRob3V0IGFyZ3VtZW50cyBzaG91bGQgaW52b2tlIHRoZSBwcm9t
aXNlIGJhc2VkIGZ1bmN0aW9uLCBidXQgdGhlIHNhbWUgb3BlcmF0aW9uIHdpdGgKKyAgICAgICAg
dHdvIGZ1bmN0aW9uIGFyZ3VtZW50cyBzaG91bGQgaW52b2tlIHRoZSBsZWdhY3kgY2FsbGJhY2sg
dmVyc2lvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgVW5za2lwIGZhc3QvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmh0bWwsIGZhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaHRtbAorICAgICAgICBhbmQgZmFzdC9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaHRtbC4KKwogMjAxNS0xMS0xNiAgWGFiaWVyIFJv
ZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTdHJlYW1z
IEFQSV0gVXBkYXRlIHRoZSBpbXBsZW1lbnRhdGlvbiB1cCB0byBzcGVjIG9mIE5vdiAxMSAyMDE1
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg1YzcwNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ2IEBA
CitUZXN0IHdoaWNoIG92ZXJsb2FkZWQgUlRDUGVlckNvbm5lY3Rpb24gZnVuY3Rpb24gdGhhdCBn
ZXRzIGludm9rZWQgKGJ5IHJldHVybiB2YWx1ZSkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6
W3t1cmxzOidzdHVuOmZvby5jb20nfV19KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHJlc3VsdCA9IHBjLmNyZWF0ZU9mZmVyKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHJlc3VsdCA9IHBjLmNyZWF0
ZU9mZmVyKHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIGFuIGlu
c3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0gcGMuY3JlYXRlT2ZmZXIoZW1wdHlGdW5j
LCBlbXB0eUZ1bmMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQgaXMgdW5k
ZWZpbmVkLgorUEFTUyByZXN1bHQgPSBwYy5jcmVhdGVPZmZlcihlbXB0eUZ1bmMsIGVtcHR5RnVu
Yywge30pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQgaXMgdW5kZWZpbmVk
LgorUEFTUyByZXN1bHQgPSBwYy5jcmVhdGVBbnN3ZXIoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgcmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0g
cGMuY3JlYXRlQW5zd2VyKHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0
IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0gcGMuY3JlYXRlQW5zd2Vy
KGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVz
dWx0IGlzIHVuZGVmaW5lZC4KK1BBU1MgcmVzdWx0ID0gcGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVu
YywgZW1wdHlGdW5jLCB7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHJlc3VsdCBp
cyB1bmRlZmluZWQuCitQQVNTIGRlc2MgPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHsgdHlw
ZTogJ29mZmVyJywgc2RwOiAneCcgfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBy
ZXN1bHQgPSBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKGRlc2MpIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyByZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyByZXN1bHQg
PSBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIHVuZGVmaW5lZC4KK1BBU1MgcmVz
dWx0ID0gcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYykgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIHJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHJlc3VsdCA9
IHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIHVuZGVmaW5lZC4KK1BBU1MgY2Fu
ZGlkYXRlID0gbmV3IFJUQ0ljZUNhbmRpZGF0ZSh7fSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyByZXN1bHQgPSBwYy5hZGRJY2VDYW5kaWRhdGUoY2FuZGlkYXRlKSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BB
U1MgcmVzdWx0ID0gcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgZW1wdHlGdW5jLCBlbXB0
eUZ1bmMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQgaXMgdW5kZWZpbmVk
LgorUEFTUyByZXN1bHQgPSBwYy5nZXRTdGF0cygpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyByZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyByZXN1bHQgPSBwYy5n
ZXRTdGF0cyhudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIGFu
IGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0gcGMuZ2V0U3RhdHMobnVsbCwgZW1w
dHlGdW5jLCBlbXB0eUZ1bmMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQg
aXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLXBhcmFtcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQt
b3BlcmF0aW9ucy1wYXJhbXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjBmMmJlOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1wYXJhbXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI1IEBACitUZXN0IHZhcmlvdXMgYXJndW1lbnRzIHRv
IFJUQ1BlZXJDb25uZWN0aW9uIG92ZXJsb2FkZWQgZnVuY3Rpb25zCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtp
Y2VTZXJ2ZXJzOlt7dXJsczonc3R1bjpmb28uY29tJ31dfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBwYy5jcmVhdGVPZmZlcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBwYy5jcmVhdGVPZmZlcihlbXB0eUZ1bmMsIGVtcHR5RnVuYykgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBwYy5jcmVhdGVPZmZlcihlbXB0eUZ1bmMsIGVtcHR5RnVuYywgbnVsbCkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKHVuZGVmaW5lZCkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKGVtcHR5RnVuYywgZW1wdHlG
dW5jLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVP
ZmZlcih7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKGVt
cHR5RnVuYywgZW1wdHlGdW5jLCB7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKKyoqKiBP
cHRpb25zIG9iamVjdCBtdXN0IGJlIGxhc3QKK1BBU1MgcGMuY3JlYXRlT2ZmZXIoe30sIGVtcHR5
RnVuYywgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
c3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uY3JlYXRlT2ZmZXIgbXVzdCBi
ZSBhIEZ1bmN0aW9uLgorKioqIENhbGxiYWNrcyBhcmUgbm90IG51bGxhYmxlCitQQVNTIHBjLmNy
ZWF0ZU9mZmVyKG51bGwsIGVtcHR5RnVuYykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZU9m
ZmVyIG11c3QgYmUgYSBGdW5jdGlvbi4KK1BBU1MgcGMuY3JlYXRlT2ZmZXIoZW1wdHlGdW5jLCBu
dWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnZXJyb3JDYWxsYmFj
aycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZU9mZmVyIG11c3QgYmUgYSBGdW5jdGlvbi4K
K1BBU1MgcGMuY3JlYXRlT2ZmZXIobnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNy
ZWF0ZU9mZmVyIG11c3QgYmUgYSBGdW5jdGlvbi4KKworUEFTUyBwYy5jcmVhdGVBbnN3ZXIoKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVuYywg
ZW1wdHlGdW5jKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcGMuY3JlYXRlQW5zd2Vy
KG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoZW1w
dHlGdW5jLCBlbXB0eUZ1bmMsIG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBw
Yy5jcmVhdGVBbnN3ZXIodW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
cGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVuYywgZW1wdHlGdW5jLCB1bmRlZmluZWQpIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoe30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoZW1wdHlGdW5jLCBlbXB0eUZ1bmMsIHt9
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworKioqIE9wdGlvbnMgb2JqZWN0IG11c3QgYmUg
bGFzdAorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoe30sIGVtcHR5RnVuYywgZW1wdHlGdW5jKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8g
UlRDUGVlckNvbm5lY3Rpb24uY3JlYXRlQW5zd2VyIG11c3QgYmUgYSBGdW5jdGlvbi4KKyoqKiBD
YWxsYmFja3MgYXJlIG5vdCBudWxsYWJsZQorUEFTUyBwYy5jcmVhdGVBbnN3ZXIobnVsbCwgZW1w
dHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc3VjY2Vzc0Nh
bGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uY3JlYXRlQW5zd2VyIG11c3QgYmUgYSBGdW5j
dGlvbi4KK1BBU1MgcGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVuYywgbnVsbCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2Vycm9yQ2FsbGJhY2snKSB0byBSVENQZWVyQ29u
bmVjdGlvbi5jcmVhdGVBbnN3ZXIgbXVzdCBiZSBhIEZ1bmN0aW9uLgorUEFTUyBwYy5jcmVhdGVB
bnN3ZXIobnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZUFuc3dlciBtdXN0
IGJlIGEgRnVuY3Rpb24uCisKK1BBU1MgZGVzYyA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6J29mZmVyJywgc2RwOid4J30pOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
cGMuc2V0TG9jYWxEZXNjcmlwdGlvbihkZXNjKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihkZXNjLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCisKKyoqKiBkZXNjIGlzIG5vdCBvcHRpb25hbAorUEFTUyBw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMuCisqKiogZGVzYyBpcyBub3QgbnVsbGFibGUKK1BBU1MgcGMuc2V0TG9j
YWxEZXNjcmlwdGlvbihudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnZGVzY3JpcHRpb24nKSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRMb2NhbERlc2NyaXB0aW9u
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLgorUEFTUyBwYy5z
ZXRMb2NhbERlc2NyaXB0aW9uKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24nKSB0byBSVENQZWVyQ29u
bmVjdGlvbi5zZXRMb2NhbERlc2NyaXB0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uLgorKioqIEVycm9yIGNhbGxiYWNrIGlzIG1hbmRhdG9yeQorUEFTUyBw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYykgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRp
b24oZGVzYywgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCisqKiogQ2FsbGJhY2tzIGFyZSBub3QgbnVsbGFibGUKK1BBU1MgcGMuc2V0TG9jYWxE
ZXNjcmlwdGlvbihkZXNjLCBlbXB0eUZ1bmMsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDMgKCdlcnJvckNhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0
TG9jYWxEZXNjcmlwdGlvbiBtdXN0IGJlIGEgRnVuY3Rpb24uCitQQVNTIHBjLnNldExvY2FsRGVz
Y3JpcHRpb24oZGVzYywgbnVsbCwgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0
TG9jYWxEZXNjcmlwdGlvbiBtdXN0IGJlIGEgRnVuY3Rpb24uCitQQVNTIHBjLnNldExvY2FsRGVz
Y3JpcHRpb24oZGVzYywgbnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMiAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExvY2Fs
RGVzY3JpcHRpb24gbXVzdCBiZSBhIEZ1bmN0aW9uLgorKioqIEJhZCBpbnB1dCBhcyBkZXNjCitQ
QVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oJ2ZvbycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCdkZXNjcmlwdGlvbicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExv
Y2FsRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRp
b24uCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oJ2ZvbycsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24n
KSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRMb2NhbERlc2NyaXB0aW9uIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0
aW9uKDEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdkZXNjcmlwdGlv
bicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExvY2FsRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRpb24uCitQQVNTIHBjLnNldExvY2FsRGVzY3Jp
cHRpb24oMSwgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCdkZXNjcmlwdGlvbicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExvY2Fs
RGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRpb24u
CisKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYykgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYywgZW1w
dHlGdW5jKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworKioqIGRlc2MgaXMgbm90IG9wdGlv
bmFsCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCisqKiogZGVzYyBpcyBub3QgbnVsbGFibGUKK1BB
U1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24obnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ2Rlc2NyaXB0aW9uJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0UmVt
b3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRp
b24uCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKG51bGwsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24n
KSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi4KKyoqKiBFcnJvciBjYWxsYmFjayBpcyBt
YW5kYXRvcnkKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgZW1wdHlGdW5jKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgcGMu
c2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCisqKiogQ2FsbGJhY2tzIGFyZSBub3QgbnVsbGFibGUK
K1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgZW1wdHlGdW5jLCBudWxsKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAzICgnZXJyb3JDYWxsYmFjaycpIHRvIFJU
Q1BlZXJDb25uZWN0aW9uLnNldFJlbW90ZURlc2NyaXB0aW9uIG11c3QgYmUgYSBGdW5jdGlvbi4K
K1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgbnVsbCwgZW1wdHlGdW5jKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8g
UlRDUGVlckNvbm5lY3Rpb24uc2V0UmVtb3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhIEZ1bmN0aW9u
LgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihkZXNjLCBudWxsLCBudWxsKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRD
UGVlckNvbm5lY3Rpb24uc2V0UmVtb3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhIEZ1bmN0aW9uLgor
KioqIEJhZCBpbnB1dCBhcyBkZXNjCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKCdmb28n
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24nKSB0
byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi4KK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRp
b24oJ2ZvbycsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24nKSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1v
dGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bi4KK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oMSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ2Rlc2NyaXB0aW9uJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0
UmVtb3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3Jp
cHRpb24uCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKDEsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24n
KSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi4KKworUEFTUyBjYW5kaWRhdGUgPSBuZXcg
UlRDSWNlQ2FuZGlkYXRlKHt9KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmFk
ZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBw
Yy5hZGRJY2VDYW5kaWRhdGUoY2FuZGlkYXRlLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCisKKyoqKiBjYW5kaWRhdGUgaXMgbm90IG9wdGlvbmFsCitQQVNT
IHBjLmFkZEljZUNhbmRpZGF0ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgorKioqIGNhbmRpZGF0ZSBpcyBub3QgbnVsbGFibGUKK1BBU1MgcGMuYWRk
SWNlQ2FuZGlkYXRlKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdjYW5kaWRhdGUnKSB0byBSVENQZWVyQ29ubmVjdGlvbi5hZGRJY2VDYW5kaWRhdGUgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBSVENJY2VDYW5kaWRhdGUuCitQQVNTIHBjLmFkZEljZUNhbmRpZGF0
ZShudWxsLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ2NhbmRpZGF0ZScpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmFkZEljZUNhbmRp
ZGF0ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFJUQ0ljZUNhbmRpZGF0ZS4KKyoqKiBFcnJvciBj
YWxsYmFjayBpcyBtYW5kYXRvcnkKK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwg
ZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgbnVsbCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCisqKiogQ2FsbGJhY2tzIGFyZSBu
b3QgbnVsbGFibGUKK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgZW1wdHlGdW5j
LCBudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAzICgnZXJyb3JDYWxs
YmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmFkZEljZUNhbmRpZGF0ZSBtdXN0IGJlIGEgRnVu
Y3Rpb24uCitQQVNTIHBjLmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUsIG51bGwsIGVtcHR5RnVu
YykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3N1Y2Nlc3NDYWxsYmFj
aycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmFkZEljZUNhbmRpZGF0ZSBtdXN0IGJlIGEgRnVuY3Rp
b24uCitQQVNTIHBjLmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUsIG51bGwsIG51bGwpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdzdWNjZXNzQ2FsbGJhY2snKSB0byBS
VENQZWVyQ29ubmVjdGlvbi5hZGRJY2VDYW5kaWRhdGUgbXVzdCBiZSBhIEZ1bmN0aW9uLgorKioq
IEJhZCBpbnB1dCBhcyBjYW5kaWRhdGUKK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKCdmb28nKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnY2FuZGlkYXRlJykgdG8gUlRD
UGVlckNvbm5lY3Rpb24uYWRkSWNlQ2FuZGlkYXRlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUlRD
SWNlQ2FuZGlkYXRlLgorUEFTUyBwYy5hZGRJY2VDYW5kaWRhdGUoJ2ZvbycsIGVtcHR5RnVuYywg
ZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnY2FuZGlk
YXRlJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uYWRkSWNlQ2FuZGlkYXRlIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgUlRDSWNlQ2FuZGlkYXRlLgorUEFTUyBwYy5hZGRJY2VDYW5kaWRhdGUoMSkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2NhbmRpZGF0ZScpIHRvIFJUQ1Bl
ZXJDb25uZWN0aW9uLmFkZEljZUNhbmRpZGF0ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFJUQ0lj
ZUNhbmRpZGF0ZS4KK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKDEsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnY2FuZGlkYXRlJykg
dG8gUlRDUGVlckNvbm5lY3Rpb24uYWRkSWNlQ2FuZGlkYXRlIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgUlRDSWNlQ2FuZGlkYXRlLgorCitQQVNTIHBjLmdldFN0YXRzKCkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIHBjLmdldFN0YXRzKG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBwYy5nZXRTdGF0cyh0cmFjaykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHBjLmdldFN0YXRzKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgcGMuZ2V0U3RhdHModHJhY2ssIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworKioqIEVycm9yIGNhbGxiYWNrIGlzIG1hbmRhdG9y
eQorUEFTUyBwYy5nZXRTdGF0cyh0cmFjaywgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgcGMuZ2V0U3RhdHModHJhY2ssIG51
bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorKioq
IENhbGxiYWNrcyBhcmUgbm90IG51bGxhYmxlCitQQVNTIHBjLmdldFN0YXRzKHRyYWNrLCBlbXB0
eUZ1bmMsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDMgKCdlcnJv
ckNhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uZ2V0U3RhdHMgbXVzdCBiZSBhIEZ1bmN0
aW9uLgorUEFTUyBwYy5nZXRTdGF0cyh0cmFjaywgbnVsbCwgZW1wdHlGdW5jKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRDUGVl
ckNvbm5lY3Rpb24uZ2V0U3RhdHMgbXVzdCBiZSBhIEZ1bmN0aW9uLgorUEFTUyBwYy5nZXRTdGF0
cyh0cmFjaywgbnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQg
MiAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRzIG11c3Qg
YmUgYSBGdW5jdGlvbi4KKyoqKiBCYWQgaW5wdXQgYXMgdHJhY2sKK1BBU1MgcGMuZ2V0U3RhdHMo
J2ZvbycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzZWxlY3Rvcicp
IHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRzIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTWVk
aWFTdHJlYW1UcmFjay4KK1BBU1MgcGMuZ2V0U3RhdHMoJ2ZvbycsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2VsZWN0b3InKSB0
byBSVENQZWVyQ29ubmVjdGlvbi5nZXRTdGF0cyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE1lZGlh
U3RyZWFtVHJhY2suCitQQVNTIHBjLmdldFN0YXRzKDEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCdzZWxlY3RvcicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRz
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTWVkaWFTdHJlYW1UcmFjay4KK1BBU1MgcGMuZ2V0U3Rh
dHMoMSwgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCdzZWxlY3RvcicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRzIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgTWVkaWFTdHJlYW1UcmFjay4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1w
YXJhbXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLXBhcmFtcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjg2OTk4NjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1w
YXJhbXMuaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvZ2V0VXNlck1lZGlhLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
dmFyIHBjOworICAgICAgICAgICAgdmFyIHJlc3VsdDsKKyAgICAgICAgICAgIHZhciBkZXNjOwor
ICAgICAgICAgICAgdmFyIGNhbmRpZGF0ZTsKKyAgICAgICAgICAgIHZhciB0cmFjazsKKworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3QgdmFyaW91cyBhcmd1bWVudHMgdG8gUlRDUGVlckNv
bm5lY3Rpb24gb3ZlcmxvYWRlZCBmdW5jdGlvbnMiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90
VGhyb3coInBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOlt7dXJs
czonc3R1bjpmb28uY29tJ31dfSk7Iik7CisKKyAgICAgICAgICAgIC8vIFRlc3QgY3JlYXRlT2Zm
ZXIvQW5zd2VyKCkKKyAgICAgICAgICAgIHRlc3RDcmVhdGVPZmZlck9yQW5zd2VyKCJjcmVhdGVP
ZmZlciIpOworICAgICAgICAgICAgdGVzdENyZWF0ZU9mZmVyT3JBbnN3ZXIoImNyZWF0ZUFuc3dl
ciIpOworCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0Q3JlYXRlT2ZmZXJPckFuc3dlcihmdW5j
dGlvbk5hbWUpIHsKKworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCJwYy4iICsgZnVu
Y3Rpb25OYW1lICsgIigpIik7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInBjLiIg
KyBmdW5jdGlvbk5hbWUgKyAiKGVtcHR5RnVuYywgZW1wdHlGdW5jKSIpOworCisgICAgICAgICAg
ICAgICAgWyJudWxsIiwgInVuZGVmaW5lZCIsICJ7fSJdLmZvckVhY2goZnVuY3Rpb24gKGFyZykg
eworICAgICAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFt
ZSArICIoIiArIGFyZyArICIpIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93
KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIihlbXB0eUZ1bmMsIGVtcHR5RnVuYywgIiArIGFyZyAr
ICIpIik7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOwor
CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiKioqIE9wdGlvbnMgb2JqZWN0IG11c3QgYmUgbGFz
dCIpCisgICAgICAgICAgICAgICAgc2hvdWxkVGhyb3coInBjLiIgKyBmdW5jdGlvbk5hbWUgKyAi
KHt9LCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiKioq
IENhbGxiYWNrcyBhcmUgbm90IG51bGxhYmxlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkVGhy
b3coInBjLiIgKyBmdW5jdGlvbk5hbWUgKyAiKG51bGwsIGVtcHR5RnVuYykiKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoZW1wdHlGdW5jLCBu
dWxsKSIpOworICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1l
ICsgIihudWxsLCBudWxsKSIpOworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgLy8gVGVzdCBzZXRMb2NhbC9SZW1vdGVEZXNjcmlwdGlvbigp
CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygiZGVzYyA9IG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oe3R5cGU6J29mZmVyJywgc2RwOid4J30pOyIpOworCisgICAgICAgICAgICB0ZXN0U2V0
TG9jYWxPclJlbW90ZURlc2NyaXB0aW9uKCJzZXRMb2NhbERlc2NyaXB0aW9uIikKKyAgICAgICAg
ICAgIHRlc3RTZXRMb2NhbE9yUmVtb3RlRGVzY3JpcHRpb24oInNldFJlbW90ZURlc2NyaXB0aW9u
IikKKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNldExvY2FsT3JSZW1vdGVEZXNjcmlwdGlv
bihmdW5jdGlvbk5hbWUpIHsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicGMuIiAr
IGZ1bmN0aW9uTmFtZSArICIoZGVzYykiKTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoZGVzYywgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIik7
CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworCisgICAgICAgICAgICAgICAgYmFkSW5wdXRG
dWxsKGZ1bmN0aW9uTmFtZSwgImRlc2MiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGJhZElucHV0RnVsbChmdW5jdGlv
bk5hbWUsIGZpcnN0QXJnKSB7CisgICAgICAgICAgICAgICAgZGVidWcoIioqKiAiICsgZmlyc3RB
cmcgKyAiIGlzIG5vdCBvcHRpb25hbCIpOworICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCJw
Yy4iICsgZnVuY3Rpb25OYW1lICsgIigpIik7CisgICAgICAgICAgICAgICAgZGVidWcoIioqKiAi
ICsgZmlyc3RBcmcgKyAiIGlzIG5vdCBudWxsYWJsZSIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIihudWxsKSIpOworICAgICAgICAgICAgICAg
IHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIihudWxsLCBlbXB0eUZ1bmMsIGVt
cHR5RnVuYykiKTsKKyAgICAgICAgICAgICAgICBiYWRJbnB1dChmdW5jdGlvbk5hbWUsIGZpcnN0
QXJnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gYmFkSW5wdXQoZnVu
Y3Rpb25OYW1lLCBmaXJzdEFyZykgeworICAgICAgICAgICAgICAgIGRlYnVnKCIqKiogRXJyb3Ig
Y2FsbGJhY2sgaXMgbWFuZGF0b3J5IikKKyAgICAgICAgICAgICAgICBzaG91bGRUaHJvdygicGMu
IiArIGZ1bmN0aW9uTmFtZSArICIoIiArIGZpcnN0QXJnICsgIiwgZW1wdHlGdW5jKSIpOworICAg
ICAgICAgICAgICAgIHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIigiICsgZmly
c3RBcmcgKyAiLCBudWxsKSIpOworICAgICAgICAgICAgICAgIGRlYnVnKCIqKiogQ2FsbGJhY2tz
IGFyZSBub3QgbnVsbGFibGUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRUaHJvdygicGMuIiAr
IGZ1bmN0aW9uTmFtZSArICIoIiArIGZpcnN0QXJnICsgIiwgZW1wdHlGdW5jLCBudWxsKSIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIigiICsg
Zmlyc3RBcmcgKyAiLCBudWxsLCBlbXB0eUZ1bmMpIik7CisgICAgICAgICAgICAgICAgc2hvdWxk
VGhyb3coInBjLiIgKyBmdW5jdGlvbk5hbWUgKyAiKCIgKyBmaXJzdEFyZyArICIsIG51bGwsIG51
bGwpIik7CisgICAgICAgICAgICAgICAgZGVidWcoIioqKiBCYWQgaW5wdXQgYXMgIiArIGZpcnN0
QXJnKTsKKyAgICAgICAgICAgICAgICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSAr
ICIoJ2ZvbycpIik7CisgICAgICAgICAgICAgICAgc2hvdWxkVGhyb3coInBjLiIgKyBmdW5jdGlv
bk5hbWUgKyAiKCdmb28nLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoMSkiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoMSwgZW1wdHlGdW5jLCBl
bXB0eUZ1bmMpIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFRlc3QgYWRkSWNl
Q2FuZGlkYXRlKCkKKyAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCJjYW5kaWRhdGUgPSBuZXcg
UlRDSWNlQ2FuZGlkYXRlKHt9KTsiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInBj
LmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUpIik7CisgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygicGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIik7
CisgICAgICAgICAgICBkZWJ1ZygiIik7CisKKyAgICAgICAgICAgIGJhZElucHV0RnVsbCgiYWRk
SWNlQ2FuZGlkYXRlIiwgImNhbmRpZGF0ZSIpOworICAgICAgICAgICAgZGVidWcoIiIpOworCisg
ICAgICAgICAgICAvLyBUZXN0IGdldFN0YXRzKCkKKyAgICAgICAgICAgIGdldFVzZXJNZWRpYSgi
YWxsb3ciLCB7ICJ2aWRlbyI6IHRydWUgfSwgZnVuY3Rpb24gKHN0cmVhbSkgeworICAgICAgICAg
ICAgICAgIHRyYWNrID0gc3RyZWFtLmdldFRyYWNrcygpWzBdOworCisgICAgICAgICAgICAgICAg
c2hvdWxkTm90VGhyb3coInBjLmdldFN0YXRzKCkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRO
b3RUaHJvdygicGMuZ2V0U3RhdHMobnVsbCkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RU
aHJvdygicGMuZ2V0U3RhdHModHJhY2spIik7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhy
b3coInBjLmdldFN0YXRzKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSIpOworICAgICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCJwYy5nZXRTdGF0cyh0cmFjaywgZW1wdHlGdW5jLCBlbXB0
eUZ1bmMpIik7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworCisgICAgICAgICAgICAgICAg
YmFkSW5wdXQoImdldFN0YXRzIiwgInRyYWNrIik7CisgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZnVuY3Rpb24gZW1wdHlGdW5j
KCkgeyB9CisKKyAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAg
ICAgICAgIHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCisgICAgICAgIDwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vdmVybG9hZGVkLW9wZXJhdGlv
bnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
b3ZlcmxvYWRlZC1vcGVyYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYzk1YzUwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLmh0bWwKQEAgLTAs
MCArMSw3NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBwYzsKKyAgICAgICAgICAgIHZhciByZXN1
bHQ7CisgICAgICAgICAgICB2YXIgZGVzYzsKKyAgICAgICAgICAgIHZhciBjYW5kaWRhdGU7CisK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IHdoaWNoIG92ZXJsb2FkZWQgUlRDUGVlckNv
bm5lY3Rpb24gZnVuY3Rpb24gdGhhdCBnZXRzIGludm9rZWQgKGJ5IHJldHVybiB2YWx1ZSkiKTsK
KworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25u
ZWN0aW9uKHtpY2VTZXJ2ZXJzOlt7dXJsczonc3R1bjpmb28uY29tJ31dfSk7Iik7CisKKyAgICAg
ICAgICAgIC8vIFRlc3QgY3JlYXRlT2ZmZXIvQW5zd2VyKCkKKyAgICAgICAgICAgIHRlc3RDcmVh
dGVPZmZlck9yQW5zd2VyKCJjcmVhdGVPZmZlciIpOworICAgICAgICAgICAgdGVzdENyZWF0ZU9m
ZmVyT3JBbnN3ZXIoImNyZWF0ZUFuc3dlciIpOworCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
Q3JlYXRlT2ZmZXJPckFuc3dlcihmdW5jdGlvbk5hbWUpIHsKKyAgICAgICAgICAgICAgICBzaG91
bGROb3RUaHJvdygicmVzdWx0ID0gcGMuIiArIGZ1bmN0aW9uTmFtZSArICIoKSIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlVHlwZSgicmVzdWx0IiwgIlByb21pc2UiKTsKKworICAgICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCJyZXN1bHQgPSBwYy4iICsgZnVuY3Rpb25OYW1lICsgIih7
fSkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVR5cGUoInJlc3VsdCIsICJQcm9taXNlIik7
CisKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicmVzdWx0ID0gcGMuIiArIGZ1bmN0
aW9uTmFtZSArICIoZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIik7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmVVbmRlZmluZWQoInJlc3VsdCIpOworCisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhy
b3coInJlc3VsdCA9IHBjLiIgKyBmdW5jdGlvbk5hbWUgKyAiKGVtcHR5RnVuYywgZW1wdHlGdW5j
LCB7fSkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVVuZGVmaW5lZCgicmVzdWx0Iik7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFRlc3Qgc2V0TG9jYWwvUmVtb3RlRGVzY3Jp
cHRpb24oKQorICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coImRlc2MgPSBuZXcgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKHsgdHlwZTogJ29mZmVyJywgc2RwOiAneCcgfSk7Iik7CisKKyAgICAgICAg
ICAgIHRlc3RTZXRMb2NhbE9yUmVtb3RlRGVzY3JpcHRpb24oInNldExvY2FsRGVzY3JpcHRpb24i
KQorICAgICAgICAgICAgdGVzdFNldExvY2FsT3JSZW1vdGVEZXNjcmlwdGlvbigic2V0UmVtb3Rl
RGVzY3JpcHRpb24iKQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0TG9jYWxPclJlbW90
ZURlc2NyaXB0aW9uKGZ1bmN0aW9uTmFtZSkgeworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRo
cm93KCJyZXN1bHQgPSBwYy4iICsgZnVuY3Rpb25OYW1lICsgIihkZXNjKSIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlVHlwZSgicmVzdWx0IiwgIlByb21pc2UiKTsKKworICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCJyZXN1bHQgPSBwYy4iICsgZnVuY3Rpb25OYW1lICsgIihkZXNj
LCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVVuZGVm
aW5lZCgicmVzdWx0Iik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFRlc3QgYWRk
SWNlQ2FuZGlkYXRlKCkKKyAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCJjYW5kaWRhdGUgPSBu
ZXcgUlRDSWNlQ2FuZGlkYXRlKHt9KTsiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3co
InJlc3VsdCA9IHBjLmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUpIik7CisgICAgICAgICAgICBz
aG91bGRCZVR5cGUoInJlc3VsdCIsICJQcm9taXNlIik7CisKKyAgICAgICAgICAgIHNob3VsZE5v
dFRocm93KCJyZXN1bHQgPSBwYy5hZGRJY2VDYW5kaWRhdGUoY2FuZGlkYXRlLCBlbXB0eUZ1bmMs
IGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVW5kZWZpbmVkKCJyZXN1bHQiKTsK
KworICAgICAgICAgICAgLy8gVGVzdCBnZXRTdGF0cygpCisgICAgICAgICAgICBzaG91bGROb3RU
aHJvdygicmVzdWx0ID0gcGMuZ2V0U3RhdHMoKSIpOworICAgICAgICAgICAgc2hvdWxkQmVUeXBl
KCJyZXN1bHQiLCAiUHJvbWlzZSIpOworCisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicmVz
dWx0ID0gcGMuZ2V0U3RhdHMobnVsbCkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHlwZSgicmVz
dWx0IiwgIlByb21pc2UiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInJlc3VsdCA9
IHBjLmdldFN0YXRzKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSIpOworICAgICAgICAgICAg
c2hvdWxkQmVVbmRlZmluZWQoInJlc3VsdCIpOworCisgICAgICAgICAgICBmdW5jdGlvbiBlbXB0
eUZ1bmMoKSB7IH0KKworICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFkMDc3YjUuLjE2
ODdhMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
MzEsNyArMzMxLDYgQEAgd2Via2l0Lm9yZy9iLzg1MjEyIGlldGVzdGNlbnRlci9jc3MzL2ZsZXhi
b3gvZmxleGJveC1sYXlvdXQtMDAyLmh0bSBbIEltYWdlT25seUYKIHdlYmtpdC5vcmcvYi83OTIw
MyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzc5MjAzIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLW9uZW5kZWQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzc5
MjAzIGZhc3QvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92
ZVN0cmVhbS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1jcmVhdGVBbnN3ZXIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9y
Zy9iLzc5MjAzIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tY3JlYXRlT2ZmZXIu
aHRtbCBbIFNraXAgXQpAQCAtMzQzLDcgKzM0Miw2IEBAIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtb2ZmZXIuaHRtbCBbIFNr
CiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1o
YXZlLWxvY2FsLXByYW5zd2VyLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVyLmh0bWwgWyBT
a2lwIF0KIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi83OTIw
MyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1s
IFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1sb2NhbERlc2NyaXB0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi83OTIw
MyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW9ubmVnb3RpYXRpb25uZWVkZWQu
aHRtbCBbIFNraXAgXQpAQCAtMzUyLDcgKzM1MCw2IEBAIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGF0ZS5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1zdGF0cy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGF0c1NlbGVjdG9yLmh0bWwgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9ldmVudHMvY29uc3RydWN0
b3JzL21lZGlhLXN0cmVhbS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sIFsgU2tpcCBdCiB3ZWJraXQu
b3JnL2IvNzkyMDMgd2ViYXVkaW8vbWVkaWFzdHJlYW1hdWRpb2Rlc3RpbmF0aW9ubm9kZS5odG1s
IFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgd2ViYXVkaW8vbWVkaWFzdHJlYW1hdWRpb3Nv
dXJjZW5vZGUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmODMxMmFhLi44
ZDA1NDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTQ1LDYgKzk0NSw3IEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlSW5mby5jcHAK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKICAgICBNb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlc1JlcXVlc3QuY3BwCisgICAgTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXMu
Y3BwCkBAIC05NTgsNyArOTU5LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcAogICAgIE1vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwCi0gICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbkJhY2tlbmQuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1
cmF0aW9uLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZUb25lQ2hhbmdlRXZlbnQuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMWUxNDE5Yi4uNDdmNWRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE1
LTExLTE2ICBBZGFtIEJlcmdrdmlzdCAgPGFkYW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KKwor
ICAgICAgICBXZWJSVEM6IEluaXRpYWwgdGVzdGluZyBvZiB1cGRhdGVkIFJUQ1BlZXJDb25uZWN0
aW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUxMzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlv
biB3aGljaAorICAgICAgICByZWFsaXplcyB0aGUgUGVlckNvbm5lY3Rpb25CYWNrZW5kIGludGVy
ZmFjZS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZQorICAgICAgICB0byBjb25zdHJ1Y3QgYW4gUlRD
UGVlckNvbm5lY3Rpb24gYW5kIGRvIGluaXRpYWwgdGVzdGluZy4KKworICAgICAgICBUZXN0czog
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vdmVybG9hZGVkLW9wZXJhdGlvbnMt
cGFyYW1zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLmh0bWwKKworICAgICAgICBBbHNvIHVuc2tpcCAz
IGV4aXN0aW5nIFJUQ1BlZXJDb25uZWN0aW9uIHRlc3RzIG9uIEdUSy4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2lu
dFBlZXJDb25uZWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVNZWRp
YUVuZHBvaW50UGVlckNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2lu
dFBlZXJDb25uZWN0aW9uOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24pOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVPZmZlcik6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNyZWF0ZUFuc3dlcik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnNldExvY2Fs
RGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0
aW9uOjpsb2NhbERlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQ
ZWVyQ29ubmVjdGlvbjo6Y3VycmVudExvY2FsRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpwZW5kaW5nTG9jYWxEZXNjcmlwdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnNldFJlbW90
ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbjo6cmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2lu
dFBlZXJDb25uZWN0aW9uOjpjdXJyZW50UmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpwZW5kaW5nUmVtb3RlRGVzY3JpcHRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpzZXRD
b25maWd1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbjo6YWRkSWNlQ2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQ
ZWVyQ29ubmVjdGlvbjo6Z2V0U3RhdHMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2lu
dFBlZXJDb25uZWN0aW9uOjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQ
ZWVyQ29ubmVjdGlvbjo6bWFya0FzTmVlZGluZ05lZ290aWF0aW9uKToKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTUtMTEtMTYg
IFNlYmFzdGlhbiBEcsO2Z2UgIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgogCiAgICAgICAg
IFdlYlJUQzogRXhwb3NlIFJUQ1BlZXJDb25uZWN0aW9uSW50ZXJuYWxzIGZ1bmN0aW9ucyB0byBK
UyBidWlsdGlucy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTE3OTlhCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rp
b24uY3BwCkBAIC0wLDAgKzEsMTY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEVyaWNz
c29uIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKiAzLiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1
dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lm
IEVOQUJMRShNRURJQV9TVFJFQU0pCisjaW5jbHVkZSAiTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0
aW9uLmgiCisKKyNpbmNsdWRlICJET01FcnJvci5oIgorI2luY2x1ZGUgIkpTRE9NRXJyb3IuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgUGVlckNvbm5lY3Rpb247
CisKK3N0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UGVlckNvbm5lY3Rpb25CYWNrZW5kPiBjcmVhdGVN
ZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24oUGVlckNvbm5lY3Rpb25CYWNrZW5kQ2xpZW50KiBj
bGllbnQpCit7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ+KG5ldyBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24oY2xpZW50KSk7Cit9CisKK0NyZWF0
ZVBlZXJDb25uZWN0aW9uQmFja2VuZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0ZSA9IGNy
ZWF0ZU1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjsKKworTWVkaWFFbmRwb2ludFBlZXJDb25u
ZWN0aW9uOjpNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24oUGVlckNvbm5lY3Rpb25CYWNrZW5k
Q2xpZW50KiBjbGllbnQpCit7CisgICAgVU5VU0VEX1BBUkFNKGNsaWVudCk7Cit9CisKK3ZvaWQg
TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVPZmZlcihSVENPZmZlck9wdGlvbnMm
IG9wdGlvbnMsIFNlc3Npb25EZXNjcmlwdGlvblByb21pc2UmJiBwcm9taXNlKQoreworICAgIFVO
VVNFRF9QQVJBTShvcHRpb25zKTsKKworICAgIG5vdEltcGxlbWVudGVkKCk7CisKKyAgICBwcm9t
aXNlLnJlamVjdChET01FcnJvcjo6Y3JlYXRlKCJOb3RTdXBwb3J0ZWRFcnJvciIpKTsKK30KKwor
dm9pZCBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmNyZWF0ZUFuc3dlcihSVENBbnN3ZXJP
cHRpb25zJiBvcHRpb25zLCBTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYgcHJvbWlzZSkKK3sK
KyAgICBVTlVTRURfUEFSQU0ob3B0aW9ucyk7CisKKyAgICBub3RJbXBsZW1lbnRlZCgpOworCisg
ICAgcHJvbWlzZS5yZWplY3QoRE9NRXJyb3I6OmNyZWF0ZSgiTm90U3VwcG9ydGVkRXJyb3IiKSk7
Cit9CisKK3ZvaWQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpzZXRMb2NhbERlc2NyaXB0
aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIFZvaWRQcm9taXNlJiYgcHJv
bWlzZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOworCisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKKworICAgIHByb21pc2UucmVqZWN0KERPTUVycm9yOjpjcmVhdGUoIk5vdFN1cHBv
cnRlZEVycm9yIikpOworfQorCitSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBNZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb246OmxvY2FsRGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPFJUQ1Nl
c3Npb25EZXNjcmlwdGlvbj4gTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjdXJyZW50TG9j
YWxEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAgIHJl
dHVybiBudWxscHRyOworfQorCitSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBNZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb246OnBlbmRpbmdMb2NhbERlc2NyaXB0aW9uKCkgY29uc3QKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQg
TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpzZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNz
aW9uRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBWb2lkUHJvbWlzZSYmIHByb21pc2UpCit7Cisg
ICAgVU5VU0VEX1BBUkFNKGRlc2NyaXB0aW9uKTsKKworICAgIG5vdEltcGxlbWVudGVkKCk7CisK
KyAgICBwcm9taXNlLnJlamVjdChET01FcnJvcjo6Y3JlYXRlKCJOb3RTdXBwb3J0ZWRFcnJvciIp
KTsKK30KKworUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gTWVkaWFFbmRwb2ludFBlZXJD
b25uZWN0aW9uOjpyZW1vdGVEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKKworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uPiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmN1cnJlbnRSZW1vdGVEZXNjcmlw
dGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAgIHJldHVybiBudWxs
cHRyOworfQorCitSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBNZWRpYUVuZHBvaW50UGVl
ckNvbm5lY3Rpb246OnBlbmRpbmdSZW1vdGVEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKworICAgIHJldHVybiBudWxscHRyOworfQorCit2b2lkIE1lZGlhRW5k
cG9pbnRQZWVyQ29ubmVjdGlvbjo6c2V0Q29uZmlndXJhdGlvbihSVENDb25maWd1cmF0aW9uJiBj
b25maWd1cmF0aW9uKQoreworICAgIFVOVVNFRF9QQVJBTShjb25maWd1cmF0aW9uKTsKKworICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9u
OjphZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlJiBydGNDYW5kaWRhdGUsIFBlZXJDb25u
ZWN0aW9uOjpWb2lkUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgVU5VU0VEX1BBUkFNKHJ0Y0Nh
bmRpZGF0ZSk7CisKKyAgICBub3RJbXBsZW1lbnRlZCgpOworCisgICAgcHJvbWlzZS5yZWplY3Qo
RE9NRXJyb3I6OmNyZWF0ZSgiTm90U3VwcG9ydGVkRXJyb3IiKSk7Cit9CisKK3ZvaWQgTWVkaWFF
bmRwb2ludFBlZXJDb25uZWN0aW9uOjpnZXRTdGF0cyhNZWRpYVN0cmVhbVRyYWNrJiwgUGVlckNv
bm5lY3Rpb246OlN0YXRzUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKworICAgIHByb21pc2UucmVqZWN0KERPTUVycm9yOjpjcmVhdGUoIk5vdFN1cHBvcnRlZEVy
cm9yIikpOworfQorCit2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6c3RvcCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBNZWRpYUVuZHBvaW50UGVlckNvbm5l
Y3Rpb246Om1hcmtBc05lZWRpbmdOZWdvdGlhdGlvbigpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElB
X1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjdkMTIxODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCkBA
IC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgRXJpY3Nzb24gQUIuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhl
IG5hbWUgb2YgRXJpY3Nzb24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAg
ICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb25f
aAorI2RlZmluZSBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb25faAorCisjaWYgRU5BQkxFKE1F
RElBX1NUUkVBTSkKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGVl
ckNvbm5lY3Rpb25CYWNrZW5kLmgiCisjaW5jbHVkZSAiUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgi
CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE1lZGlhU3RyZWFtVHJhY2s7CisKK2NsYXNzIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbiA6
IHB1YmxpYyBQZWVyQ29ubmVjdGlvbkJhY2tlbmQgeworcHVibGljOgorICAgIE1lZGlhRW5kcG9p
bnRQZWVyQ29ubmVjdGlvbihQZWVyQ29ubmVjdGlvbkJhY2tlbmRDbGllbnQqKTsKKworICAgIHZv
aWQgY3JlYXRlT2ZmZXIoUlRDT2ZmZXJPcHRpb25zJiwgUGVlckNvbm5lY3Rpb246OlNlc3Npb25E
ZXNjcmlwdGlvblByb21pc2UmJikgb3ZlcnJpZGU7CisgICAgdm9pZCBjcmVhdGVBbnN3ZXIoUlRD
QW5zd2VyT3B0aW9ucyYsIFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNl
JiYpIG92ZXJyaWRlOworCisgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbiYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYmKSBvdmVycmlkZTsKKyAg
ICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBsb2NhbERlc2NyaXB0aW9uKCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gY3VycmVudExvY2Fs
RGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uPiBwZW5kaW5nTG9jYWxEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOworCisgICAg
dm9pZCBzZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mLCBQZWVyQ29u
bmVjdGlvbjo6Vm9pZFByb21pc2UmJikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbj4gcmVtb3RlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZWZQ
dHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBjdXJyZW50UmVtb3RlRGVzY3JpcHRpb24oKSBjb25z
dCBvdmVycmlkZTsKKyAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwZW5kaW5nUmVt
b3RlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKKworICAgIHZvaWQgc2V0Q29uZmlndXJh
dGlvbihSVENDb25maWd1cmF0aW9uJikgb3ZlcnJpZGU7CisgICAgdm9pZCBhZGRJY2VDYW5kaWRh
dGUoUlRDSWNlQ2FuZGlkYXRlJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYpIG92ZXJy
aWRlOworCisgICAgdm9pZCBnZXRTdGF0cyhNZWRpYVN0cmVhbVRyYWNrJiwgUGVlckNvbm5lY3Rp
b246OlN0YXRzUHJvbWlzZSYmKSBvdmVycmlkZTsKKworICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRl
OworCisgICAgYm9vbCBpc05lZ290aWF0aW9uTmVlZGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH07CisgICAgdm9pZCBtYXJrQXNOZWVkaW5nTmVnb3RpYXRpb24oKSBvdmVycmlk
ZTsKKyAgICB2b2lkIGNsZWFyTmVnb3RpYXRpb25OZWVkZWRTdGF0ZSgpIG92ZXJyaWRlIHsgbm90
SW1wbGVtZW50ZWQoKTsgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBNZWRpYUVuZHBvaW50UGVlckNv
bm5lY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGU4YzllNWIuLmY3MGI0ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzNTYsNyArMjM1Niw4IEBA
CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0
MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3
N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVs
ZWRBY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1REZFQkFCNzE4NTkyQjZEMDBDNzVCRUIgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1REZFQkFCNjE4NTky
QjZEMDBDNzVCRUIgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNUUyQzQzNTAxQkNFRTJGNjAwMDFFMkJDIC8q
IFBlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1RTJDNDM0QzFCQ0VFMkU1MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rp
b25CYWNrZW5kLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OworCQk1
RTE2QTJFNDFCRkE2NTBCMDAyOUEyMUUgLyogTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RTE2QTJFMzFC
RkE2NEZCMDAyOUEyMUUgLyogTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmggKi87IHNldHRp
bmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKKwkJNUUxNkEyRTUxQkZBNjUwRjAwMjlBMjFF
IC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RTE2QTJFMjFCRkE2NEZCMDAyOUEyMUUgLyogTWVk
aWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9
ICgpOyB9OyB9OwogCQk1RTJDNDM1MTFCQ0VFMkY2MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rpb25C
YWNrZW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
RTJDNDM0RDFCQ0VFMkU1MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggKi87IHNl
dHRpbmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJNUUyQzQzNTIxQkNFRTJGNjAwMDFF
MkJDIC8qIFBlZXJDb25uZWN0aW9uU3RhdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1RTJDNDM0RTFCQ0VFMkU1MDAwMUUyQkMgLyogUGVlckNvbm5l
Y3Rpb25TdGF0ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OwogCQk1
RTJDNDM1MzFCQ0VFMkY2MDAwMUUyQkMgLyogUlRDQ29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RTJDNDM0RjFCQ0VFMkU1MDAw
MUUyQkMgLyogUlRDQ29uZmlndXJhdGlvbi5jcHAgKi87IHNldHRpbmdzID0ge0FTU0VUX1RBR1Mg
PSAoKTsgfTsgfTsKQEAgLTk4MDksNyArOTgxMCw4IEBACiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFC
QzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1REZFQkFCNjE4NTkyQjZEMDBDNzVCRUIg
LyogV2ViS2l0QXZhaWxhYmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYktpdEF2YWlsYWJpbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1RTJD
NDM0QzFCQ0VFMkU1MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlZXJDb25uZWN0aW9uQmFja2VuZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVFMTZBMkUyMUJGQTY0RkIwMDI5QTIxRSAv
KiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUUxNkEyRTMxQkZBNjRGQjAwMjlBMjFFIC8qIE1lZGlhRW5k
cG9pbnRQZWVyQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUUyQzQzNEQxQkNFRTJFNTAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9uQmFja2VuZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUUyQzQzNEUxQkNFRTJFNTAwMDFFMkJDIC8q
IFBlZXJDb25uZWN0aW9uU3RhdGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFBlZXJDb25uZWN0aW9uU3RhdGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVF
MkM0MzRGMUJDRUUyRTUwMDAxRTJCQyAvKiBSVENDb25maWd1cmF0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ0NvbmZpZ3VyYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxMjgsNiArMTUxMzAsOCBAQAogCQkJCTk5OTRFNUQ4
MUJEODQzQTMwMEYyRDgzNSAvKiBNZWRpYURldmljZXMuanMgKi8sCiAJCQkJMDczOTRFQzcxQkFC
MkNDRDAwQkU5OUNEIC8qIE1lZGlhRGV2aWNlc1JlcXVlc3QuY3BwICovLAogCQkJCTA3Mzk0RUM5
MUJBQjJDRDcwMEJFOTlDRCAvKiBNZWRpYURldmljZXNSZXF1ZXN0LmggKi8sCisJCQkJNUUxNkEy
RTIxQkZBNjRGQjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAgKi8s
CisJCQkJNUUxNkEyRTMxQkZBNjRGQjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbi5oICovLAogCQkJCTA3QzU5QjY1MTdGNzg0QkEwMDBGQkNCQiAvKiBNZWRpYVNvdXJjZVN0
YXRlcy5jcHAgKi8sCiAJCQkJMDdDNTlCNjYxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNl
U3RhdGVzLmggKi8sCiAJCQkJMDdDNTlCNjcxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNl
U3RhdGVzLmlkbCAqLywKQEAgLTE1MTY5LDcgKzE1MTczLDYgQEAKIAkJCQkwNzAzMjdGNzE3RUE0
QUFGMDBDRTEzMTggLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovLAogCQkJCTA3MjIx
QjVEMTdDRUMzMjcwMDg0OEU1MSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovLAogCQkJ
CTA3MjIxQjVFMTdDRUMzMjcwMDg0OEU1MSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwg
Ki8sCi0JCQkJNUUyQzQzNEMxQkNFRTJFNTAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9uQmFja2Vu
ZC5jcHAgKi8sCiAJCQkJNUUyQzQzNEQxQkNFRTJFNTAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9u
QmFja2VuZC5oICovLAogCQkJCTVFMkM0MzRFMUJDRUUyRTUwMDAxRTJCQyAvKiBQZWVyQ29ubmVj
dGlvblN0YXRlcy5oICovLAogCQkJCTVFMkM0MzRGMUJDRUUyRTUwMDAxRTJCQyAvKiBSVENDb25m
aWd1cmF0aW9uLmNwcCAqLywKQEAgLTI1NjExLDYgKzI1NjE0LDcgQEAKIAkJCQk2NTg0MzY4NjBB
RTAxQjc0MDBFNTM3NTMgLyogRnJhbWVMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NjI4RDIxNEUxMjEzMUVGNDAwNTVEQ0ZDIC8qIEZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTkzMzA5RTBFMDk5RTY0OTIwMDU2RTU4MSAvKiBGcmFtZVNlbGVjdGlv
bi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUUxNkEyRTQxQkZBNjUwQjAwMjlBMjFFIC8qIE1lZGlh
RW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzRDRDYyOUIxODM4
Mzc2NjAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3R0aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk2
NUEyMTQ4NTA5N0EzRjUzMDBCOTA1MEEgLyogRnJhbWVUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk2NUNCRkVGQTA5NzRGNjA3MDAxREFDMjUgLyogRnJhbWVWaWV3LmggaW4gSGVhZGVycyAqLywK
QEAgLTI5ODE1LDcgKzI5ODE5LDYgQEAKIAkJCQkxQUUyQUE5NzBBMUNERDJEMDBCNDJCMjUgLyog
SlNIVE1MSW1hZ2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU3RTk4MEExQTgz
RTMwMDdGQjhDNSAvKiBKU0hUTUxJbnB1dEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNDNDM4NzgwRTg4NkNDNzAwNTMzREQ1IC8qIEpTSFRNTElucHV0RWxlbWVudEN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk1RTJDNDM1MDFCQ0VFMkY2MDAwMUUyQkMgLyogUGVlckNvbm5l
Y3Rpb25CYWNrZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE2MTQ4QTc4MTJFNDFFM0IwMDQ0
QTc4NCAvKiBKU0hUTUxLZXlnZW5FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTJB
QjIxMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxMYWJlbEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUFFMkFCMjMwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTExlZ2VuZEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDY1OSw2ICszMDY2Miw3IEBACiAJCQkJODUwMzFCNEIw
QTQ0RUZDNzAwRjk5MkUwIC8qIFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUNERkMzNjA1MThDQTYxQzIwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVu
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RGQzM2MDcxOENBNjk2QzAwMjZFNTZGIC8qIFJl
bW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbSBpbiBTb3VyY2VzICovLAorCQkJCTVFMTZBMkU1MUJG
QTY1MEYwMDI5QTIxRSAvKiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTMzMDlFMDAwOTlFNjQ5MjAwNTZFNTgxIC8qIFJlbW92ZUNTU1Byb3BlcnR5
Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEMDZDMEQ5MDBDRkQxMTQ2MDA2NUY0M0Yg
LyogUmVtb3ZlRm9ybWF0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwNDA5
OUU2NDkyMDA1NkU1ODEgLyogUmVtb3ZlTm9kZUNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265614</attachid>
            <date>2015-11-16 14:03:57 -0800</date>
            <delta_ts>2015-11-18 06:52:34 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>pc-testing_1.patch</filename>
            <type>text/plain</type>
            <size>44082</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NDdhZDcwLi42ZDhmM2VmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTUtMTEt
MTYgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW5pdGlhbCB0ZXN0aW5nIG9mIHVwZGF0ZWQgUlRDUGVlckNvbm5lY3Rpb24g
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEz
MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
dHdvIG5ldyB0ZXN0cyBhbmQgdW5za2lwIHRocmVlIG9sZCBvbmVzIChkZXRhaWxzIGJlbG93KS4K
KworICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRl
ZC1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0
cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vdmVybG9hZGVkLW9wZXJhdGlvbnMtcGFyYW1zLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1vdmVybG9hZGVkLW9wZXJhdGlvbnMtcGFyYW1zLmh0bWw6IEFkZGVkLgorICAgICAgICBG
ZWVkcyBzb21lIGdvb2QgYnV0IG1vc3RseSBiYWQgaW5wdXQgdG8gdGhlIG92ZXJsb2FkZWQgb3Bl
cmF0aW9ucyB0byB2ZXJpZnkgSlMgYnVpbHQtaW5zCisgICAgICAgIGFyZ3VtZW50IGNoZWNraW5n
LgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRl
ZC1vcGVyYXRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICBWZXJpZmllcyB0aGF0IHRoZSBjb3Jy
ZWN0IG92ZXJsb2FkZWQgb3BlcmF0aW9uIGlzIGludm9rZWQuIEZvciBleGFtYXBsZSwgY3JlYXRl
T2ZmZXIoKQorICAgICAgICB3aXRob3V0IGFyZ3VtZW50cyBzaG91bGQgaW52b2tlIHRoZSBwcm9t
aXNlIGJhc2VkIGZ1bmN0aW9uLCBidXQgdGhlIHNhbWUgb3BlcmF0aW9uIHdpdGgKKyAgICAgICAg
dHdvIGZ1bmN0aW9uIGFyZ3VtZW50cyBzaG91bGQgaW52b2tlIHRoZSBsZWdhY3kgY2FsbGJhY2sg
dmVyc2lvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgVW5za2lwIGZhc3QvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmh0bWwsIGZhc3QvbWVk
aWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaHRtbAorICAgICAgICBhbmQgZmFzdC9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaHRtbC4KKwogMjAxNS0xMS0xNiAgSmlld2VuIFRh
biAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIE51bGwtcG9pbnRlciBkZXJlZmVy
ZW5jZSBpbiBXZWJDb3JlOjpmaXJzdEVkaXRhYmxlUG9zaXRpb25BZnRlclBvc2l0aW9uSW5Sb290
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg1YzcwNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ2IEBA
CitUZXN0IHdoaWNoIG92ZXJsb2FkZWQgUlRDUGVlckNvbm5lY3Rpb24gZnVuY3Rpb24gdGhhdCBn
ZXRzIGludm9rZWQgKGJ5IHJldHVybiB2YWx1ZSkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgcGMgPSBuZXcgd2Via2l0UlRDUGVlckNvbm5lY3Rpb24oe2ljZVNlcnZlcnM6
W3t1cmxzOidzdHVuOmZvby5jb20nfV19KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHJlc3VsdCA9IHBjLmNyZWF0ZU9mZmVyKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHJlc3VsdCA9IHBjLmNyZWF0
ZU9mZmVyKHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIGFuIGlu
c3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0gcGMuY3JlYXRlT2ZmZXIoZW1wdHlGdW5j
LCBlbXB0eUZ1bmMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQgaXMgdW5k
ZWZpbmVkLgorUEFTUyByZXN1bHQgPSBwYy5jcmVhdGVPZmZlcihlbXB0eUZ1bmMsIGVtcHR5RnVu
Yywge30pIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQgaXMgdW5kZWZpbmVk
LgorUEFTUyByZXN1bHQgPSBwYy5jcmVhdGVBbnN3ZXIoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlv
bi4KK1BBU1MgcmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0g
cGMuY3JlYXRlQW5zd2VyKHt9KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0
IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0gcGMuY3JlYXRlQW5zd2Vy
KGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVz
dWx0IGlzIHVuZGVmaW5lZC4KK1BBU1MgcmVzdWx0ID0gcGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVu
YywgZW1wdHlGdW5jLCB7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHJlc3VsdCBp
cyB1bmRlZmluZWQuCitQQVNTIGRlc2MgPSBuZXcgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKHsgdHlw
ZTogJ29mZmVyJywgc2RwOiAneCcgfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBy
ZXN1bHQgPSBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKGRlc2MpIGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyByZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyByZXN1bHQg
PSBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIHVuZGVmaW5lZC4KK1BBU1MgcmVz
dWx0ID0gcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYykgZGlkIG5vdCB0aHJvdyBleGNlcHRp
b24uCitQQVNTIHJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBQcm9taXNlCitQQVNTIHJlc3VsdCA9
IHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQg
bm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIHVuZGVmaW5lZC4KK1BBU1MgY2Fu
ZGlkYXRlID0gbmV3IFJUQ0ljZUNhbmRpZGF0ZSh7fSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyByZXN1bHQgPSBwYy5hZGRJY2VDYW5kaWRhdGUoY2FuZGlkYXRlKSBkaWQgbm90IHRo
cm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIFByb21pc2UKK1BB
U1MgcmVzdWx0ID0gcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgZW1wdHlGdW5jLCBlbXB0
eUZ1bmMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQgaXMgdW5kZWZpbmVk
LgorUEFTUyByZXN1bHQgPSBwYy5nZXRTdGF0cygpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgor
UEFTUyByZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgUHJvbWlzZQorUEFTUyByZXN1bHQgPSBwYy5n
ZXRTdGF0cyhudWxsKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcmVzdWx0IGlzIGFu
IGluc3RhbmNlIG9mIFByb21pc2UKK1BBU1MgcmVzdWx0ID0gcGMuZ2V0U3RhdHMobnVsbCwgZW1w
dHlGdW5jLCBlbXB0eUZ1bmMpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyByZXN1bHQg
aXMgdW5kZWZpbmVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVl
ckNvbm5lY3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLXBhcmFtcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQt
b3BlcmF0aW9ucy1wYXJhbXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjBmMmJlOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1wYXJhbXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTI1IEBACitUZXN0IHZhcmlvdXMgYXJndW1lbnRzIHRv
IFJUQ1BlZXJDb25uZWN0aW9uIG92ZXJsb2FkZWQgZnVuY3Rpb25zCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtp
Y2VTZXJ2ZXJzOlt7dXJsczonc3R1bjpmb28uY29tJ31dfSk7IGRpZCBub3QgdGhyb3cgZXhjZXB0
aW9uLgorUEFTUyBwYy5jcmVhdGVPZmZlcigpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFT
UyBwYy5jcmVhdGVPZmZlcihlbXB0eUZ1bmMsIGVtcHR5RnVuYykgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBwYy5jcmVhdGVPZmZlcihlbXB0eUZ1bmMsIGVtcHR5RnVuYywgbnVsbCkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKHVuZGVmaW5lZCkgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKGVtcHR5RnVuYywgZW1wdHlG
dW5jLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVP
ZmZlcih7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmNyZWF0ZU9mZmVyKGVt
cHR5RnVuYywgZW1wdHlGdW5jLCB7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCisKKyoqKiBP
cHRpb25zIG9iamVjdCBtdXN0IGJlIGxhc3QKK1BBU1MgcGMuY3JlYXRlT2ZmZXIoe30sIGVtcHR5
RnVuYywgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
c3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uY3JlYXRlT2ZmZXIgbXVzdCBi
ZSBhIEZ1bmN0aW9uLgorKioqIENhbGxiYWNrcyBhcmUgbm90IG51bGxhYmxlCitQQVNTIHBjLmNy
ZWF0ZU9mZmVyKG51bGwsIGVtcHR5RnVuYykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZU9m
ZmVyIG11c3QgYmUgYSBGdW5jdGlvbi4KK1BBU1MgcGMuY3JlYXRlT2ZmZXIoZW1wdHlGdW5jLCBu
dWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnZXJyb3JDYWxsYmFj
aycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZU9mZmVyIG11c3QgYmUgYSBGdW5jdGlvbi4K
K1BBU1MgcGMuY3JlYXRlT2ZmZXIobnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNy
ZWF0ZU9mZmVyIG11c3QgYmUgYSBGdW5jdGlvbi4KKworUEFTUyBwYy5jcmVhdGVBbnN3ZXIoKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVuYywg
ZW1wdHlGdW5jKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1MgcGMuY3JlYXRlQW5zd2Vy
KG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoZW1w
dHlGdW5jLCBlbXB0eUZ1bmMsIG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBw
Yy5jcmVhdGVBbnN3ZXIodW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
cGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVuYywgZW1wdHlGdW5jLCB1bmRlZmluZWQpIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoe30pIGRpZCBub3QgdGhyb3cg
ZXhjZXB0aW9uLgorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoZW1wdHlGdW5jLCBlbXB0eUZ1bmMsIHt9
KSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworKioqIE9wdGlvbnMgb2JqZWN0IG11c3QgYmUg
bGFzdAorUEFTUyBwYy5jcmVhdGVBbnN3ZXIoe30sIGVtcHR5RnVuYywgZW1wdHlGdW5jKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8g
UlRDUGVlckNvbm5lY3Rpb24uY3JlYXRlQW5zd2VyIG11c3QgYmUgYSBGdW5jdGlvbi4KKyoqKiBD
YWxsYmFja3MgYXJlIG5vdCBudWxsYWJsZQorUEFTUyBwYy5jcmVhdGVBbnN3ZXIobnVsbCwgZW1w
dHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc3VjY2Vzc0Nh
bGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uY3JlYXRlQW5zd2VyIG11c3QgYmUgYSBGdW5j
dGlvbi4KK1BBU1MgcGMuY3JlYXRlQW5zd2VyKGVtcHR5RnVuYywgbnVsbCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ2Vycm9yQ2FsbGJhY2snKSB0byBSVENQZWVyQ29u
bmVjdGlvbi5jcmVhdGVBbnN3ZXIgbXVzdCBiZSBhIEZ1bmN0aW9uLgorUEFTUyBwYy5jcmVhdGVB
bnN3ZXIobnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmNyZWF0ZUFuc3dlciBtdXN0
IGJlIGEgRnVuY3Rpb24uCisKK1BBU1MgZGVzYyA9IG5ldyBSVENTZXNzaW9uRGVzY3JpcHRpb24o
e3R5cGU6J29mZmVyJywgc2RwOid4J30pOyBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mg
cGMuc2V0TG9jYWxEZXNjcmlwdGlvbihkZXNjKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1MgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihkZXNjLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykgZGlk
IG5vdCB0aHJvdyBleGNlcHRpb24uCisKKyoqKiBkZXNjIGlzIG5vdCBvcHRpb25hbAorUEFTUyBw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMuCisqKiogZGVzYyBpcyBub3QgbnVsbGFibGUKK1BBU1MgcGMuc2V0TG9j
YWxEZXNjcmlwdGlvbihudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnZGVzY3JpcHRpb24nKSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRMb2NhbERlc2NyaXB0aW9u
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLgorUEFTUyBwYy5z
ZXRMb2NhbERlc2NyaXB0aW9uKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24nKSB0byBSVENQZWVyQ29u
bmVjdGlvbi5zZXRMb2NhbERlc2NyaXB0aW9uIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uLgorKioqIEVycm9yIGNhbGxiYWNrIGlzIG1hbmRhdG9yeQorUEFTUyBw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYykgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRp
b24oZGVzYywgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1
bWVudHMuCisqKiogQ2FsbGJhY2tzIGFyZSBub3QgbnVsbGFibGUKK1BBU1MgcGMuc2V0TG9jYWxE
ZXNjcmlwdGlvbihkZXNjLCBlbXB0eUZ1bmMsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDMgKCdlcnJvckNhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0
TG9jYWxEZXNjcmlwdGlvbiBtdXN0IGJlIGEgRnVuY3Rpb24uCitQQVNTIHBjLnNldExvY2FsRGVz
Y3JpcHRpb24oZGVzYywgbnVsbCwgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0
TG9jYWxEZXNjcmlwdGlvbiBtdXN0IGJlIGEgRnVuY3Rpb24uCitQQVNTIHBjLnNldExvY2FsRGVz
Y3JpcHRpb24oZGVzYywgbnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMiAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExvY2Fs
RGVzY3JpcHRpb24gbXVzdCBiZSBhIEZ1bmN0aW9uLgorKioqIEJhZCBpbnB1dCBhcyBkZXNjCitQ
QVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oJ2ZvbycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCdkZXNjcmlwdGlvbicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExv
Y2FsRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRp
b24uCitQQVNTIHBjLnNldExvY2FsRGVzY3JpcHRpb24oJ2ZvbycsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24n
KSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRMb2NhbERlc2NyaXB0aW9uIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLgorUEFTUyBwYy5zZXRMb2NhbERlc2NyaXB0
aW9uKDEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdkZXNjcmlwdGlv
bicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExvY2FsRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRpb24uCitQQVNTIHBjLnNldExvY2FsRGVzY3Jp
cHRpb24oMSwgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCdkZXNjcmlwdGlvbicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLnNldExvY2Fs
RGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRpb24u
CisKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYykgZGlkIG5vdCB0aHJvdyBleGNl
cHRpb24uCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKGRlc2MsIGVtcHR5RnVuYywgZW1w
dHlGdW5jKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworKioqIGRlc2MgaXMgbm90IG9wdGlv
bmFsCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCisqKiogZGVzYyBpcyBub3QgbnVsbGFibGUKK1BB
U1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24obnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ2Rlc2NyaXB0aW9uJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0UmVt
b3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3JpcHRp
b24uCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKG51bGwsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24n
KSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi4KKyoqKiBFcnJvciBjYWxsYmFjayBpcyBt
YW5kYXRvcnkKK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgZW1wdHlGdW5jKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgcGMu
c2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCisqKiogQ2FsbGJhY2tzIGFyZSBub3QgbnVsbGFibGUK
K1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgZW1wdHlGdW5jLCBudWxsKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAzICgnZXJyb3JDYWxsYmFjaycpIHRvIFJU
Q1BlZXJDb25uZWN0aW9uLnNldFJlbW90ZURlc2NyaXB0aW9uIG11c3QgYmUgYSBGdW5jdGlvbi4K
K1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oZGVzYywgbnVsbCwgZW1wdHlGdW5jKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8g
UlRDUGVlckNvbm5lY3Rpb24uc2V0UmVtb3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhIEZ1bmN0aW9u
LgorUEFTUyBwYy5zZXRSZW1vdGVEZXNjcmlwdGlvbihkZXNjLCBudWxsLCBudWxsKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRD
UGVlckNvbm5lY3Rpb24uc2V0UmVtb3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhIEZ1bmN0aW9uLgor
KioqIEJhZCBpbnB1dCBhcyBkZXNjCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKCdmb28n
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24nKSB0
byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi4KK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRp
b24oJ2ZvbycsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24nKSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1v
dGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bi4KK1BBU1MgcGMuc2V0UmVtb3RlRGVzY3JpcHRpb24oMSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ2Rlc2NyaXB0aW9uJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uc2V0
UmVtb3RlRGVzY3JpcHRpb24gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBSVENTZXNzaW9uRGVzY3Jp
cHRpb24uCitQQVNTIHBjLnNldFJlbW90ZURlc2NyaXB0aW9uKDEsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnZGVzY3JpcHRpb24n
KSB0byBSVENQZWVyQ29ubmVjdGlvbi5zZXRSZW1vdGVEZXNjcmlwdGlvbiBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi4KKworUEFTUyBjYW5kaWRhdGUgPSBuZXcg
UlRDSWNlQ2FuZGlkYXRlKHt9KTsgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIHBjLmFk
ZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBw
Yy5hZGRJY2VDYW5kaWRhdGUoY2FuZGlkYXRlLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykgZGlkIG5v
dCB0aHJvdyBleGNlcHRpb24uCisKKyoqKiBjYW5kaWRhdGUgaXMgbm90IG9wdGlvbmFsCitQQVNT
IHBjLmFkZEljZUNhbmRpZGF0ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzLgorKioqIGNhbmRpZGF0ZSBpcyBub3QgbnVsbGFibGUKK1BBU1MgcGMuYWRk
SWNlQ2FuZGlkYXRlKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdjYW5kaWRhdGUnKSB0byBSVENQZWVyQ29ubmVjdGlvbi5hZGRJY2VDYW5kaWRhdGUgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBSVENJY2VDYW5kaWRhdGUuCitQQVNTIHBjLmFkZEljZUNhbmRpZGF0
ZShudWxsLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ2NhbmRpZGF0ZScpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmFkZEljZUNhbmRp
ZGF0ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFJUQ0ljZUNhbmRpZGF0ZS4KKyoqKiBFcnJvciBj
YWxsYmFjayBpcyBtYW5kYXRvcnkKK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwg
ZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgbnVsbCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCisqKiogQ2FsbGJhY2tzIGFyZSBu
b3QgbnVsbGFibGUKK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgZW1wdHlGdW5j
LCBudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAzICgnZXJyb3JDYWxs
YmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmFkZEljZUNhbmRpZGF0ZSBtdXN0IGJlIGEgRnVu
Y3Rpb24uCitQQVNTIHBjLmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUsIG51bGwsIGVtcHR5RnVu
YykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMiAoJ3N1Y2Nlc3NDYWxsYmFj
aycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmFkZEljZUNhbmRpZGF0ZSBtdXN0IGJlIGEgRnVuY3Rp
b24uCitQQVNTIHBjLmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUsIG51bGwsIG51bGwpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDIgKCdzdWNjZXNzQ2FsbGJhY2snKSB0byBS
VENQZWVyQ29ubmVjdGlvbi5hZGRJY2VDYW5kaWRhdGUgbXVzdCBiZSBhIEZ1bmN0aW9uLgorKioq
IEJhZCBpbnB1dCBhcyBjYW5kaWRhdGUKK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKCdmb28nKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnY2FuZGlkYXRlJykgdG8gUlRD
UGVlckNvbm5lY3Rpb24uYWRkSWNlQ2FuZGlkYXRlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgUlRD
SWNlQ2FuZGlkYXRlLgorUEFTUyBwYy5hZGRJY2VDYW5kaWRhdGUoJ2ZvbycsIGVtcHR5RnVuYywg
ZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnY2FuZGlk
YXRlJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uYWRkSWNlQ2FuZGlkYXRlIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgUlRDSWNlQ2FuZGlkYXRlLgorUEFTUyBwYy5hZGRJY2VDYW5kaWRhdGUoMSkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2NhbmRpZGF0ZScpIHRvIFJUQ1Bl
ZXJDb25uZWN0aW9uLmFkZEljZUNhbmRpZGF0ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFJUQ0lj
ZUNhbmRpZGF0ZS4KK1BBU1MgcGMuYWRkSWNlQ2FuZGlkYXRlKDEsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnY2FuZGlkYXRlJykg
dG8gUlRDUGVlckNvbm5lY3Rpb24uYWRkSWNlQ2FuZGlkYXRlIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgUlRDSWNlQ2FuZGlkYXRlLgorCitQQVNTIHBjLmdldFN0YXRzKCkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIHBjLmdldFN0YXRzKG51bGwpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9u
LgorUEFTUyBwYy5nZXRTdGF0cyh0cmFjaykgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNT
IHBjLmdldFN0YXRzKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgcGMuZ2V0U3RhdHModHJhY2ssIGVtcHR5RnVuYywgZW1wdHlGdW5jKSBk
aWQgbm90IHRocm93IGV4Y2VwdGlvbi4KKworKioqIEVycm9yIGNhbGxiYWNrIGlzIG1hbmRhdG9y
eQorUEFTUyBwYy5nZXRTdGF0cyh0cmFjaywgZW1wdHlGdW5jKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgcGMuZ2V0U3RhdHModHJhY2ssIG51
bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorKioq
IENhbGxiYWNrcyBhcmUgbm90IG51bGxhYmxlCitQQVNTIHBjLmdldFN0YXRzKHRyYWNrLCBlbXB0
eUZ1bmMsIG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDMgKCdlcnJv
ckNhbGxiYWNrJykgdG8gUlRDUGVlckNvbm5lY3Rpb24uZ2V0U3RhdHMgbXVzdCBiZSBhIEZ1bmN0
aW9uLgorUEFTUyBwYy5nZXRTdGF0cyh0cmFjaywgbnVsbCwgZW1wdHlGdW5jKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAyICgnc3VjY2Vzc0NhbGxiYWNrJykgdG8gUlRDUGVl
ckNvbm5lY3Rpb24uZ2V0U3RhdHMgbXVzdCBiZSBhIEZ1bmN0aW9uLgorUEFTUyBwYy5nZXRTdGF0
cyh0cmFjaywgbnVsbCwgbnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQg
MiAoJ3N1Y2Nlc3NDYWxsYmFjaycpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRzIG11c3Qg
YmUgYSBGdW5jdGlvbi4KKyoqKiBCYWQgaW5wdXQgYXMgdHJhY2sKK1BBU1MgcGMuZ2V0U3RhdHMo
J2ZvbycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdzZWxlY3Rvcicp
IHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRzIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTWVk
aWFTdHJlYW1UcmFjay4KK1BBU1MgcGMuZ2V0U3RhdHMoJ2ZvbycsIGVtcHR5RnVuYywgZW1wdHlG
dW5jKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnc2VsZWN0b3InKSB0
byBSVENQZWVyQ29ubmVjdGlvbi5nZXRTdGF0cyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIE1lZGlh
U3RyZWFtVHJhY2suCitQQVNTIHBjLmdldFN0YXRzKDEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCdzZWxlY3RvcicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRz
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgTWVkaWFTdHJlYW1UcmFjay4KK1BBU1MgcGMuZ2V0U3Rh
dHMoMSwgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCdzZWxlY3RvcicpIHRvIFJUQ1BlZXJDb25uZWN0aW9uLmdldFN0YXRzIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgTWVkaWFTdHJlYW1UcmFjay4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1w
YXJhbXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLXBhcmFtcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjg2OTk4NjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy1w
YXJhbXMuaHRtbApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvZ2V0VXNlck1lZGlhLWhlbHBlci5qcyI+PC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
dmFyIHBjOworICAgICAgICAgICAgdmFyIHJlc3VsdDsKKyAgICAgICAgICAgIHZhciBkZXNjOwor
ICAgICAgICAgICAgdmFyIGNhbmRpZGF0ZTsKKyAgICAgICAgICAgIHZhciB0cmFjazsKKworICAg
ICAgICAgICAgZGVzY3JpcHRpb24oIlRlc3QgdmFyaW91cyBhcmd1bWVudHMgdG8gUlRDUGVlckNv
bm5lY3Rpb24gb3ZlcmxvYWRlZCBmdW5jdGlvbnMiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90
VGhyb3coInBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25uZWN0aW9uKHtpY2VTZXJ2ZXJzOlt7dXJs
czonc3R1bjpmb28uY29tJ31dfSk7Iik7CisKKyAgICAgICAgICAgIC8vIFRlc3QgY3JlYXRlT2Zm
ZXIvQW5zd2VyKCkKKyAgICAgICAgICAgIHRlc3RDcmVhdGVPZmZlck9yQW5zd2VyKCJjcmVhdGVP
ZmZlciIpOworICAgICAgICAgICAgdGVzdENyZWF0ZU9mZmVyT3JBbnN3ZXIoImNyZWF0ZUFuc3dl
ciIpOworCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0Q3JlYXRlT2ZmZXJPckFuc3dlcihmdW5j
dGlvbk5hbWUpIHsKKworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCJwYy4iICsgZnVu
Y3Rpb25OYW1lICsgIigpIik7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInBjLiIg
KyBmdW5jdGlvbk5hbWUgKyAiKGVtcHR5RnVuYywgZW1wdHlGdW5jKSIpOworCisgICAgICAgICAg
ICAgICAgWyJudWxsIiwgInVuZGVmaW5lZCIsICJ7fSJdLmZvckVhY2goZnVuY3Rpb24gKGFyZykg
eworICAgICAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFt
ZSArICIoIiArIGFyZyArICIpIik7CisgICAgICAgICAgICAgICAgICAgIHNob3VsZE5vdFRocm93
KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIihlbXB0eUZ1bmMsIGVtcHR5RnVuYywgIiArIGFyZyAr
ICIpIik7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOwor
CisKKyAgICAgICAgICAgICAgICBkZWJ1ZygiKioqIE9wdGlvbnMgb2JqZWN0IG11c3QgYmUgbGFz
dCIpCisgICAgICAgICAgICAgICAgc2hvdWxkVGhyb3coInBjLiIgKyBmdW5jdGlvbk5hbWUgKyAi
KHt9LCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiKioq
IENhbGxiYWNrcyBhcmUgbm90IG51bGxhYmxlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkVGhy
b3coInBjLiIgKyBmdW5jdGlvbk5hbWUgKyAiKG51bGwsIGVtcHR5RnVuYykiKTsKKyAgICAgICAg
ICAgICAgICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoZW1wdHlGdW5jLCBu
dWxsKSIpOworICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1l
ICsgIihudWxsLCBudWxsKSIpOworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgLy8gVGVzdCBzZXRMb2NhbC9SZW1vdGVEZXNjcmlwdGlvbigp
CisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygiZGVzYyA9IG5ldyBSVENTZXNzaW9uRGVzY3Jp
cHRpb24oe3R5cGU6J29mZmVyJywgc2RwOid4J30pOyIpOworCisgICAgICAgICAgICB0ZXN0U2V0
TG9jYWxPclJlbW90ZURlc2NyaXB0aW9uKCJzZXRMb2NhbERlc2NyaXB0aW9uIikKKyAgICAgICAg
ICAgIHRlc3RTZXRMb2NhbE9yUmVtb3RlRGVzY3JpcHRpb24oInNldFJlbW90ZURlc2NyaXB0aW9u
IikKKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFNldExvY2FsT3JSZW1vdGVEZXNjcmlwdGlv
bihmdW5jdGlvbk5hbWUpIHsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicGMuIiAr
IGZ1bmN0aW9uTmFtZSArICIoZGVzYykiKTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoZGVzYywgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIik7
CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworCisgICAgICAgICAgICAgICAgYmFkSW5wdXRG
dWxsKGZ1bmN0aW9uTmFtZSwgImRlc2MiKTsKKyAgICAgICAgICAgICAgICBkZWJ1ZygiIik7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGJhZElucHV0RnVsbChmdW5jdGlv
bk5hbWUsIGZpcnN0QXJnKSB7CisgICAgICAgICAgICAgICAgZGVidWcoIioqKiAiICsgZmlyc3RB
cmcgKyAiIGlzIG5vdCBvcHRpb25hbCIpOworICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCJw
Yy4iICsgZnVuY3Rpb25OYW1lICsgIigpIik7CisgICAgICAgICAgICAgICAgZGVidWcoIioqKiAi
ICsgZmlyc3RBcmcgKyAiIGlzIG5vdCBudWxsYWJsZSIpOworICAgICAgICAgICAgICAgIHNob3Vs
ZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIihudWxsKSIpOworICAgICAgICAgICAgICAg
IHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIihudWxsLCBlbXB0eUZ1bmMsIGVt
cHR5RnVuYykiKTsKKyAgICAgICAgICAgICAgICBiYWRJbnB1dChmdW5jdGlvbk5hbWUsIGZpcnN0
QXJnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gYmFkSW5wdXQoZnVu
Y3Rpb25OYW1lLCBmaXJzdEFyZykgeworICAgICAgICAgICAgICAgIGRlYnVnKCIqKiogRXJyb3Ig
Y2FsbGJhY2sgaXMgbWFuZGF0b3J5IikKKyAgICAgICAgICAgICAgICBzaG91bGRUaHJvdygicGMu
IiArIGZ1bmN0aW9uTmFtZSArICIoIiArIGZpcnN0QXJnICsgIiwgZW1wdHlGdW5jKSIpOworICAg
ICAgICAgICAgICAgIHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIigiICsgZmly
c3RBcmcgKyAiLCBudWxsKSIpOworICAgICAgICAgICAgICAgIGRlYnVnKCIqKiogQ2FsbGJhY2tz
IGFyZSBub3QgbnVsbGFibGUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRUaHJvdygicGMuIiAr
IGZ1bmN0aW9uTmFtZSArICIoIiArIGZpcnN0QXJnICsgIiwgZW1wdHlGdW5jLCBudWxsKSIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZFRocm93KCJwYy4iICsgZnVuY3Rpb25OYW1lICsgIigiICsg
Zmlyc3RBcmcgKyAiLCBudWxsLCBlbXB0eUZ1bmMpIik7CisgICAgICAgICAgICAgICAgc2hvdWxk
VGhyb3coInBjLiIgKyBmdW5jdGlvbk5hbWUgKyAiKCIgKyBmaXJzdEFyZyArICIsIG51bGwsIG51
bGwpIik7CisgICAgICAgICAgICAgICAgZGVidWcoIioqKiBCYWQgaW5wdXQgYXMgIiArIGZpcnN0
QXJnKTsKKyAgICAgICAgICAgICAgICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSAr
ICIoJ2ZvbycpIik7CisgICAgICAgICAgICAgICAgc2hvdWxkVGhyb3coInBjLiIgKyBmdW5jdGlv
bk5hbWUgKyAiKCdmb28nLCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoMSkiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRUaHJvdygicGMuIiArIGZ1bmN0aW9uTmFtZSArICIoMSwgZW1wdHlGdW5jLCBl
bXB0eUZ1bmMpIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFRlc3QgYWRkSWNl
Q2FuZGlkYXRlKCkKKyAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCJjYW5kaWRhdGUgPSBuZXcg
UlRDSWNlQ2FuZGlkYXRlKHt9KTsiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInBj
LmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUpIik7CisgICAgICAgICAgICBzaG91bGROb3RUaHJv
dygicGMuYWRkSWNlQ2FuZGlkYXRlKGNhbmRpZGF0ZSwgZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIik7
CisgICAgICAgICAgICBkZWJ1ZygiIik7CisKKyAgICAgICAgICAgIGJhZElucHV0RnVsbCgiYWRk
SWNlQ2FuZGlkYXRlIiwgImNhbmRpZGF0ZSIpOworICAgICAgICAgICAgZGVidWcoIiIpOworCisg
ICAgICAgICAgICAvLyBUZXN0IGdldFN0YXRzKCkKKyAgICAgICAgICAgIGdldFVzZXJNZWRpYSgi
YWxsb3ciLCB7ICJ2aWRlbyI6IHRydWUgfSwgZnVuY3Rpb24gKHN0cmVhbSkgeworICAgICAgICAg
ICAgICAgIHRyYWNrID0gc3RyZWFtLmdldFRyYWNrcygpWzBdOworCisgICAgICAgICAgICAgICAg
c2hvdWxkTm90VGhyb3coInBjLmdldFN0YXRzKCkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRO
b3RUaHJvdygicGMuZ2V0U3RhdHMobnVsbCkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RU
aHJvdygicGMuZ2V0U3RhdHModHJhY2spIik7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhy
b3coInBjLmdldFN0YXRzKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSIpOworICAgICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCJwYy5nZXRTdGF0cyh0cmFjaywgZW1wdHlGdW5jLCBlbXB0
eUZ1bmMpIik7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworCisgICAgICAgICAgICAgICAg
YmFkSW5wdXQoImdldFN0YXRzIiwgInRyYWNrIik7CisgICAgICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgZnVuY3Rpb24gZW1wdHlGdW5j
KCkgeyB9CisKKyAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAg
ICAgICAgIHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCisgICAgICAgIDwvc2Ny
aXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vdmVybG9hZGVkLW9wZXJhdGlv
bnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
b3ZlcmxvYWRlZC1vcGVyYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYzk1YzUwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLmh0bWwKQEAgLTAs
MCArMSw3NSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBwYzsKKyAgICAgICAgICAgIHZhciByZXN1
bHQ7CisgICAgICAgICAgICB2YXIgZGVzYzsKKyAgICAgICAgICAgIHZhciBjYW5kaWRhdGU7CisK
KyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0IHdoaWNoIG92ZXJsb2FkZWQgUlRDUGVlckNv
bm5lY3Rpb24gZnVuY3Rpb24gdGhhdCBnZXRzIGludm9rZWQgKGJ5IHJldHVybiB2YWx1ZSkiKTsK
KworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInBjID0gbmV3IHdlYmtpdFJUQ1BlZXJDb25u
ZWN0aW9uKHtpY2VTZXJ2ZXJzOlt7dXJsczonc3R1bjpmb28uY29tJ31dfSk7Iik7CisKKyAgICAg
ICAgICAgIC8vIFRlc3QgY3JlYXRlT2ZmZXIvQW5zd2VyKCkKKyAgICAgICAgICAgIHRlc3RDcmVh
dGVPZmZlck9yQW5zd2VyKCJjcmVhdGVPZmZlciIpOworICAgICAgICAgICAgdGVzdENyZWF0ZU9m
ZmVyT3JBbnN3ZXIoImNyZWF0ZUFuc3dlciIpOworCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
Q3JlYXRlT2ZmZXJPckFuc3dlcihmdW5jdGlvbk5hbWUpIHsKKyAgICAgICAgICAgICAgICBzaG91
bGROb3RUaHJvdygicmVzdWx0ID0gcGMuIiArIGZ1bmN0aW9uTmFtZSArICIoKSIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlVHlwZSgicmVzdWx0IiwgIlByb21pc2UiKTsKKworICAgICAgICAg
ICAgICAgIHNob3VsZE5vdFRocm93KCJyZXN1bHQgPSBwYy4iICsgZnVuY3Rpb25OYW1lICsgIih7
fSkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVR5cGUoInJlc3VsdCIsICJQcm9taXNlIik7
CisKKyAgICAgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicmVzdWx0ID0gcGMuIiArIGZ1bmN0
aW9uTmFtZSArICIoZW1wdHlGdW5jLCBlbXB0eUZ1bmMpIik7CisgICAgICAgICAgICAgICAgc2hv
dWxkQmVVbmRlZmluZWQoInJlc3VsdCIpOworCisgICAgICAgICAgICAgICAgc2hvdWxkTm90VGhy
b3coInJlc3VsdCA9IHBjLiIgKyBmdW5jdGlvbk5hbWUgKyAiKGVtcHR5RnVuYywgZW1wdHlGdW5j
LCB7fSkiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVVuZGVmaW5lZCgicmVzdWx0Iik7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFRlc3Qgc2V0TG9jYWwvUmVtb3RlRGVzY3Jp
cHRpb24oKQorICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coImRlc2MgPSBuZXcgUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uKHsgdHlwZTogJ29mZmVyJywgc2RwOiAneCcgfSk7Iik7CisKKyAgICAgICAg
ICAgIHRlc3RTZXRMb2NhbE9yUmVtb3RlRGVzY3JpcHRpb24oInNldExvY2FsRGVzY3JpcHRpb24i
KQorICAgICAgICAgICAgdGVzdFNldExvY2FsT3JSZW1vdGVEZXNjcmlwdGlvbigic2V0UmVtb3Rl
RGVzY3JpcHRpb24iKQorCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0U2V0TG9jYWxPclJlbW90
ZURlc2NyaXB0aW9uKGZ1bmN0aW9uTmFtZSkgeworICAgICAgICAgICAgICAgIHNob3VsZE5vdFRo
cm93KCJyZXN1bHQgPSBwYy4iICsgZnVuY3Rpb25OYW1lICsgIihkZXNjKSIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlVHlwZSgicmVzdWx0IiwgIlByb21pc2UiKTsKKworICAgICAgICAgICAg
ICAgIHNob3VsZE5vdFRocm93KCJyZXN1bHQgPSBwYy4iICsgZnVuY3Rpb25OYW1lICsgIihkZXNj
LCBlbXB0eUZ1bmMsIGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVVuZGVm
aW5lZCgicmVzdWx0Iik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIFRlc3QgYWRk
SWNlQ2FuZGlkYXRlKCkKKyAgICAgICAgICAgIHNob3VsZE5vdFRocm93KCJjYW5kaWRhdGUgPSBu
ZXcgUlRDSWNlQ2FuZGlkYXRlKHt9KTsiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3co
InJlc3VsdCA9IHBjLmFkZEljZUNhbmRpZGF0ZShjYW5kaWRhdGUpIik7CisgICAgICAgICAgICBz
aG91bGRCZVR5cGUoInJlc3VsdCIsICJQcm9taXNlIik7CisKKyAgICAgICAgICAgIHNob3VsZE5v
dFRocm93KCJyZXN1bHQgPSBwYy5hZGRJY2VDYW5kaWRhdGUoY2FuZGlkYXRlLCBlbXB0eUZ1bmMs
IGVtcHR5RnVuYykiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVW5kZWZpbmVkKCJyZXN1bHQiKTsK
KworICAgICAgICAgICAgLy8gVGVzdCBnZXRTdGF0cygpCisgICAgICAgICAgICBzaG91bGROb3RU
aHJvdygicmVzdWx0ID0gcGMuZ2V0U3RhdHMoKSIpOworICAgICAgICAgICAgc2hvdWxkQmVUeXBl
KCJyZXN1bHQiLCAiUHJvbWlzZSIpOworCisgICAgICAgICAgICBzaG91bGROb3RUaHJvdygicmVz
dWx0ID0gcGMuZ2V0U3RhdHMobnVsbCkiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHlwZSgicmVz
dWx0IiwgIlByb21pc2UiKTsKKworICAgICAgICAgICAgc2hvdWxkTm90VGhyb3coInJlc3VsdCA9
IHBjLmdldFN0YXRzKG51bGwsIGVtcHR5RnVuYywgZW1wdHlGdW5jKSIpOworICAgICAgICAgICAg
c2hvdWxkQmVVbmRlZmluZWQoInJlc3VsdCIpOworCisgICAgICAgICAgICBmdW5jdGlvbiBlbXB0
eUZ1bmMoKSB7IH0KKworICAgICAgICAgICAgd2luZG93LnN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFkMDc3YjUuLjE2
ODdhMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0z
MzEsNyArMzMxLDYgQEAgd2Via2l0Lm9yZy9iLzg1MjEyIGlldGVzdGNlbnRlci9jc3MzL2ZsZXhi
b3gvZmxleGJveC1sYXlvdXQtMDAyLmh0bSBbIEltYWdlT25seUYKIHdlYmtpdC5vcmcvYi83OTIw
MyBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLU1lZGlhRWxlbWVudC1zcmNPYmplY3QuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzc5MjAzIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLW9uZW5kZWQuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzc5
MjAzIGZhc3QvbWVkaWFzdHJlYW0vUlRDSWNlQ2FuZGlkYXRlLmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLUFkZFJlbW92
ZVN0cmVhbS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi1jcmVhdGVBbnN3ZXIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9y
Zy9iLzc5MjAzIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tY3JlYXRlT2ZmZXIu
aHRtbCBbIFNraXAgXQpAQCAtMzQzLDcgKzM0Miw2IEBAIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtbG9jYWwtb2ZmZXIuaHRtbCBbIFNr
CiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1o
YXZlLWxvY2FsLXByYW5zd2VyLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWhhdmUtcmVtb3RlLW9mZmVyLmh0bWwgWyBT
a2lwIF0KIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLWhhdmUtcmVtb3RlLXByYW5zd2VyLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi83OTIw
MyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWljZS5odG1s
IFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi1sb2NhbERlc2NyaXB0aW9uLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi83OTIw
MyBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLW9ubmVnb3RpYXRpb25uZWVkZWQu
aHRtbCBbIFNraXAgXQpAQCAtMzUyLDcgKzM1MCw2IEBAIHdlYmtpdC5vcmcvYi83OTIwMyBmYXN0
L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLXN0YWJsZS5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGF0ZS5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi1zdGF0cy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1zdGF0c1NlbGVjdG9yLmh0bWwgWyBTa2lwIF0K
LXdlYmtpdC5vcmcvYi83OTIwMyBmYXN0L21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgZmFzdC9ldmVudHMvY29uc3RydWN0
b3JzL21lZGlhLXN0cmVhbS1ldmVudC1jb25zdHJ1Y3Rvci5odG1sIFsgU2tpcCBdCiB3ZWJraXQu
b3JnL2IvNzkyMDMgd2ViYXVkaW8vbWVkaWFzdHJlYW1hdWRpb2Rlc3RpbmF0aW9ubm9kZS5odG1s
IFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvNzkyMDMgd2ViYXVkaW8vbWVkaWFzdHJlYW1hdWRpb3Nv
dXJjZW5vZGUuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBmODMxMmFhLi44
ZDA1NDUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTQ1LDYgKzk0NSw3IEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlSW5mby5jcHAK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKICAgICBNb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRGV2aWNlc1JlcXVlc3QuY3BwCisgICAgTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXMu
Y3BwCkBAIC05NTgsNyArOTU5LDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcAogICAgIE1vZHVsZXMvbWVkaWFz
dHJlYW0vTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0v
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwCi0gICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbkJhY2tlbmQuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENDb25maWd1
cmF0aW9uLmNwcAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5jcHAKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZUb25lQ2hhbmdlRXZlbnQuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggOWNhNDY5Mi4uYWEyMTYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE1
LTExLTE2ICBBZGFtIEJlcmdrdmlzdCAgPGFkYW0uYmVyZ2t2aXN0QGVyaWNzc29uLmNvbT4KKwor
ICAgICAgICBXZWJSVEM6IEluaXRpYWwgdGVzdGluZyBvZiB1cGRhdGVkIFJUQ1BlZXJDb25uZWN0
aW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUxMzA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGFuIGVtcHR5IGltcGxlbWVudGF0aW9uIG9mIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlv
biB3aGljaAorICAgICAgICByZWFsaXplcyB0aGUgUGVlckNvbm5lY3Rpb25CYWNrZW5kIGludGVy
ZmFjZS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZQorICAgICAgICB0byBjb25zdHJ1Y3QgYW4gUlRD
UGVlckNvbm5lY3Rpb24gYW5kIGRvIGluaXRpYWwgdGVzdGluZy4KKworICAgICAgICBUZXN0czog
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vdmVybG9hZGVkLW9wZXJhdGlvbnMt
cGFyYW1zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLmh0bWwKKworICAgICAgICBBbHNvIHVuc2tpcCB0
aHJlZSBleGlzdGluZyBSVENQZWVyQ29ubmVjdGlvbiB0ZXN0cyBvbiBHVEsuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5k
cG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRl
TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5k
cG9pbnRQZWVyQ29ubmVjdGlvbjo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6Y3JlYXRlT2ZmZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjcmVhdGVBbnN3
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpzZXRM
b2NhbERlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQZWVyQ29u
bmVjdGlvbjo6bG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBv
aW50UGVlckNvbm5lY3Rpb246OmN1cnJlbnRMb2NhbERlc2NyaXB0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6cGVuZGluZ0xvY2FsRGVzY3JpcHRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpzZXRS
ZW1vdGVEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNv
bm5lY3Rpb246OnJlbW90ZURlc2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5k
cG9pbnRQZWVyQ29ubmVjdGlvbjo6Y3VycmVudFJlbW90ZURlc2NyaXB0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6cGVuZGluZ1JlbW90ZURlc2Ny
aXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6
c2V0Q29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBvaW50UGVlckNv
bm5lY3Rpb246OmFkZEljZUNhbmRpZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBv
aW50UGVlckNvbm5lY3Rpb246OmdldFN0YXRzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5k
cG9pbnRQZWVyQ29ubmVjdGlvbjo6c3RvcCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBv
aW50UGVlckNvbm5lY3Rpb246Om1hcmtBc05lZWRpbmdOZWdvdGlhdGlvbik6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaDogQWRkZWQu
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE1LTEx
LTE2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IGlkZW50aWZpZXIgc3RyaW5ncyBmb3IgYSBidW5jaCBvZiBjb250ZXh0IG1lbnUgaXRlbXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2lu
dFBlZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40MTE3OTlhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwCkBAIC0wLDAg
KzEsMTY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEVyaWNzc29uIEFCLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEVyaWNzc29uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
CisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisjaW5jbHVkZSAiTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmgiCisKKyNpbmNs
dWRlICJET01FcnJvci5oIgorI2luY2x1ZGUgIkpTRE9NRXJyb3IuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCit1c2luZyBuYW1lc3BhY2UgUGVlckNvbm5lY3Rpb247CisKK3N0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8UGVlckNvbm5lY3Rpb25CYWNrZW5kPiBjcmVhdGVNZWRpYUVuZHBvaW50UGVl
ckNvbm5lY3Rpb24oUGVlckNvbm5lY3Rpb25CYWNrZW5kQ2xpZW50KiBjbGllbnQpCit7CisgICAg
cmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxQZWVyQ29ubmVjdGlvbkJhY2tlbmQ+KG5ldyBNZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb24oY2xpZW50KSk7Cit9CisKK0NyZWF0ZVBlZXJDb25uZWN0aW9u
QmFja2VuZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0ZSA9IGNyZWF0ZU1lZGlhRW5kcG9p
bnRQZWVyQ29ubmVjdGlvbjsKKworTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpNZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb24oUGVlckNvbm5lY3Rpb25CYWNrZW5kQ2xpZW50KiBjbGllbnQp
Cit7CisgICAgVU5VU0VEX1BBUkFNKGNsaWVudCk7Cit9CisKK3ZvaWQgTWVkaWFFbmRwb2ludFBl
ZXJDb25uZWN0aW9uOjpjcmVhdGVPZmZlcihSVENPZmZlck9wdGlvbnMmIG9wdGlvbnMsIFNlc3Np
b25EZXNjcmlwdGlvblByb21pc2UmJiBwcm9taXNlKQoreworICAgIFVOVVNFRF9QQVJBTShvcHRp
b25zKTsKKworICAgIG5vdEltcGxlbWVudGVkKCk7CisKKyAgICBwcm9taXNlLnJlamVjdChET01F
cnJvcjo6Y3JlYXRlKCJOb3RTdXBwb3J0ZWRFcnJvciIpKTsKK30KKwordm9pZCBNZWRpYUVuZHBv
aW50UGVlckNvbm5lY3Rpb246OmNyZWF0ZUFuc3dlcihSVENBbnN3ZXJPcHRpb25zJiBvcHRpb25z
LCBTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBVTlVTRURfUEFS
QU0ob3B0aW9ucyk7CisKKyAgICBub3RJbXBsZW1lbnRlZCgpOworCisgICAgcHJvbWlzZS5yZWpl
Y3QoRE9NRXJyb3I6OmNyZWF0ZSgiTm90U3VwcG9ydGVkRXJyb3IiKSk7Cit9CisKK3ZvaWQgTWVk
aWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpzZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIFZvaWRQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBV
TlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOworCisgICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAg
IHByb21pc2UucmVqZWN0KERPTUVycm9yOjpjcmVhdGUoIk5vdFN1cHBvcnRlZEVycm9yIikpOwor
fQorCitSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBNZWRpYUVuZHBvaW50UGVlckNvbm5l
Y3Rpb246OmxvY2FsRGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlv
bj4gTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpjdXJyZW50TG9jYWxEZXNjcmlwdGlvbigp
IGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAgIHJldHVybiBudWxscHRyOwor
fQorCitSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBNZWRpYUVuZHBvaW50UGVlckNvbm5l
Y3Rpb246OnBlbmRpbmdMb2NhbERlc2NyaXB0aW9uKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgTWVkaWFFbmRwb2ludFBl
ZXJDb25uZWN0aW9uOjpzZXRSZW1vdGVEZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24m
IGRlc2NyaXB0aW9uLCBWb2lkUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgVU5VU0VEX1BBUkFN
KGRlc2NyaXB0aW9uKTsKKworICAgIG5vdEltcGxlbWVudGVkKCk7CisKKyAgICBwcm9taXNlLnJl
amVjdChET01FcnJvcjo6Y3JlYXRlKCJOb3RTdXBwb3J0ZWRFcnJvciIpKTsKK30KKworUmVmUHRy
PFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjpyZW1v
dGVEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAgIHJl
dHVybiBudWxscHRyOworfQorCitSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBNZWRpYUVu
ZHBvaW50UGVlckNvbm5lY3Rpb246OmN1cnJlbnRSZW1vdGVEZXNjcmlwdGlvbigpIGNvbnN0Cit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQ
dHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OnBl
bmRpbmdSZW1vdGVEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KworICAgIHJldHVybiBudWxscHRyOworfQorCit2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbjo6c2V0Q29uZmlndXJhdGlvbihSVENDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQor
eworICAgIFVOVVNFRF9QQVJBTShjb25maWd1cmF0aW9uKTsKKworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK3ZvaWQgTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uOjphZGRJY2VDYW5kaWRh
dGUoUlRDSWNlQ2FuZGlkYXRlJiBydGNDYW5kaWRhdGUsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJv
bWlzZSYmIHByb21pc2UpCit7CisgICAgVU5VU0VEX1BBUkFNKHJ0Y0NhbmRpZGF0ZSk7CisKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworCisgICAgcHJvbWlzZS5yZWplY3QoRE9NRXJyb3I6OmNyZWF0
ZSgiTm90U3VwcG9ydGVkRXJyb3IiKSk7Cit9CisKK3ZvaWQgTWVkaWFFbmRwb2ludFBlZXJDb25u
ZWN0aW9uOjpnZXRTdGF0cyhNZWRpYVN0cmVhbVRyYWNrJiwgUGVlckNvbm5lY3Rpb246OlN0YXRz
UHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAgIHByb21p
c2UucmVqZWN0KERPTUVycm9yOjpjcmVhdGUoIk5vdFN1cHBvcnRlZEVycm9yIikpOworfQorCit2
b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6c3RvcCgpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKK30KKwordm9pZCBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246Om1hcmtBc05l
ZWRpbmdOZWdvdGlhdGlvbigpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBl
ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
RW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjdkMTIxODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCkBAIC0wLDAgKzEsNzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqICAgIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgRXJpY3Nz
b24gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqICAgIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb25faAorI2RlZmluZSBNZWRp
YUVuZHBvaW50UGVlckNvbm5lY3Rpb25faAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKwor
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmgiCisjaW5jbHVkZSAiUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmgiCisjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhU3RyZWFtVHJh
Y2s7CisKK2NsYXNzIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbiA6IHB1YmxpYyBQZWVyQ29u
bmVjdGlvbkJhY2tlbmQgeworcHVibGljOgorICAgIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlv
bihQZWVyQ29ubmVjdGlvbkJhY2tlbmRDbGllbnQqKTsKKworICAgIHZvaWQgY3JlYXRlT2ZmZXIo
UlRDT2ZmZXJPcHRpb25zJiwgUGVlckNvbm5lY3Rpb246OlNlc3Npb25EZXNjcmlwdGlvblByb21p
c2UmJikgb3ZlcnJpZGU7CisgICAgdm9pZCBjcmVhdGVBbnN3ZXIoUlRDQW5zd2VyT3B0aW9ucyYs
IFBlZXJDb25uZWN0aW9uOjpTZXNzaW9uRGVzY3JpcHRpb25Qcm9taXNlJiYpIG92ZXJyaWRlOwor
CisgICAgdm9pZCBzZXRMb2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiYsIFBl
ZXJDb25uZWN0aW9uOjpWb2lkUHJvbWlzZSYmKSBvdmVycmlkZTsKKyAgICBSZWZQdHI8UlRDU2Vz
c2lvbkRlc2NyaXB0aW9uPiBsb2NhbERlc2NyaXB0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
UmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gY3VycmVudExvY2FsRGVzY3JpcHRpb24oKSBj
b25zdCBvdmVycmlkZTsKKyAgICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwZW5kaW5n
TG9jYWxEZXNjcmlwdGlvbigpIGNvbnN0IG92ZXJyaWRlOworCisgICAgdm9pZCBzZXRSZW1vdGVE
ZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24mLCBQZWVyQ29ubmVjdGlvbjo6Vm9pZFBy
b21pc2UmJikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlwdGlvbj4gcmVt
b3RlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKKyAgICBSZWZQdHI8UlRDU2Vzc2lvbkRl
c2NyaXB0aW9uPiBjdXJyZW50UmVtb3RlRGVzY3JpcHRpb24oKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBSZWZQdHI8UlRDU2Vzc2lvbkRlc2NyaXB0aW9uPiBwZW5kaW5nUmVtb3RlRGVzY3JpcHRpb24o
KSBjb25zdCBvdmVycmlkZTsKKworICAgIHZvaWQgc2V0Q29uZmlndXJhdGlvbihSVENDb25maWd1
cmF0aW9uJikgb3ZlcnJpZGU7CisgICAgdm9pZCBhZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlk
YXRlJiwgUGVlckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYpIG92ZXJyaWRlOworCisgICAgdm9p
ZCBnZXRTdGF0cyhNZWRpYVN0cmVhbVRyYWNrJiwgUGVlckNvbm5lY3Rpb246OlN0YXRzUHJvbWlz
ZSYmKSBvdmVycmlkZTsKKworICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOworCisgICAgYm9vbCBp
c05lZ290aWF0aW9uTmVlZGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH07Cisg
ICAgdm9pZCBtYXJrQXNOZWVkaW5nTmVnb3RpYXRpb24oKSBvdmVycmlkZTsKKyAgICB2b2lkIGNs
ZWFyTmVnb3RpYXRpb25OZWVkZWRTdGF0ZSgpIG92ZXJyaWRlIHsgbm90SW1wbGVtZW50ZWQoKTsg
fTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJ
QV9TVFJFQU0pCisKKyNlbmRpZiAvLyBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb25faApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDY4M2Y0YWMuLmUyY2JkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIzNTYsNyArMjM1Niw4IEBACiAJCTVERkU4RjU2MEQx
NjQ3N0IwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNj
aGVkdWxlZEFjdGlvbi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBT
Y2hlZHVsZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDQTM3OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1REZFQkFCNzE4
NTkyQjZEMDBDNzVCRUIgLyogV2ViS2l0QXZhaWxhYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1REZFQkFCNjE4NTkyQjZEMDBDNzVCRUIgLyog
V2ViS2l0QXZhaWxhYmlsaXR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJNUUyQzQzNTAxQkNFRTJGNjAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9u
QmFja2VuZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1RTJDNDM0QzFCQ0VFMkU1MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCAq
Lzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OworCQk1RTE2QTJFNDFCRkE2NTBC
MDAyOUEyMUUgLyogTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RTE2QTJFMzFCRkE2NEZCMDAyOUEyMUUg
LyogTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FTU0VUX1RB
R1MgPSAoKTsgfTsgfTsKKwkJNUUxNkEyRTUxQkZBNjUwRjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9p
bnRQZWVyQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1RTE2QTJFMjFCRkE2NEZCMDAyOUEyMUUgLyogTWVkaWFFbmRwb2ludFBlZXJD
b25uZWN0aW9uLmNwcCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OwogCQk1
RTJDNDM1MTFCQ0VFMkY2MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RTJDNDM0RDFCQ0VFMkU1
MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggKi87IHNldHRpbmdzID0ge0FTU0VU
X1RBR1MgPSAoKTsgfTsgfTsKIAkJNUUyQzQzNTIxQkNFRTJGNjAwMDFFMkJDIC8qIFBlZXJDb25u
ZWN0aW9uU3RhdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1RTJDNDM0RTFCQ0VFMkU1MDAwMUUyQkMgLyogUGVlckNvbm5lY3Rpb25TdGF0ZXMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9OwogCQk1RTJDNDM1MzFCQ0VFMkY2
MDAwMUUyQkMgLyogUlRDQ29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1RTJDNDM0RjFCQ0VFMkU1MDAwMUUyQkMgLyogUlRDQ29u
ZmlndXJhdGlvbi5jcHAgKi87IHNldHRpbmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKQEAg
LTk4MDksNyArOTgxMCw4IEBACiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zv
cm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHJhbnNmb3JtU291
cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY5MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1REZFQkFCNjE4NTkyQjZEMDBDNzVCRUIgLyogV2ViS2l0QXZhaWxh
YmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdEF2YWlsYWJp
bGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1RTJDNDM0QzFCQ0VFMkU1MDAw
MUUyQkMgLyogUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlZXJDb25uZWN0aW9uQmFja2VuZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTVFMTZBMkUyMUJGQTY0RkIwMDI5QTIxRSAvKiBNZWRpYUVuZHBvaW50
UGVlckNvbm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNUUxNkEyRTMxQkZBNjRGQjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUVuZHBvaW50UGVl
ckNvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUUyQzQzNEQxQkNF
RTJFNTAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9uQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNUUyQzQzNEUxQkNFRTJFNTAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9u
U3RhdGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlZXJDb25uZWN0aW9u
U3RhdGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVFMkM0MzRGMUJDRUUyRTUw
MDAxRTJCQyAvKiBSVENDb25maWd1cmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJUQ0NvbmZpZ3VyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTUxMjgsNiArMTUxMzAsOCBAQAogCQkJCTk5OTRFNUQ4MUJEODQzQTMwMEYyRDgz
NSAvKiBNZWRpYURldmljZXMuanMgKi8sCiAJCQkJMDczOTRFQzcxQkFCMkNDRDAwQkU5OUNEIC8q
IE1lZGlhRGV2aWNlc1JlcXVlc3QuY3BwICovLAogCQkJCTA3Mzk0RUM5MUJBQjJDRDcwMEJFOTlD
RCAvKiBNZWRpYURldmljZXNSZXF1ZXN0LmggKi8sCisJCQkJNUUxNkEyRTIxQkZBNjRGQjAwMjlB
MjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAgKi8sCisJCQkJNUUxNkEyRTMx
QkZBNjRGQjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oICovLAogCQkJ
CTA3QzU5QjY1MTdGNzg0QkEwMDBGQkNCQiAvKiBNZWRpYVNvdXJjZVN0YXRlcy5jcHAgKi8sCiAJ
CQkJMDdDNTlCNjYxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNlU3RhdGVzLmggKi8sCiAJ
CQkJMDdDNTlCNjcxN0Y3ODRCQTAwMEZCQ0JCIC8qIE1lZGlhU291cmNlU3RhdGVzLmlkbCAqLywK
QEAgLTE1MTY5LDcgKzE1MTczLDYgQEAKIAkJCQkwNzAzMjdGNzE3RUE0QUFGMDBDRTEzMTggLyog
TmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovLAogCQkJCTA3MjIxQjVEMTdDRUMzMjcwMDg0
OEU1MSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovLAogCQkJCTA3MjIxQjVFMTdDRUMz
MjcwMDg0OEU1MSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5pZGwgKi8sCi0JCQkJNUUyQzQz
NEMxQkNFRTJFNTAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAgKi8sCiAJCQkJ
NUUyQzQzNEQxQkNFRTJFNTAwMDFFMkJDIC8qIFBlZXJDb25uZWN0aW9uQmFja2VuZC5oICovLAog
CQkJCTVFMkM0MzRFMUJDRUUyRTUwMDAxRTJCQyAvKiBQZWVyQ29ubmVjdGlvblN0YXRlcy5oICov
LAogCQkJCTVFMkM0MzRGMUJDRUUyRTUwMDAxRTJCQyAvKiBSVENDb25maWd1cmF0aW9uLmNwcCAq
LywKQEAgLTI1NjA5LDYgKzI1NjEyLDcgQEAKIAkJCQk2NTg0MzY4NjBBRTAxQjc0MDBFNTM3NTMg
LyogRnJhbWVMb2FkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjI4RDIxNEUxMjEzMUVG
NDAwNTVEQ0ZDIC8qIEZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzMzA5RTBFMDk5RTY0OTIwMDU2RTU4MSAvKiBGcmFtZVNlbGVjdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNUUxNkEyRTQxQkZBNjUwQjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29u
bmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzRDRDYyOUIxODM4Mzc2NjAwN0VCQUYxIC8q
IEZyYW1lU25hcHNob3R0aW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUEyMTQ4NTA5N0EzRjUz
MDBCOTA1MEEgLyogRnJhbWVUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUNCRkVGQTA5NzRG
NjA3MDAxREFDMjUgLyogRnJhbWVWaWV3LmggaW4gSGVhZGVycyAqLywKQEAgLTMwNjU4LDYgKzMw
NjYyLDcgQEAKIAkJCQk4NTAzMUI0QjBBNDRFRkM3MDBGOTkyRTAgLyogUmVnaXN0ZXJlZEV2ZW50
TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RGQzM2MDUxOENBNjFDMjAwMjZFNTZG
IC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREZDMzYw
NzE4Q0E2OTZDMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJNUUxNkEyRTUxQkZBNjUwRjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVy
Q29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOUUwMDA5OUU2NDkyMDA1NkU1
ODEgLyogUmVtb3ZlQ1NTUHJvcGVydHlDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQw
NkMwRDkwMENGRDExNDYwMDY1RjQzRiAvKiBSZW1vdmVGb3JtYXRDb21tYW5kLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzMzA5RTA0MDk5RTY0OTIwMDU2RTU4MSAvKiBSZW1vdmVOb2RlQ29tbWFu
ZC5jcHAgaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265894</attachid>
            <date>2015-11-19 13:23:11 -0800</date>
            <delta_ts>2015-11-19 20:51:23 -0800</delta_ts>
            <desc>Patch failing tests</desc>
            <filename>fix-pc-getstats_0.patch</filename>
            <type>text/plain</type>
            <size>6295</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyN2E4MjY2Li43OGIwMzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMTEt
MTkgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAg
ICAgIFdlYlJUQzogSW5pdGlhbCB0ZXN0aW5nIG9mIHVwZGF0ZWQgUlRDUGVlckNvbm5lY3Rpb24g
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEz
MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNr
aXAgdHdvIHByZXZpb3VzbHkgY3Jhc2hpbmcgdGVzdHMuCisgICAgICAgIGZhc3QvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLmh0bWwKKyAgICAgICAg
ZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vdmVybG9hZGVkLW9wZXJhdGlvbnMt
cGFyYW1zLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxNS0xMS0x
OSAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBNYXJraW5n
IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvd29ya2Vycy9tZXRob2RzLWFzeW5jLmh0bWwgYXMg
Zmxha3kgb24gWW9zZW1pdGUgV0syCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggZDFiZWVhOS4uYjlhMGI1YSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTY3LDYgKzU2NywzIEBAIGlt
cG9ydGVkL2JsaW5rL2Zhc3QvdHJhbnNmb3Jtcy90cmFuc2Zvcm0tdXBkYXRlLWZyYW1lLW92ZXJm
bG93Lmh0bWwgWyBQYXNzIEltYWdlCiBpbXBvcnRlZC9ibGluay9mYXN0L211bHRpY29sL3ZlcnRp
Y2FsLXJsL2Zsb2F0LWJpZy1saW5lLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvYmxpbmsvZmFzdC9tdWx0aWNvbC9zcGFuL2FkamFjZW50LXNwYW5uZXJzLXdpdGgtbWFy
Z2luLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvYmxpbmsvZmFzdC9v
dmVyZmxvdy9oaWRkZW4taHRtbC1hdXRvLWJvZHkuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi0KLXdlYmtpdC5vcmcvYi8xNTEzMDQgWyBEZWJ1ZyBdIGZhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24tb3ZlcmxvYWRlZC1vcGVyYXRpb25zLXBhcmFtcy5odG1sIFsgUGFzcyBD
cmFzaCBdCi13ZWJraXQub3JnL2IvMTUxMzA0IFsgRGVidWcgXSBmYXN0L21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLW92ZXJsb2FkZWQtb3BlcmF0aW9ucy5odG1sIFsgUGFzcyBDcmFzaCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQwZjE0N2Qu
LjQzZDk2YTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xODUsOCArMTg1LDYgQEAgZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1oYXZl
LXJlbW90ZS1wcmFuc3dlci5odG1sCiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LWljZS5odG1sCiBmYXN0L21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLWxvY2FsRGVzY3Jp
cHRpb24uaHRtbAogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi1vbm5lZ290aWF0
aW9ubmVlZGVkLmh0bWwKLWZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24tb3Zlcmxv
YWRlZC1vcGVyYXRpb25zLmh0bWwKLWZhc3QvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24t
b3ZlcmxvYWRlZC1vcGVyYXRpb25zLXBhcmFtcy5odG1sCiBmYXN0L21lZGlhc3RyZWFtL1JUQ1Bl
ZXJDb25uZWN0aW9uLXJlbW90ZURlc2NyaXB0aW9uLmh0bWwKIGZhc3QvbWVkaWFzdHJlYW0vUlRD
UGVlckNvbm5lY3Rpb24tc3RhdHMuaHRtbAogZmFzdC9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVj
dGlvbi1zdGF0c1NlbGVjdG9yLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmMGU2NGJhLi4yZjE2OTQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTUtMTEtMTkgIEFkYW0gQmVyZ2t2aXN0ICA8
YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24uY29tPgorCisgICAgICAgIFdlYlJUQzogSW5pdGlhbCB0
ZXN0aW5nIG9mIHVwZGF0ZWQgUlRDUGVlckNvbm5lY3Rpb24gQVBJCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEzMDQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgZmF1bHR5IEFTU0VSVCBzaW5j
ZSB0aGUgc2VsZWN0b3IgYXJndW1lbnQgdG8KKyAgICAgICAgUlRDUGVlckNvbm5lY3Rpb24uZ2V0
U3RhdHMoKSBpcyBudWxsYWJsZS4gQWxzbyB1c2UKKyAgICAgICAgcG9pbnRlcnMgaW5zdGVhZCBv
ZiBhIHJlZiAoZm9yIHRoZSBzYW1lIHJlYXNvbikuCisKKyAgICAgICAgVGVzdHM6IFVuc2tpcCB0
d28gY3Jhc2hpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
RW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuZHBv
aW50UGVlckNvbm5lY3Rpb246OmdldFN0YXRzKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENQZWVy
Q29ubmVjdGlvbjo6cHJpdmF0ZUdldFN0YXRzKToKKwogMjAxNS0xMS0xOSAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTW9kZXJuIElEQjogSURCT2JqZWN0U3Rv
cmUuZGVsZXRlSW5kZXgoKSBzdXBwb3J0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24u
Y3BwCmluZGV4IDQxMTc5OWEuLmVhMjVlYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbi5jcHAKQEAgLTE0Niw3ICsxNDYsNyBAQCB2b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVj
dGlvbjo6YWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSYgcnRjQ2FuZGlkYXRlLAogICAg
IHByb21pc2UucmVqZWN0KERPTUVycm9yOjpjcmVhdGUoIk5vdFN1cHBvcnRlZEVycm9yIikpOwog
fQogCi12b2lkIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbjo6Z2V0U3RhdHMoTWVkaWFTdHJl
YW1UcmFjayYsIFBlZXJDb25uZWN0aW9uOjpTdGF0c1Byb21pc2UmJiBwcm9taXNlKQordm9pZCBN
ZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb246OmdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2sqLCBQ
ZWVyQ29ubmVjdGlvbjo6U3RhdHNQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaAppbmRleCA3ZDEyMTg5Li40
MGNlNjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmgKQEAgLTYyLDcgKzYyLDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0Q29uZmlndXJhdGlvbihSVENDb25maWd1cmF0aW9uJikg
b3ZlcnJpZGU7CiAgICAgdm9pZCBhZGRJY2VDYW5kaWRhdGUoUlRDSWNlQ2FuZGlkYXRlJiwgUGVl
ckNvbm5lY3Rpb246OlZvaWRQcm9taXNlJiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBnZXRTdGF0
cyhNZWRpYVN0cmVhbVRyYWNrJiwgUGVlckNvbm5lY3Rpb246OlN0YXRzUHJvbWlzZSYmKSBvdmVy
cmlkZTsKKyAgICB2b2lkIGdldFN0YXRzKE1lZGlhU3RyZWFtVHJhY2sqLCBQZWVyQ29ubmVjdGlv
bjo6U3RhdHNQcm9taXNlJiYpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNv
bm5lY3Rpb25CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Bl
ZXJDb25uZWN0aW9uQmFja2VuZC5oCmluZGV4IGU5NDU2YTYuLmI5NWJkMjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlv
bkJhY2tlbmQuaApAQCAtOTksNyArOTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNl
dENvbmZpZ3VyYXRpb24oUlRDQ29uZmlndXJhdGlvbiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
YWRkSWNlQ2FuZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSYsIFBlZXJDb25uZWN0aW9uOjpWb2lkUHJv
bWlzZSYmKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0U3RhdHMoTWVkaWFTdHJlYW1UcmFj
ayYsIFBlZXJDb25uZWN0aW9uOjpTdGF0c1Byb21pc2UmJikgPSAwOworICAgIHZpcnR1YWwgdm9p
ZCBnZXRTdGF0cyhNZWRpYVN0cmVhbVRyYWNrKiwgUGVlckNvbm5lY3Rpb246OlN0YXRzUHJvbWlz
ZSYmKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCgpID0gMDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNw
cAppbmRleCA4YjM0ZDVhLi4xY2M2NmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcApAQCAtMzU3LDggKzM1
Nyw3IEBAIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246OnNldENvbmZpZ3VyYXRpb24oY29uc3QgRGlj
dGlvbmFyeSYgY29uZmlndXJhdGlvbiwgRXhjZXB0CiAKIHZvaWQgUlRDUGVlckNvbm5lY3Rpb246
OnByaXZhdGVHZXRTdGF0cyhNZWRpYVN0cmVhbVRyYWNrKiBzZWxlY3RvciwgUGVlckNvbm5lY3Rp
b246OlN0YXRzUHJvbWlzZSYmIHByb21pc2UpCiB7Ci0gICAgQVNTRVJUKHNlbGVjdG9yKTsKLSAg
ICBtX2JhY2tlbmQtPmdldFN0YXRzKCpzZWxlY3RvciwgV1RGOjptb3ZlKHByb21pc2UpKTsKKyAg
ICBtX2JhY2tlbmQtPmdldFN0YXRzKHNlbGVjdG9yLCBXVEY6Om1vdmUocHJvbWlzZSkpOwogfQog
CiB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjpwcml2YXRlR2V0U3RhdHMoUGVlckNvbm5lY3Rpb246
OlN0YXRzUHJvbWlzZSYmIHByb21pc2UpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>